なんだこれは

はてなダイアリーから移転しました。

Keynote のプレゼン資料(日本語)を slideshare にアップ


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になっている。