Javaã§åè§ã«ãâå ¨è§ã«ã夿ããå ´åã®ãã¹ããã©ã¯ãã£ã¹ã«ã¤ãã¦
Javaã§åè§ã«ãæ··ããã®æååãå ¨è§ã«ãã«å¤æããæ¹æ³ã調ã¹ãã¨ãJava6以éã ã¨ä¸è¨ã®ããã«Normalizer.normalizeãå©ç¨ããã¨ããæ¹æ³ã使ããããã¨ãå¤ãã¨æãã¾ãã
Normalizer.normalize("ããã¯ï¾ï½½ï¾ï¾ï¾ï½½", Normalizer.Form.NFKC);
çµæï¼
ããã¯ãã¹ããã¹
ãããã£ã¦å®è£
ãã¦ããã®ã§ãããå
¨è§æ³¢ç·ããããåè§ãã«ãã«ãªã£ã¦ãã¾ãã¨ããåé¡ãåºã¾ããã
調ã¹ã¦ã¿ãã¨ããã®normalizeãåè§ã«ãâå ¨è§ã«ã夿ã«ä½¿ãã¨ãæå³ãã¦ããªãå ¨è§æ³¢ç·ï¼æ³¢ããã·ã¥ï¼ãå ¨è§ãã¤ãã³ãåè§ã«å¤æããã¦ãã¾ãã¨ãããã¨ããããã¾ããã
Normalizer.normalize("コï¾ï¾ã¼ï¾ï½½ï¾ï¾ï¾ï½½ã", Normalizer.Form.NFKC);
çµæï¼
ã³ã¬ã-ãã¹ããã¹~
å®ã¯åè§ã«ãã ãã§ãªããä¸è¨ãã¼ã¸ã®ãNFKCãã¨æ¸ãã¦ãããã®ã«å
¨ã¦å¤æããã¦ãã¾ãã®ã§ãã
Unicodeæ£è¦å
http://homepage1.nifty.com/nomenclator/unicode/normalization.htm
ãNFKCãã¯ãåã«åè§ã«ãâå ¨è§ã«ã夿ããããã®ã¨ããããã§ã¯ãªããUnicodeã®ãCompositionãã¨ãCompatibilityãã®å¤æããããã®ãªã®ã§ããããªãããã§ããã
ä»ã«ããï¼ãã ã¨ããèãï¼U+FA19ï¼ã ã¨ããæãã§ãªããã®ã¾ã§å¤æããã¦ãã¾ããã¨ããããã¾ãã
ããã¦Normalizerã®ããã¥ã¢ã«è¦ãã¨ãåè§ã«ãã ãã夿ãããããªãä»ã®å¤æç¨®ã®ãã©ã¡ã¼ã¿ã¯åå¨ãã¾ããã
Normalizer (Java Platform SE 6)
http://docs.oracle.com/javase/jp/6/api/java/text/Normalizer.html
ãªã®ã§ãJavaã§åè§ã«ãâå
¨è§ã«ã夿ãã ãããè¡ããæ¹æ³ãæ¢ãã¦ã¿ã¾ããã
ããããæåç¨®å¤æã§ãã使ãããICU4Jã¨ããã©ã¤ãã©ãªãããã®ã§ãããåè§ã«ãã ãã対象ã¨ãã夿ã¯ç¡ãããã§ããã
ICU - International Components for Unicode
http://site.icu-project.org/
ã¨ãããã¨ã§çµå±ããã¡ãã®ãã¼ã¸ãåèã«ããã¦ããã ãã¦ãåè§å ¨è§ã®ãããã³ã°ãã¼ãã«ãã夿ãã颿°ãä½ãã¨ãããã©ãã ãã®äººãè»è¼ªãåçºæãããã ããâ¦ã¿ãããªè§£æ±ºæ³ã¨ãªãã¾ããã
æååå¦ç
http://pgcafe.moo.jp/JAVA/string/main_1.htm
ããããå ´åã®ãä»ã«ãã£ã¨è¯ãæ¹æ³ããã°æãã¦ãã ããã
ï¼é¢é£ï¼
UploadPackã§Macããæ¿ç¹ãªã©ã®ã¤ãããã¡ã¤ã«ãFirefoxããã¢ãããã¼ããããã¨æååããã - ã¢ã¼ã°ã«ã¨ã«ãã¨ãã¦ãã¼ã®æ¥è¨
http://d.hatena.ne.jp/stealthinu/20140702/p1