Upgrade to Pro — share decks privately, control downloads, hide ads and more …

日本語入力の落とし穴

mzp
February 03, 2018

 日本語入力の落とし穴

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

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

mzp

February 03, 2018
Tweet

More Decks by mzp

Other Decks in Technology

Transcript

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

    View Slide

  2. View Slide

  3. ௱౬ᝈәդ

    View Slide

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

    View Slide

  5. "
    г˹˼˙̡௱౬ᝈәդ̅У
    ˽˯ˠ
    .4Ȧ*.& NBD04̄௱౬ᝈәդ

    (PPHMF௱౬ᝈәդ
    "50, ˳̄϶
    04ඊ໳̄*.&

    View Slide

  6. "
    г˹˼˙̡௱౬ᝈәդ̅У
    ˽˯ˠ
    .4Ȧ*.& NBD04̄௱౬ᝈәդ

    (PPHMF௱౬ᝈәդ
    "50, ˳̄϶
    04ඊ໳̄*.&

    View Slide

  7. "
    г˹˼˙̡௱౬ᝈәդ̅У
    ˽˯ˠ
    .4Ȧ*.& NBD04̄௱౬ᝈәդ

    (PPHMF௱౬ᝈәդ
    "50, ˳̄϶
    04ඊ໳̄*.&

    View Slide

  8. "
    г˹˼˙̡௱౬ᝈәդ̅У
    ˽˯ˠ
    .4Ȧ*.& NBD04̄௱౬ᝈәդ

    (PPHMF௱౬ᝈәդ
    "50, ˳̄϶
    04ඊ໳̄*.&

    View Slide

  9. "
    г˹˼˙̡௱౬ᝈәդ̅У
    ˽˯ˠ
    .4Ȧ*.& NBD04̄௱౬ᝈәդ

    (PPHMF௱౬ᝈәդ
    "50, ˳̄϶
    04ඊ໳̄*.&

    View Slide

  10. ౦๺େֶڭतͷࠤ౻խ඙ࢯʹΑͬͯ։ൃ͞ΕͨγεςϜͰ͋
    Γɺݱࡏ͸4,,0QFOMBCʹΑͬͯϝϯςφϯε͞Ε͍ͯΔʢུ
    ༷ʑͳϓϥοτϑΥʔϜͰಈ͘Α͏ʹ༗ࢤʹΑͬͯҠ২͞Εͯ
    ͓Γɺ8JOEPXT͔Β.BDɺ4$*.ͳͲͷϑϨʔϜϫʔΫͰα
    ϙʔτ͢Δ-JOVY͸໪࿦ͷ͜ͱɺ࠷Ռͯʹ͸"OESPJEͰಈ͘΋
    ͷ·Ͱଘࡏ͢Δɻੌ͍ɺੌ͍ͧɺ4,,ɻ


    ඇৗʹಠಛͳม׵ํ๏Ͱ͋Δ͕ͨΊɺҰ୴׳Εͯ͠·͏ͱ4,,Ҏ֎
    ͷ೔ຊޠೖྗγεςϜ͸࢖͑ͳ͍ɺͬͯਓ΋ͳ͔ͳ͔ଟ͍ɻ
    EJDOJDPWJEFPKQBTLL

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

    View Slide

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

    ௱౬˽̅

    View Slide

  12. ƅшƅ

    View Slide

  13. '쏙쏽쎺쏵쎅ೖྗ

    ż Ƅ
    + =
    D K
    ࣈ฼

    View Slide

  14. View Slide

  15. ༠ࠋәդ̄࿲෸ৡ

    View Slide

  16. View Slide

  17. ˺̟˙᜸̨˭̔˯

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  21. View Slide

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

    View Slide

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

    View Slide

  24. View Slide

  25. View Slide

  26. ౪ᆰࠬ௉ࠋԱ
    ౪ᆰࠬ௉ࠋԱ
    ᆰࠬ௉ࠋԱ
    ̀ΐәդ
    ᆰࠬԘၓ


    ̞ˤ˗̡әդͩ΁ΐ
    ᆰࠬ௉ࠋԱ
    ̀ΐәդ

    1PXFS1PJOUˡ૆˝̀˙әդͩ΁ΐ

    View Slide

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

    View Slide

  28. View Slide

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

    View Slide

  30. ˠ̀̀ΐ
    әդ͵͑͗͝ J5FSN
    ̟̈ˡ̀әդͶΐ̎͝
    Ԫ̠౗˝
    Ԙၓ˯̡ˡУ̘˟ˢ̀˙
    -̀ΐ ᔋࠋәդͶΐ̎͝
    Ԫ̠౗˝
    -ˡәդ˫̢̡
    ˙̡̥̜ˁ-̨ૣ˭˵̟-ˡәդ˫̢˵˂ٯ᫷

    View Slide

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

    View Slide

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

    View Slide

  33. View Slide

  34. View Slide

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

    View Slide

  36. View Slide

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

    View Slide

  38. View Slide

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

    View Slide

  40. +
    ࠓဒ

    View Slide

  41. 0
    ;
    0 ,
    %
    ,

    %



    ,
    %
    ,
    -[IMKCandidates lineNumberForCandidateWithIdentifier:]:
    *
    ྗ˽̅

    View Slide

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

    View Slide