Lingua::JA::Regular::Unicode  の作り方  tokuhirom
なんでアレつかわないの? <ul><li>Lingua::JA::Regular </li></ul><ul><ul><li>EUC-JP  にいったんしてる </li></ul></ul><ul><ul><li>遅い </li></ul></...
つくるもの <ul><li>英数字の全角から半角への変換  </li></ul><ul><li>空白の全角から半角への変換  </li></ul><ul><li>カタカナ の全角から半角への変換  </li></ul><ul><li>カタカナ ...
おさらい <ul><li>入り口で  decode  出口で  encode </li></ul><ul><li>内部エンコーディングは気にしない </li></ul><ul><li>文字列リテラルは  latin1 </li></ul><ul...
Unicode文字の書き方 <ul><li>&quot;x{30F7}&quot; </li></ul><ul><li>use utf8; </li></ul><ul><ul><li>&quot;ヷ&quot;  </li></ul></ul>
use charnames; <ul><li>charnames::viacode(0x30F7) </li></ul><ul><ul><li>&quot;KATAKANA LETTER VA&quot;  </li></ul></ul><ul...
文字コードの処理 <ul><li>sprintf &quot;%X&quot;, unpack 'U*', &quot;x{30F7}&quot; </li></ul><ul><ul><li>&quot;30F7&quot; </li></ul...
名前表 <ul><li>unicore/Name.pl </li></ul>
英数字の変換 <ul><li>FULLWIDTH ~ </li></ul><ul><ul><li>&quot;FULLWIDTH &quot; をトル </li></ul></ul><ul><li>FULLWIDTH EXCLAMATION M...
ひらがなからカタカナへ <ul><li>HIRAGANA ~ </li></ul><ul><ul><li>&quot;HIRAGANA &quot; を &quot;KATAKANA &quot; に置換 </li></ul></ul><ul>...
カタカナの全角半角 <ul><li>Encode::JP::H2Z </li></ul><ul><ul><li>Jcode  でも使ってるよ </li></ul></ul><ul><li>濁点の処理がポイント </li></ul><ul><ul...
That's all <ul><li>any questions? </li></ul>
Upcoming SlideShare
Loading in...5
×

Lingua::Ja::Regular::Unicode

2,420

Published on

How to implement Lingua::JA::Regular::Unicode

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
2,420
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Lingua::Ja::Regular::Unicode

  1. 1. Lingua::JA::Regular::Unicode の作り方 tokuhirom
  2. 2. なんでアレつかわないの? <ul><li>Lingua::JA::Regular </li></ul><ul><ul><li>EUC-JP にいったんしてる </li></ul></ul><ul><ul><li>遅い </li></ul></ul><ul><ul><li>flagged utf8 以前のレガシースタイル </li></ul></ul><ul><ul><li>utf-8 前提ならもっと楽に書ける </li></ul></ul><ul><li>Unicode::Japanese </li></ul><ul><ul><li>でかい </li></ul></ul>
  3. 3. つくるもの <ul><li>英数字の全角から半角への変換 </li></ul><ul><li>空白の全角から半角への変換 </li></ul><ul><li>カタカナ の全角から半角への変換 </li></ul><ul><li>カタカナ の半角から全角への変換 </li></ul><ul><li>カタカナ からひらがなへの変換 </li></ul><ul><li>ひらがなから カタカナ への変換 </li></ul>
  4. 4. おさらい <ul><li>入り口で decode 出口で encode </li></ul><ul><li>内部エンコーディングは気にしない </li></ul><ul><li>文字列リテラルは latin1 </li></ul><ul><ul><li>だと perl は解釈 </li></ul></ul>
  5. 5. Unicode文字の書き方 <ul><li>&quot;x{30F7}&quot; </li></ul><ul><li>use utf8; </li></ul><ul><ul><li>&quot;ヷ&quot; </li></ul></ul>
  6. 6. use charnames; <ul><li>charnames::viacode(0x30F7) </li></ul><ul><ul><li>&quot;KATAKANA LETTER VA&quot; </li></ul></ul><ul><li>charnames::vianame(&quot;KATAKANA LETTER VA&quot;) </li></ul><ul><ul><li>&quot; ヷ &quot; </li></ul></ul><ul><li>&quot;N{KATAKANA LETTER VA}&quot; </li></ul>
  7. 7. 文字コードの処理 <ul><li>sprintf &quot;%X&quot;, unpack 'U*', &quot;x{30F7}&quot; </li></ul><ul><ul><li>&quot;30F7&quot; </li></ul></ul><ul><li>pack 'U*', 0x30F7 </li></ul><ul><ul><li>&quot; ヷ &quot; </li></ul></ul>
  8. 8. 名前表 <ul><li>unicore/Name.pl </li></ul>
  9. 9. 英数字の変換 <ul><li>FULLWIDTH ~ </li></ul><ul><ul><li>&quot;FULLWIDTH &quot; をトル </li></ul></ul><ul><li>FULLWIDTH EXCLAMATION MARK </li></ul><ul><ul><li>U+FF01 </li></ul></ul><ul><li>EXCLAMATION MARK </li></ul><ul><ul><li>U+0021 </li></ul></ul>
  10. 10. ひらがなからカタカナへ <ul><li>HIRAGANA ~ </li></ul><ul><ul><li>&quot;HIRAGANA &quot; を &quot;KATAKANA &quot; に置換 </li></ul></ul><ul><li>KATAKANA LETTER GU </li></ul><ul><li>HIRAGANA LETTER GU </li></ul>
  11. 11. カタカナの全角半角 <ul><li>Encode::JP::H2Z </li></ul><ul><ul><li>Jcode でも使ってるよ </li></ul></ul><ul><li>濁点の処理がポイント </li></ul><ul><ul><li>ガ は一文字 </li></ul></ul><ul><ul><li>ガ は二文字 </li></ul></ul>
  12. 12. That's all <ul><li>any questions? </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×