InDesignで必要なフォントが存在するか調べる

ドキュメントに必要なフォントがインストールされているか調べます。

自動組版プログラムを配布するなど、スクリプトの実行環境が不明なときに便利です。


動作環境・注意

InDesign CS 以降で動作すると思います。

フォントの数が多いと非常に時間が掛かります(ある物件で作成したのですが、結局組み込むのをあきらめました)。従って、基本的にはパソコンをあまり理解してない人向けに実行してもらう類のものです。


使用方法

基本的には他のスクリプトに組み込んで使用します。単独で使用しても構いませんが。


ソース

Set app = CreateObject("InDesign.Application.CS")
If font_check(app) = False Then
    MsgBox "必要なフォントがありませんでした。" & vbLf & "InDesignを終了します。"
    app.Quit
End If

Function font_check(app)
    Dim i, j, k 'As Integer
    Dim psname(6) 'As String
    psname(0) = "RosewoodStd-Regular"
    psname(1) = "SeuratPro-DB"
    psname(2) = "SeuratPro-B"
    psname(3) = "RodinPro-M"
    psname(4) = "RodinPro-DB"
    psname(5) = "RodinPro-B"
    psname(6) = "RodinPro-EB"
    k = -1
    For i = 1 To app.Fonts.Count
        For j = 0 To UBound(psname)
            If app.Fonts(i).PostScriptName = psname(j) Then
                k = k + 1
                Exit For
            End If
        Next 'j
        If k = UBound(psname) Then
            font_check = True
            Exit Function
        End If
    Next 'i
    font_check = False
End Function

[HOME]