Refine search
if (chars.isNull()) { setChars(spanningChars); } else { int start = Utils.min(chars.getStartOffset(), spanningChars.getStartOffset()); int end = Utils.max(chars.getEndOffset(), spanningChars.getEndOffset()); setChars(chars.baseSubSequence(start, end));
public DocxLinkResolver(final LinkResolverContext context) { // can use context for custom settings // context.getDocument(); // context.getHtmlOptions(); String docRelativeURL = DocxRenderer.DOC_RELATIVE_URL.getFrom(context.getOptions()); if (docRelativeURL != null) { docRelativeURL = Utils.removeStart(docRelativeURL, '/'); } String docRootURL = DocxRenderer.DOC_ROOT_URL.getFrom(context.getOptions()); if (docRootURL != null) { docRootURL = Utils.removeStart(docRootURL, '/'); } this.docRelativeURL = docRelativeURL; this.docRootURL = docRootURL; relativeParts = docRelativeURL.split("/"); prefixWwwLinks = DocxRenderer.PREFIX_WWW_LINKS.getFrom(context.getOptions()); }
public static String wrapWith(String receiver, String prefix, String suffix) { return (receiver == null || receiver.isEmpty()) ? "" : prefixWith(prefix, suffixWith(receiver, suffix)); }
public static java.awt.Color mixedColor(java.awt.Color originalColor, java.awt.Color overlayColor) { final float[] hsbColor = java.awt.Color.RGBtoHSB(originalColor.getRed(), originalColor.getGreen(), originalColor.getBlue(), new float[3]); final float[] hsbError = java.awt.Color.RGBtoHSB(overlayColor.getRed(), overlayColor.getGreen(), overlayColor.getBlue(), new float[3]); final float[] hsbMixed = new float[3]; // kotlin code //hsbMixed[0] = hsbError[0] //hsbMixed[1] = hsbColor[1].rangeLimit(hsbError[1].max(0.3f).min(0.5f), 1.0f) //hsbMixed[2] = hsbColor[2].rangeLimit(hsbError[2].max(0.3f).min(0.5f), 1.0f) //return Color.getHSBColor(hsbMixed[0], hsbMixed[1], hsbMixed[2]) // incorrect translation from kotlin //hsbMixed[0] = hsbError[0]; //hsbMixed[1] = min(max(rangeLimit(hsbColor[1], hsbError[1], 0.3f), 0.5f), 1.0f); //hsbMixed[2] = min(max(rangeLimit(hsbColor[2], hsbError[2], 0.3f), 0.5f), 1.0f); //return java.awt.Color.getHSBColor(hsbMixed[0], hsbMixed[1], hsbMixed[2]); hsbMixed[0] = hsbError[0]; hsbMixed[1] = rangeLimit(hsbColor[1], min(max(hsbError[1], 0.3f), 0.5f), 1.0f); hsbMixed[2] = rangeLimit(hsbColor[2], min(max(hsbError[2], 0.3f), 0.5f), 1.0f); return java.awt.Color.getHSBColor(hsbMixed[0], hsbMixed[1], hsbMixed[2]); } }
int colonCount = alignment1 == CellAlignment.LEFT || alignment1 == CellAlignment.RIGHT ? 1 : alignment1 == CellAlignment.CENTER ? 2 : 0; int dashCount = (columnWidths[j] - colonCount * options.colonWidth - options.pipeWidth) / options.dashWidth; int dashesOnly = Utils.minLimit(dashCount, options.minSeparatorColumnWidth - colonCount, options.minSeparatorDashes); if (dashCount < dashesOnly) dashCount = dashesOnly; trackedPos = cell == null ? NOT_TRACKED : minLimit(cell.trackedTextOffset, 0); boolean beforeFirstColon = trackedPos == 0 && cell.text.charAt(trackedPos) == ':'; boolean afterFirstColon = trackedPos == 1 && cell.text.charAt(trackedPos - 1) == ':'; boolean beforeLastColon = trackedPos == cell.text.length() - 1 && cell.text.charAt(trackedPos) == ':'; boolean afterLastColon = trackedPos == cell.text.length() && cell.text.charAt(trackedPos - 1) == ':'; boolean afterLastDash = trackedPos == cell.text.length() && cell.text.charAt(trackedPos - 1) == '-'; captionCell = captionCell.withText(captionCell.text.trim()); if (cell.trackedTextOffset != NOT_TRACKED) { captionCell = captionCell.withTrackedOffset(minLimit(cell.trackedTextOffset - cell.text.trimmedStart().length(), 0)); TableCell adjustedCell = row.cells.get(0); if (adjustedCell.trackedTextOffset != NOT_TRACKED) { trackedOffsets.put(cell.trackedTextOffset + cell.text.getStartOffset(), cellOffset + (cellText.isBlank() ? 1 : minLimit(adjustedCell.trackedTextOffset, 0) + adjustedCell.trackedTextAdjust));
markdown.append(node.getOpeningMarker()); boolean spaceAfterAtx = formatterOptions.spaceAfterAtxMarker == ADD || formatterOptions.spaceAfterAtxMarker == AS_IS && node.getOpeningMarker().getEndOffset() < node.getText().getStartOffset(); if (node.getOpeningMarker().isNull()) break; markdown.repeat(node.getClosingMarker().charAt(0), Utils.minLimit(markdown.offset() - ref.value, formatterOptions.minSetextMarkerLength)); } else { markdown.append(node.getClosingMarker());
public int getLineNumber(int offset) { if (lineSegments == EMPTY_LIST) { BasedSequence preText = getChars().baseSubSequence(0, Utils.maxLimit(offset, getChars().length())); if (preText.isEmpty()) return 0; int lineNumber = 0; int nextLineEnd = preText.endOfLineAnyEOL(0); final int length = preText.length(); while (nextLineEnd < length) { lineNumber++; nextLineEnd = preText.endOfLineAnyEOL(nextLineEnd + 1); } return lineNumber; } else { final int iMax = lineSegments.size(); for (int i = 0; i < iMax; i++) { if (offset < lineSegments.get(i).getEndOffset()) { return i; } } return iMax; } }
@Override public BasedSequence intersect(BasedSequence other) { if (getBase() != other.getBase()) return SubSequence.NULL; else if (other.getEndOffset() <= getStartOffset()) return subSequence(0, 0); else if (other.getStartOffset() >= getEndOffset()) return subSequence(length(), length()); else return this.baseSubSequence(Utils.max(getStartOffset(), other.getStartOffset()), Utils.min(getEndOffset(), other.getEndOffset())); }
TableCell adjustedCell = cell; BasedSequence text = cell.text; boolean needsPadding = cell.trackedTextOffset != NOT_TRACKED && cell.trackedTextOffset >= cell.text.length(); int suffixed = 0; boolean neededPrefix = false; if (cell.trackedTextOffset > cell.text.length()) { suffixed = cell.trackedTextOffset - cell.text.length() - 1; text = text.append(RepeatedCharSequence.of(' ', suffixed)); } else if (cell.trackedTextOffset < 0) { adjustedCell = cell.withTrackedOffset(maxLimit(text.length(), cell.trackedTextOffset + spaceCount)); adjustedCell = cell.withTrackedOffset(maxLimit(text.length(), cell.trackedTextOffset + count));
String combinedSource = sourcePrefix + Utils.suffixWith(parseSource, "\n") + sourceSuffix; input = BasedSequenceImpl.of(combinedSource).subSequence(sourcePrefix.length(), combinedSource.length() - sourceSuffix.length()); } else { input = BasedSequenceImpl.of(parseSource);
int colonCount = alignment1 == CellAlignment.LEFT || alignment1 == CellAlignment.RIGHT ? 1 : alignment1 == CellAlignment.CENTER ? 2 : 0; int dashCount = 0; int dashesOnly = Utils.minLimit(dashCount, options.minSeparatorColumnWidth - colonCount, options.minSeparatorDashes); if (dashCount < dashesOnly) dashCount = dashesOnly; int width = dashCount * options.dashWidth + colonCount * options.colonWidth + options.pipeWidth; CellAlignment alignment = adjustCellAlignment(cell.alignment); int colonCount = alignment == CellAlignment.LEFT || alignment == CellAlignment.RIGHT ? 1 : alignment == CellAlignment.CENTER ? 2 : 0; BasedSequence trim = cell.text.trim(colonTrimChars); int dashCount = trim.length(); int dashesOnly = Utils.minLimit(dashCount, options.minSeparatorColumnWidth - colonCount, options.minSeparatorDashes); if (dashCount < dashesOnly) dashCount = dashesOnly; int width = dashCount * options.dashWidth + colonCount * options.colonWidth + options.pipeWidth;
if (node.getParent() instanceof ListItem) { BasedSequence marker = ((ListItem) node.getParent()).getOpeningMarker(); prefix = RepeatedCharSequence.of(" ", Utils.minLimit(8 - marker.length() - 1, 4)).toString(); int i = 0; for (BasedSequence line : lines) { leadColumns[i] = line.countLeadingColumns(0, " \t"); minSpaces = Utils.min(minSpaces, leadColumns[i]); i++; markdown.append(line.trimStart()); i++;
@Override public void run() { setBlockFormatProvider(new FencedCodeBlockFormatProvider<T>(DocxContextImpl.this)); createP(); int[] leadColumns = new int[lines.size()]; int minSpaces = Integer.MAX_VALUE; int i = 0; for (CharSequence line : lines) { leadColumns[i] = BasedSequenceImpl.of(line).countLeadingColumns(0, " \t"); minSpaces = Utils.min(minSpaces, leadColumns[i]); i++; } ArrayList<BasedSequence> trimmedLines = new ArrayList<BasedSequence>(); i = 0; for (CharSequence line : lines) { StringBuilder sb = new StringBuilder(); int spaces = leadColumns[i] - minSpaces; while (spaces-- > 0) sb.append(' '); sb.append(BasedSequenceImpl.of(line).trim()); // Create object for p text(sb.toString()); i++; if (i < lines.size()) { addLineBreak(); } } } });
int i = 0; for (BasedSequence line : lines) { leadColumns[i] = line.countLeadingColumns(0, " \t"); minSpaces = Utils.min(minSpaces, leadColumns[i]); i++; markdown.append(line.trimStart()); i++;
BasedSequence[] levelsOptionValue = optionText.split(','); final ParserParams parserParams = new ParserParams(); BasedSequence[] optionRange = option.split('-', 2, BasedSequence.SPLIT_TRIM_PARTS); int wasStart = rangeStart; int wasEnd = rangeEnd; rangeStart = Utils.minLimit(rangeStart, 1); rangeEnd = Utils.maxLimit(rangeEnd, 6); if (wasStart != rangeStart || wasEnd != rangeEnd) { parserParams.add(new ParserMessage(option, ParsedOptionStatus.WEAK_WARNING, finalProvider.message(KEY_OPTION_0_VALUE_1_TRUNCATED_TO_RANGE_2, OPTION_0_VALUE_1_TRUNCATED_TO_RANGE_2, myOptionName, option, rangeStart + ", " + rangeEnd)));
public static float maxLimit(float receiver, float... maxBound) { return min(receiver, maxBound); }