PowerPointで文字(フォント)をアウトライン化する方法をご紹介します。
文字をパスデータにしたい場合は「図形の結合」を使う必要があります。アウトライン化せずにフォントを埋め込むことも可能です。
文字をアウトライン化するマクロも解説します。
文字をアウトライン化する
アウトライン化したい文字を用意します。作例のフォントは「源ノ角ゴシック JP Bold」を使用しています。
テキストボックスを「Ctrl + Shift」キーを押しながら下にドラッグして複製します。
2つのテキストボックスを上揃え(揃え方を参照)で配置します。
2つのテキストボックスを選択した状態で、「図形の書式」タブ →「図形の挿入」グループ →「図形の結合」→「接合」をクリックします。
テキストから図形に変換され、アウトライン化された状態になりました。
アウトライン化の確認
文字を右クリックしてメニューを開き、「頂点の編集」をクリックします。
パスが表示され、アウトライン化の確認できました。
- アウトライン化すると文字の編集ができなくなるので、必要に応じてバックアップを取っておきましょう。
文字をパーツごとに分割する
パーツごとに分割したい文字を用意します。作例のフォントは「源ノ明朝 SemiBold」を使用しています。
テキストボックスを複製します。
2つのテキストボックスを選択した状態で、「図形の書式」タブ →「図形の挿入」グループ →「図形の結合」→「切り出し」をクリックします。
文字がアウトライン化された状態で分割されました。
パーツごとに色分けしてみましょう。
ロゴをアウトライン化した文字で作る
当サイト名「PPDTP」の頭文字「P」でロゴマークを作ります。
「ホーム」タブ →「図形描画」→「円:塗りつぶしなし」を選択します。
「P」の文字と「円:塗りつぶしなし」を組み合わせてロゴマークの完成!
と言いたいところですが…
ロゴを拡大すると、図形だけが拡大されて文字が拡大してくれません。PowerPointはIllustratorと異なり、図形と文字を別々に拡大縮小する必要があるためです。
文字の拡大縮小は、ショートカットキーの「Ctrl + Shift + >」キーで拡大、「Ctrl + Shift + <」キーで縮小を行います。
図形と文字を分けてサイズを変更するのは効率的ではありません。そこで、2つのオブジェクトを「接合」してアウトライン化します。
アウトライン化しておけば自由自在にサイズを変更できます。色も一度で変更することができるので修正しやすいデータになりました。
フォントを埋め込む
アウトライン化すると文字の編集ができなくなりますが、ファイルにフォントを埋め込むと文字を編集できる状態で保存することができます。
フォントを埋め込んでおくと、同じフォントがインストールされていない別のパソコンでファイルを開いても文字化けしません。
「Alt → F → T」キーの順に押して「PowerPointのオプション」ダイアログボックスを開き、「保存」→「ファイルにフォントを埋め込む」にチェックを入れます。
別のパソコンで文字を編集しない場合は、「使用されている文字だけを埋め込む」を選択します。
同じフォントがインストールされていない別のパソコンで文字を編集する場合は、「すべての文字を埋め込む」を選択します。
- すべての文字を埋め込むとファイルサイズが大きくなってしまうので注意が必要です。
文字をアウトライン化するマクロ
PowerPoint VBAを使えば、一瞬で文字をアウトライン化することができます。
コード
Sub 文字をアウトライン化する() Dim n As Long Dim clr As Long '選択中のスライド番号を取得 n = ActiveWindow.Selection.SlideRange.SlideIndex With ActiveWindow.Selection 'オブジェクトが選択されていない場合はマクロ終了 If .Type = ppSelectionNone _ Or .Type = ppSelectionSlides Then 'メッセージ MsgBox "オブジェクトを選択してください。" Exit Sub End If With .ShapeRange 'テキストボックスまたは図形の場合 If .Type = msoTextBox _ Or .Type = msoAutoShape Then 'テキストが入力されていない場合 If .TextFrame.TextRange.Text = "" Then 'メッセージ MsgBox "テキストが入力されていません。" Exit Sub Else '図形の塗りと線をなしにする .Fill.Visible = msoFalse .Line.Visible = msoFalse End If Else 'メッセージ MsgBox "テキストを選択してください。" Exit Sub End If End With With .ShapeRange 'テキストボックスの名前 .Name = "txt" '文字の色 clr = .TextFrame.TextRange.Font.Color End With End With With ActivePresentation '図形を作成 Set shp = .Slides(n).Shapes.AddShape( _ msoShapeRectangle, 0, 0, 0, 0) '図形の名前 shp.Name = "shp" '図形の色 shp.Fill.ForeColor.RGB = clr '線なし shp.Line.Visible = msoFalse End With 'テキストボックスと図形を接合 ActivePresentation.Slides(n).Shapes.Range(Array("txt", "shp")).MergeShapes (msoMergeUnion) End Sub
実行方法
- 文字が入力されたテキストボックスをひとつ選択した状態で実行します。複数のテキストボックスには対応していません。
- 文字の色は、一色に対応しています。色が混在していると黒色になります。
- 線の設定は消えます。
- 文字に図形のオプションの「塗りつぶし」と「線」が設定されていると、図形の情報が優先され、文字が消えてしまうため、図形の「塗りつぶし」と「線」を削除する処理にしています。
実行結果
マクロを実行して、アウトライン化されたのか確認してみましょう。
マクロを実行した文字を右クリックしてメニューを開き、「頂点の編集」をクリックします。
文字がアウトライン化されたのが確認できました。
- PowerPoint 2016 for Macでは「MergeShapes」メソッドが使用できないため、コンパイルエラーになります。
油性ペン風の手書き文字を作る
文字のアウトライン化と「スケッチ」機能を組み合わせると、油性ペン風の手書き文字を作ることも可能です。
詳細は、次の記事で解説しています。