日本語入力の落とし穴

501e65e32870561d73b1158370766664?s=47 mzp
February 03, 2018

 日本語入力の落とし穴

日本語を受け取るアプリケーションがおちいりがちな落とし穴について紹介する。以下の人に役立つ。

- テキスト入力をハンドリングするアプリケーションを作る人
- 日本語入力がうまくできないアプリケーションを修正したい人
- 独自の日本語入力を作りたい人

501e65e32870561d73b1158370766664?s=128

mzp

February 03, 2018
Tweet

Transcript

  1. ௱౬ᝈәդ̄ᕭ˾˭ሲ #VSJ,BJHJ ௱౬ᝈ̨ק˦צ̵̡ͫ;̈́ΐ͋ͻ·ˡ˟˷˙̠ˡ˷̀ᕭ˾˭ሲ́˺˙˼ ጲϰ˯̡ʸϿΛ̄Ϩ́ছቑ˺ʸ ❄͚͍̀͜әդ̨ͣ·͝;·̓˯̵̡ͫ;̈́ΐ͋ͻ·̨Ш̡Ϩ ❄௱౬ᝈәդˡ˛̔ˤ˽ˢ̀˙̵ͫ;̈́ΐ͋ͻ·̨ћ෥˭˵˙Ϩ ❄ဒᒭ̄௱౬ᝈәդ̨Ш̠˵˙Ϩ N[Q

  2. None
  3. ௱౬ᝈәդ

  4. " г˹˼˙̡௱౬ᝈәդ̅У ˽˯ˠ

  5. " г˹˼˙̡௱౬ᝈәդ̅У ˽˯ˠ .4Ȧ*.& NBD04̄௱౬ᝈәդ (PPHMF௱౬ᝈәդ "50, ˳̄϶ 04ඊ໳̄*.&

  6. " г˹˼˙̡௱౬ᝈәդ̅У ˽˯ˠ .4Ȧ*.& NBD04̄௱౬ᝈәդ (PPHMF௱౬ᝈәդ "50, ˳̄϶ 04ඊ໳̄*.&

  7. " г˹˼˙̡௱౬ᝈәդ̅У ˽˯ˠ .4Ȧ*.& NBD04̄௱౬ᝈәդ (PPHMF௱౬ᝈәդ "50, ˳̄϶ 04ඊ໳̄*.&

  8. " г˹˼˙̡௱౬ᝈәդ̅У ˽˯ˠ .4Ȧ*.& NBD04̄௱౬ᝈәդ (PPHMF௱౬ᝈәդ "50, ˳̄϶ 04ඊ໳̄*.&

  9. " г˹˼˙̡௱౬ᝈәդ̅У ˽˯ˠ .4Ȧ*.& NBD04̄௱౬ᝈәդ (PPHMF௱౬ᝈәդ "50, ˳̄϶ 04ඊ໳̄*.&

  10. ౦๺େֶڭतͷࠤ౻խ඙ࢯʹΑͬͯ։ൃ͞ΕͨγεςϜͰ͋ Γɺݱࡏ͸4,,0QFOMBCʹΑͬͯϝϯςφϯε͞Ε͍ͯΔʢུ ༷ʑͳϓϥοτϑΥʔϜͰಈ͘Α͏ʹ༗ࢤʹΑͬͯҠ২͞Εͯ ͓Γɺ8JOEPXT͔Β.BDɺ4$*.ͳͲͷϑϨʔϜϫʔΫͰα ϙʔτ͢Δ-JOVY͸໪࿦ͷ͜ͱɺ࠷Ռͯʹ͸"OESPJEͰಈ͘΋ ͷ·Ͱଘࡏ͢Δɻੌ͍ɺੌ͍ͧɺ4,,ɻ ུ  ඇৗʹಠಛͳม׵ํ๏Ͱ͋Δ͕ͨΊɺҰ୴׳Εͯ͠·͏ͱ4,,Ҏ֎ ͷ೔ຊޠೖྗγεςϜ͸࢖͑ͳ͍ɺͬͯਓ΋ͳ͔ͳ͔ଟ͍ɻ

    EJDOJDPWJEFPKQBTLL 
 "RVB4,, NBD04  # 'MJDL4,, J04  VTFST JOTUBMMCBTF 

  11. әդ͵͑͗̄͝࿲෸ৡ ⌨ % & ˯̏˼̄̀ΐәդ ̨ק˦צ̡ ̷̹·̨̹͝ ଇ˵̀˙ Ӛّˡг˹˼̡
 ௱౬˽̅

  12. ƅшƅ

  13. '쏙쏽쎺쏵쎅ೖྗ ই ż Ƅ + = D K ࣈ฼

  14. None
  15. ༠ࠋәդ̄࿲෸ৡ

  16. None
  17. ˺̟˙᜸̨˭̔˯ ⚠

  18. ௱౬ᝈәդ̄ϵጷ̕ <>௱౬ᝈәդ̨஧˝̡ૌᚇȪݴ̥̠ፓ˦̡͇·ͨ͹ΐ͓˾ᜊᕯ̄΢Ⴊ I QHJIZPKQCPPLȦȦȦȦ ೖྗϝιου༻"1* ΞϓϦέʔγϣϯ Ωʔೖྗ ׽ࣈม׵Τϯδϯ<>

  19. ढط̀΢Ⴊ̄ࣈݙ) ȴ ˁᆰࠬ˯̡Շ̄௉ࠋԱ˂˾˙˛൙ৎˡ࡭ә˫̢̡ʸ ȴ ˁәդ͵͑͗͝႙̄̀ΐ˂˾˙˛൙ৎˡ࡭ә˫̢̡ʸ

  20. ˁ౪ᆰࠬ௉ࠋԱ˂̄࡭ә ȴ ˁәդˡᆰࠬ˯̡Շ̄௉ࠋԱ˂˾˙˛൙ৎ̅ʷәդ͵͑͗ ۙ͝౛̄ࠌ۬ ȴ Λ፳ˡ˺˙˼ᚐᇌ˫̢̡̚˺

  21. None
  22. ౪ᆰࠬ௉ࠋԱ̘Ͳΐ̵͂͗ͫ˫̢̡ɳ෱

  23. ౪ᆰࠬ௉ࠋԱˡທ༄˭˼˵ ћ෥ໃ

  24. None
  25. None
  26. ౪ᆰࠬ௉ࠋԱ ౪ᆰࠬ௉ࠋԱ ᆰࠬ௉ࠋԱ ̀ΐәդ ᆰࠬԘၓ Ἔ Ἔ ̞ˤ˗̡әդͩ΁ΐ ᆰࠬ௉ࠋԱ ̀ΐәդ

    Ἔ 1PXFS1PJOUˡ૆˝̀˙әդͩ΁ΐ
  27. ˁәդ͵͑͗͝႙̀ΐ˂̄࡭ә ̵ͫ;̈́ΐ͋ͻ·˾әդ͵ֶ͑͗̅͝᝖˭˼պШ˯̡ ȴˁ"˂̀ΐɳˁ˗˂ ȴˁֱᜁΏӚᜁ˂̀ΐɳәդ͵͑͗̄͝ခ੓ˡݴ̡̥ ȴˁ$USMȦ4˂ɳ̵ͫ;̈́ΐ͋ͻ·ˡԘၓ˯̡

  28. None
  29. ̀ΐәդ˫̢̡ ̷ͭ·ͣ͜·͝ͽˡ᠓պ˯̡ әդ͵͑͗́̀͝ΐәդ̷ͭ·̨͜໏˯ әդ͵͑͗͝ˡ͚͍̀͜әդ̨˭˵ܭ؃̅ʷ̘̀́˭̀˙ әդ͵͑͗͝ˡ͚͍̀͜әդ̨˭̀ˠ˹˵ܭ؃̅ʷဒᒭ́ Ԙၓ˯̡ ͚͍̀͜әդ˭̀˙ әդ͵͑͗͝ˡԘၓ˭˼̀˙

  30. ˠ̀̀ΐ әդ͵͑͗͝ J5FSN ̟̈ˡ̀әդͶΐ̎͝ Ԫ̠౗˝ Ԙၓ˯̡ˡУ̘˟ˢ̀˙ -̀ΐ ᔋࠋәդͶΐ̎͝ Ԫ̠౗˝ -ˡәդ˫̢̡

    ˙̡̥̜ˁ-̨ૣ˭˵̟-ˡәդ˫̢˵˂ٯ᫷
  31. ̀ΐәդ˫̢̡ ̷ͭ·ͣ͜·͝ͽˡ᠓պ˯̡ әդ͵͑͗́̀͝ΐәդ̷ͭ·̨͜໏˯ әդ͵͑͗͝ˡ̷ͭ·̨͜Ԙၓ˭˵ܭ؃̅ʷ̘̀́˭̀˙ әդ͵͑͗͝ˡ̷ͭ·̨͜Ԙၓ˭̀ˠ˹˵ܭ؃̅ʷဒᒭ́ Ԙၓ˯̡

  32. ͕ͥ͗Ͳΐ͌̎̄ᣲ̠̄ ȴ ̀ΐͣ·͝ͽ̅ཉપ֦ ȴ $USMȦ$̞̄˛̀Ֆ̠ᢪ̀̕ΐ̄ҿӍऺ̨˗˧˵˙Ϩ ȴ ̵͂͏·᜕͜׽˺ˢ̄௉ࠋ̨˙̢˵˙̷͘͝ᝈ᜸ᐋ ȴ әդ͵͑͗́͝ࡠে˭˵˙௱Ϊ᫑ւ ȴ

    "QQMF̄̀͝͹͵·͜ˡ˗˙̔˙ ȴ ᜅᥞ̨̗˥˹˼᝟ϋ˯̡
  33. None
  34. None
  35. ̀ΐәդ˫̢̡ ̷ͭ·ͣ͜·͝ͽˡ᠓պ˯̡ әդ͵͑͗́̀͝ΐәդ̷ͭ·̨͜໏˯ әդ͵͑͗͝ˡ͚͍̀͜әդ̨˭˵ܭ؃̅ʷ̘̀́˭̀˙ әդ͵͑͗͝ˡ͚͍̀͜әդ̨˭̀ˠ˹˵ܭ؃̅ʷဒᒭ́ Ԙၓ˯̡ әդ͵͑͗͝ˡԘၓ˭˵̟=̨ଗә˯̡

  36. None
  37. ೖྗ쏫쏇쏍쏓쎩࡞쎢ۤ࿑

  38. None
  39. * 쏢쏍쏊쏟쎫쎮쏵 ݹ썛쏓쎷쏯쏫쏽쏒쎅쏩쏳썗

  40. + ࠓဒ

  41. 0 ; 0 , % , % , % ,

    -[IMKCandidates lineNumberForCandidateWithIdentifier:]: * ྗ˽̅
  42. ̔˾̗ ȴ ௱౬ᝈәդ̅࿲෸̵̹̺̀͑ͩ̀̄͜˽ᕭ˾˭ሲˡ˗̡ ȴ ˁ౪ᆰࠬ௉ࠋԱ˂ˁәդ͵͑͗͝႙̄̀ΐ˂ˡ࿲́˺̟˙ ȴ ̩̀̕әդ͵͑͗͝˽ᣪ̒˛