Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Refactor duplicate diacritics removal functionality

AuthorDaveJarvis <email>
Date2023-01-28 14:21:24 GMT-0800
Commit166563d35f73bff94a148e7f4f4770bfd90bb515
Parent7dd7419
Delta22 lines added, 0 lines removed, 22-line increase
src/main/java/com/keenwrite/util/Diacritics.java
+/* Copyright 2023 White Magic Software, Ltd. -- All rights reserved. */
+package com.keenwrite.util;
+
+import static java.text.Normalizer.Form.NFD;
+import static java.text.Normalizer.normalize;
+
+/**
+ * Responsible for modifying diacritics.
+ */
+public class Diacritics {
+ private static final String UNCRITIC = "\\p{M}+";
+
+ /**
+ * Returns the value of the string without diacritic marks.
+ *
+ * @param text The text to normalize.
+ * @return A non-null, possibly empty string.
+ */
+ public static String remove( final String text ) {
+ return normalize( text, NFD ).replaceAll( UNCRITIC, "" );
+ }
+}