TL;DR
Keynote (Ver 7.2 4582)のプレゼンファイルからエクスポートしたPDFを slideshare にアップロードすると日本語が消えてしまう。
Keynoteで印刷する際に PDF のプルダウンメニューから PostScriptとして保存を選択して保存し、PostScriptファイルをダブルクリックしてプレビューで開くと自動的にPDFに変換してくれる。これをアップすればいい。
Keynote が作成する PDFにはフォントが埋めこまれているのだが、埋め込み指定がおかしい。標準フォントの文字が表示されないのだ。
ただ標準ではないフォントを使えばいいという方法もあるが、資料ができてからフォントを変更するなんて、個人的にはありえない選択。
対処方法として、PDFを sedで編集してCMAPを直す方法と PostScript にエクスポートして、プレビューで変換する方法がある。
sed で編集する方法は あらびき日記 日本語を含む Keynote を slideshare にアップロードする を参考にすればいいらしい。
CMAPを直す方法は、Slideshare専用に直しているので、どうかなと思う。いや、別にそれでもいいんだけどね。そこでもうひとつのPostScriptに変換する方法を説明する。
Keynoteで印刷する際に PDF のプルダウンメニューから PostScriptとして保存を選択して保存し、PostScriptファイルをダブルクリックしてプレビューで開くと自動的にPDFに変換してくれる。
直接変換したPDFとPostScriptに変換する方式で比べてみた。PDFの中に含まれているフォントを調べるには、pdffontsを使う。
まず、KeynoteからエクスポートしたPDF
pdffonts Exported.pdf
name type encoding emb sub uni object ID ------------------------------------ ----------------- ---------------- --- --- --- --------- SPHMJT+HelveticaNeue-CondensedBold TrueType MacRoman yes yes no 11 0 GQMFQR+HiraginoSans-W6 CID Type 0C Identity-H yes yes no 10 0 YFNPNG+HiraKakuProN-W3 CID Type 0C Identity-H yes yes no 52 0 PJNCWZ+HiraginoSans-W2 CID Type 0C Identity-H yes yes no 51 0
emb は埋め込み、subはフォントがサブセットかどうか、uniはToUnicode マップがあるかどうかをである。uniはすべてnoになっている
次に KeynoteからエクスポートしたPostScriptをプレビューで変換した、PDF
pdffonts EventSpace.ps.pdf
name type encoding emb sub uni object ID ------------------------------------ ----------------- ---------------- --- --- --- --------- SKITSY+HiraginoSans-W6 Type 1C Custom yes yes yes 11 0 DHRTNG+HelveticaNeue-CondensedBold TrueType WinAnsi yes yes yes 13 0 DKYPQN+HelveticaNeue-CondensedBold TrueType WinAnsi yes yes yes 23 0 KPXIFD+HiraKakuProN-W3 Type 1C Custom yes yes yes 57 0 PLRHGU+HiraginoSans-W2 Type 1C Custom yes yes yes 55 0 DIZXBU+HelveticaNeue-CondensedBold TrueType WinAnsi yes yes yes 93 0 PHKRDS+HiraKakuProN-W3 Type 1C Custom yes yes yes 89 0 MNTOLY+HiraKakuProN-W3 Type 1C Custom yes yes yes 99 0
埋め込みフォントが増えている。encodingが変っている。
こちらはemb, sub, uniすべて yesになっている。