カテゴリー : 2013年 1月22日

PDFとの格闘で、CIDからUnicodeへのマップを作る


引き続き、PDFと格闘中。

PDFの内部データ触るには、CGPDF系の関数を使えばいい。その辺りは、iOSが提供してくれるので、ありがたく使わせてもらう。

そこまではいいんだけど、PDFから取得できるテキストデータは、CIDの形になっている。表示するだけならいいんだけど、コピーや検索するには、これをUnicodeに変換しないといけない。CIDからUnicodeへの変換が、ない。だいたいみんな、ここでひっかかる。

たぶん、Appleは持っているはず。PDFでコピーできるから。OS Xでは、PDF Kitを使えばテキスト取得できる。でも、iOSではない。

ないものは作ったれー!ということで、CIDからUnicodeへのマップを作っております。非常に原始的に、Adobe-Japanの仕様書を見て、対応するUnicodeの値を調べて、テキストエディタで記入する。

こんな方法しかないのかー!?やってみると、縦書き文字なんかもあるから、機械的にできないところもある。手でやるしかないのかー。

しかし、これさえ出来上がれば、PDFのコントロールは完全に我が手に。なるはず。