v3.0.0: added support for using '**' to highlight, like in markdown
This commit is contained in:
@@ -286,19 +286,19 @@ public class AndroidPlatformSupport extends PlatformSupport {
|
||||
return basicFontGenerator;
|
||||
}
|
||||
}
|
||||
|
||||
//splits on newlines, underscores, and chinese/japaneses characters
|
||||
|
||||
//splits on newline (for layout), chinese/japanese (for font choice), and '_'/'**' (for highlighting)
|
||||
private Pattern regularsplitter = Pattern.compile(
|
||||
"(?<=\n)|(?=\n)|(?<=_)|(?=_)|" +
|
||||
"(?<=\n)|(?=\n)|(?<=_)|(?=_)|(?<=\\*\\*)|(?=\\*\\*)|" +
|
||||
"(?<=\\p{InHiragana})|(?=\\p{InHiragana})|" +
|
||||
"(?<=\\p{InKatakana})|(?=\\p{InKatakana})|" +
|
||||
"(?<=\\p{InCJK_Unified_Ideographs})|(?=\\p{InCJK_Unified_Ideographs})|" +
|
||||
"(?<=\\p{InCJK_Symbols_and_Punctuation})|(?=\\p{InCJK_Symbols_and_Punctuation})|" +
|
||||
"(?<=\\p{InHalfwidth_and_Fullwidth_Forms})|(?=\\p{InHalfwidth_and_Fullwidth_Forms})");
|
||||
|
||||
//additionally splits on words, so that each word can be arranged individually
|
||||
|
||||
//additionally splits on spaces, so that each word can be laid out individually
|
||||
private Pattern regularsplitterMultiline = Pattern.compile(
|
||||
"(?<= )|(?= )|(?<=\n)|(?=\n)|(?<=_)|(?=_)|" +
|
||||
"(?<= )|(?= )|(?<=\n)|(?=\n)|(?<=_)|(?=_)|(?<=\\*\\*)|(?=\\*\\*)|" +
|
||||
"(?<=\\p{InHiragana})|(?=\\p{InHiragana})|" +
|
||||
"(?<=\\p{InKatakana})|(?=\\p{InKatakana})|" +
|
||||
"(?<=\\p{InCJK_Unified_Ideographs})|(?=\\p{InCJK_Unified_Ideographs})|" +
|
||||
@@ -307,7 +307,7 @@ public class AndroidPlatformSupport extends PlatformSupport {
|
||||
|
||||
//splits on each non-hangul character. Needed for weird android 6.0 font files
|
||||
private Pattern android6KRSplitter = Pattern.compile(
|
||||
"(?<= )|(?= )|(?<=\n)|(?=\n)|(?<=_)|(?=_)|" +
|
||||
"(?<= )|(?= )|(?<=\n)|(?=\n)|(?<=_)|(?=_)|(?<=\\*\\*)|(?=\\*\\*)|" +
|
||||
"(?!\\p{InHangul_Syllables})|(?<!\\p{InHangul_Syllables})");
|
||||
|
||||
@Override
|
||||
|
||||
@@ -116,8 +116,10 @@ public class RenderedTextBlock extends Component {
|
||||
words = new ArrayList<>();
|
||||
boolean highlighting = false;
|
||||
for (String str : tokens){
|
||||
|
||||
if (str.equals("_") && highlightingEnabled){
|
||||
|
||||
//if highlighting is enabled, '_' or '**' is used to toggle highlighting on or off
|
||||
// the actual symbols are not rendered
|
||||
if ((str.equals("_") || str.equals("**")) && highlightingEnabled){
|
||||
highlighting = !highlighting;
|
||||
} else if (str.equals("\n")){
|
||||
words.add(NEWLINE);
|
||||
|
||||
@@ -149,17 +149,17 @@ public class DesktopPlatformSupport extends PlatformSupport {
|
||||
}
|
||||
}
|
||||
|
||||
//splits on newlines, underscores, and chinese/japaneses characters
|
||||
//splits on newline (for layout), chinese/japanese (for font choice), and '_'/'**' (for highlighting)
|
||||
private Pattern regularsplitter = Pattern.compile(
|
||||
"(?<=\n)|(?=\n)|(?<=_)|(?=_)|" +
|
||||
"(?<=\n)|(?=\n)|(?<=_)|(?=_)|(?<=\\*\\*)|(?=\\*\\*)|" +
|
||||
"(?<=\\p{InHiragana})|(?=\\p{InHiragana})|" +
|
||||
"(?<=\\p{InKatakana})|(?=\\p{InKatakana})|" +
|
||||
"(?<=\\p{InCJK_Unified_Ideographs})|(?=\\p{InCJK_Unified_Ideographs})|" +
|
||||
"(?<=\\p{InCJK_Symbols_and_Punctuation})|(?=\\p{InCJK_Symbols_and_Punctuation})");
|
||||
|
||||
//additionally splits on words, so that each word can be arranged individually
|
||||
//additionally splits on spaces, so that each word can be laid out individually
|
||||
private Pattern regularsplitterMultiline = Pattern.compile(
|
||||
"(?<= )|(?= )|(?<=\n)|(?=\n)|(?<=_)|(?=_)|" +
|
||||
"(?<= )|(?= )|(?<=\n)|(?=\n)|(?<=_)|(?=_)|(?<=\\*\\*)|(?=\\*\\*)|" +
|
||||
"(?<=\\p{InHiragana})|(?=\\p{InHiragana})|" +
|
||||
"(?<=\\p{InKatakana})|(?=\\p{InKatakana})|" +
|
||||
"(?<=\\p{InCJK_Unified_Ideographs})|(?=\\p{InCJK_Unified_Ideographs})|" +
|
||||
|
||||
@@ -169,17 +169,17 @@ public class IOSPlatformSupport extends PlatformSupport {
|
||||
}
|
||||
}
|
||||
|
||||
//splits on newlines, underscores, and chinese/japaneses characters
|
||||
//splits on newline (for layout), chinese/japanese (for font choice), and '_'/'**' (for highlighting)
|
||||
private Pattern regularsplitter = Pattern.compile(
|
||||
"(?<=\n)|(?=\n)|(?<=_)|(?=_)|" +
|
||||
"(?<=\n)|(?=\n)|(?<=_)|(?=_)|(?<=\\*\\*)|(?=\\*\\*)|" +
|
||||
"(?<=\\p{InHiragana})|(?=\\p{InHiragana})|" +
|
||||
"(?<=\\p{InKatakana})|(?=\\p{InKatakana})|" +
|
||||
"(?<=\\p{InCJK_Unified_Ideographs})|(?=\\p{InCJK_Unified_Ideographs})|" +
|
||||
"(?<=\\p{InCJK_Symbols_and_Punctuation})|(?=\\p{InCJK_Symbols_and_Punctuation})");
|
||||
|
||||
//additionally splits on words, so that each word can be arranged individually
|
||||
//additionally splits on spaces, so that each word can be laid out individually
|
||||
private Pattern regularsplitterMultiline = Pattern.compile(
|
||||
"(?<= )|(?= )|(?<=\n)|(?=\n)|(?<=_)|(?=_)|" +
|
||||
"(?<= )|(?= )|(?<=\n)|(?=\n)|(?<=_)|(?=_)|(?<=\\*\\*)|(?=\\*\\*)|" +
|
||||
"(?<=\\p{InHiragana})|(?=\\p{InHiragana})|" +
|
||||
"(?<=\\p{InKatakana})|(?=\\p{InKatakana})|" +
|
||||
"(?<=\\p{InCJK_Unified_Ideographs})|(?=\\p{InCJK_Unified_Ideographs})|" +
|
||||
|
||||
Reference in New Issue
Block a user