Стратегия разделения по умолчанию заключается в поиске пробельных символов и других символов, на которые обычно разбивается текст (например, дефис -
). В вашем случае слова не имеют таких символов. Вы уже сделали полшага к настройке разделенных символов для своего текста, определив свойство SPLIT_CHARACTERS
, но недостающая часть выполняет пользовательскую реализацию ISplitCharacters
. Пример реализации, который также допускает подчеркивание (_
) в виде разделенных символов:
private static class CustomSplitCharacters extends DefaultSplitCharacters {
@Override
public boolean isSplitCharacter(GlyphLine text, int glyphPos) {
if (!text.get(glyphPos).hasValidUnicode()) {
return false;
}
boolean baseResult = super.isSplitCharacter(text, glyphPos);
boolean myResult = false;
Glyph glyph = text.get(glyphPos);
if (glyph.getUnicode() == '_') {
myResult = true;
}
return myResult || baseResult;
}
}
Чтобы включить его, просто установите новый экземпляр вместо свойства по умолчанию для свойства SPLIT_CHARACTERS
:
p6.setProperty(Property.SPLIT_CHARACTERS, new CustomSplitCharacters());
Визуальный результат: