X-Git-Url: http://git.nikiroo.be/?p=jvcard.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Fjvcard%2Ftui%2FStringUtils.java;h=382922605260260c8f4998da741757d277ba9f4d;hp=3f5d22b2eb283a6a6fa43253affe3b0410408ee0;hb=adf9c44949504512002cff293641225b31ec568a;hpb=e741845793d462cdb06f27423fa761bb5b8ebd6b diff --git a/src/be/nikiroo/jvcard/tui/StringUtils.java b/src/be/nikiroo/jvcard/tui/StringUtils.java index 3f5d22b..3829226 100644 --- a/src/be/nikiroo/jvcard/tui/StringUtils.java +++ b/src/be/nikiroo/jvcard/tui/StringUtils.java @@ -9,7 +9,6 @@ import com.googlecode.lanterna.gui2.LinearLayout.Alignment; public class StringUtils { static private Pattern marks = Pattern .compile("[\\p{InCombiningDiacriticalMarks}\\p{IsLm}\\p{IsSk}]+"); - static private Pattern notAscii = Pattern.compile("[^\\p{ASCII}]+"); /** * Fix the size of the given {@link String} either with space-padding or by @@ -122,7 +121,16 @@ public class StringUtils { input = Normalizer.normalize(input, Form.NFKC); if (!allowUnicode) { - input = notAscii.matcher(input).replaceAll(""); + StringBuilder builder = new StringBuilder(); + for (int index = 0; index < input.length(); index++) { + char car = input.charAt(index); + // displayable chars in ASCII are in the range 32<->255, + // except DEL (127) + if (car >= 32 && car <= 255 && car != 127) { + builder.append(car); + } + } + input = builder.toString(); } return input;