AppleScriptFontBook

PostScript Nameの取得

PostScript Nameを取得したい。
いわゆる『これ』

 

Fontsexif_002

 

答え先に言うと、フォントの情報ってファウンダリー毎にマチマチだったりして
『これ』って方法は無いんです。


だいたいこの3つの『組み合わせ』

 

Fontsexif_001

 

AppleScriptからの取得
Fontsexif_004 exiftoolからの取得
Fontsexif_003 スポットライト mdls
Fontsexif_006

 


PostScriptName(Aiのドキュメンド情報と=って意味での)だとexiftoolになりますが

 

ファミリーネーム等だと
20190714_150431

 

そうじゃないだろ…って思いますよね『ファミリー名』だから
まぁ、これは仕様の部分もあるし、ファウンダリーでマチマチな部分でもありますので
正解が無いって感じで『だいたい、こんなもんかな』程度までで良いと思います。

 

続く

 

 

|

[AppleScripts]フォント・コレクションにフォントを追加する(その3)

少し治して
IPAを追加した

「addFontCollectionCopyright.scpt.zip」をダウンロード

ソース
https://github.com/force4u/addFontCollectionAdobe.scpt/blob/addFontCollectionCopyright.scpt/addFontCollectionCopyright.scpt


-------------------

同様の処理で言語を追加する物を作ってみたが
『言語』は、検索対象になっているので不要だった…

「addFontCollectionLang.scpt.zip」をダウンロード

ソース
https://github.com/force4u/addFontCollectionAdobe.scpt/blob/addFontCollectionLang.scpt/addFontCollectionLang.scpt


(*

addFontCollectionLang.scpt
20160308 初回作成 


フォントブックに登録されているフォントを調べて
フォントコレクションに登録します。

*)

---設定項目

set numWaitTime to 1.5 as number
#
#コレクションを作成してから、名称が確実に変更出来るための待ち時間
#コレクションが『名称未設定』で作られてしまう場合数値を大きく
#推奨1 名称未設定が出来る場合は2〜3に設定してください
------本処理ここから
---フォントブックを起動する
tell application "Font Book" to launch

tell application "Finder"
activate
---フルリスト
---set listLngList to {"アイスランド語", "アイルランド語", "アゼルバイジャン語", "アフリカーンス語", "アラビア語", "アルバニア語", "イタリア語", "インドネシア語", "ウェールズ語", "ウクライナ語", "ウズベク語", "ウルドゥー語", "エストニア語", "エスペラント語", "オランダ語", "オロモ語", "カザフ語", "カタロニア語", "ガリシア語", "ギリシャ語", "グリーンランド語", "クロアチア語", "コーンウォール語", "スウェーデン語", "スペイン語", "スロバキア語", "スロベニア語", "スワヒリ語", "セルビア語", "ソマリ語", "チェコ語", "デンマーク語", "ドイツ語", "トルコ語", "ノルウェー語 (ニーノシュク)", "ノルウェー語 (ブークモール)", "バスク語", "ハワイ語", "ハンガリー語", "フィンランド語", "フェロー語", "フランス語", "ブルガリア語", "ベトナム語", "ヘブライ語", "ベラルーシ語", "ポーランド語", "ポルトガル語", "マケドニア語", "マルタ語", "ラトビア語", "リトアニア語", "ロシア語", "英語", "韓国語", "中国語", "中国語 (繁体字)", "中国語 (簡体字)"} as list
---自分用リスト
set listLngList to {"アラビア語", "イタリア語", "インドネシア語", "オランダ語", "ギリシャ語", "スウェーデン語", "スペイン語", "スワヒリ語", "チェコ語", "デンマーク語", "ドイツ語", "トルコ語", "ハンガリー語", "フランス語", "ベトナム語", "ヘブライ語", "ポーランド語", "ポルトガル語", "ロシア語", "英語", "韓国語", "中国語", "中国語 (繁体字)", "中国語 (簡体字)"} as list

set theLangAns to (choose from list listLngList with title "言語選択" with prompt "フォントコレクションを作成する言語を選択してください" default items "日本語" without multiple selections allowed and empty selection allowed) as text
end tell
---フォントブック内での処理
tell application "Font Book"
---前面に
activate
---Adobeの名前のフォントコレクションの有無を調べます
set boolFontCollection to exists of font collection theLangAns
---もしAdobeのコレクションが無い場合
if boolFontCollection = false then
try
---新しいコレクションを作成
set objFontCollection to make new font collection
end try
---おまじない
delay numWaitTime
---作ったコレクション
tell objFontCollection
---名前を変更
set name to theLangAns
end tell
---おまじない
delay numWaitTime
tell font collection theLangAns
---ローカライズ用?
set displayed name to theLangAns
end tell
end if
-----全てのタイプフェイスを取得 リストに格納
set listAllTypeFaces to get every typeface as list
---ファイプフェイスIDの数だけ繰り返す
repeat with theFont in listAllTypeFaces
---タイプフェイスのプロパティを取得
set listFontProperties to properties of theFont
---プロパティの追加情報部を取得
set listAdditionalnfo to typeface additional info of listFontProperties
---エラーよけの初期化
set listFBLanguages to ""
---追加情報から言語情報を取得
try
set listFBLanguages to FBFaceLanguages of listAdditionalnfo
end try
---もしも、言語情報に指定の文字があったら
if listFBLanguages contains theLangAns then
---コレクションに追加する
add theFont to font collection theLangAns
end if
end repeat
end tell

|

[AppleScripts]フォント・コレクションにフォントを追加する(その2)

[AppleScripts]フォント・コレクションにフォントを追加する
http://force4u.cocolog-nifty.com/skywalker/2016/03/applescripts-4c.html
変更版

今の業務先でも利用できるように
少し便利にしてみた。


Website_image00280306_190614

欧文 和文に加えて
許諾部分を調べて、ロゴ等に使いやすい
『オープン』なライセンスのものを
表示出来るようにしてみた


Website_image00280306_191439

Website_image00280306_191504


(*

addFontCollection.scpt
20160305 初回作成 
20160304 displayed nameの処理を修正
20160306 Apache と SIL の処理を追加
20160306 addFontCollection.scptに名称変更
20160306 待ち時間を変更出来るように変更
フォントブックに登録されているフォントを調べて
フォントコレクションに登録します。

*)

---設定項目

set numWaitTime to 1.5 as number
#
#コレクションを作成してから、名称が確実に変更出来るための待ち時間
#コレクションが『名称未設定』で作られてしまう場合数値を大きく
#推奨1 名称未設定が出来る場合は2〜3に設定してください
------本処理ここから
---フォントブックを起動する
tell application "Font Book" to launch


tell application "Finder"
activate
----選択用のリストを定義
set listLngList to {"Adobe", "Apple", "Bitstream", "Bureau", "DynaLab", "Google", "ITC", "Linotype", "Microsoft", "Monotype", "ParaType", "URW", "Esselte Letraset", "-------", "Morisawa", "Fontworks", "DynaComware", "Iwata", "TypeBank", "スクリーン", "-------", "Apache", "SIL"} as list
----リスト表示のダイアログを出します
set theLangAns to (choose from list listLngList with title "言語選択" with prompt "フォントコレクションを作成するファウンダリを選択してください" default items "日本語" without multiple selections allowed and empty selection allowed) as text
----エラーよけ
if theLangAns is "-------" then
return
else if theLangAns is "false" then
return
end if
end tell



---フォントブック内での処理
tell application "Font Book"
---前面に
activate
---Adobeの名前のフォントコレクションの有無を調べます
set boolFontCollection to exists of font collection theLangAns
---もしAdobeのコレクションが無い場合
if boolFontCollection = false then
try
---新しいコレクションを作成
set objFontCollection to make new font collection
end try
---おまじないの1秒
delay numWaitTime
---作ったコレクション
tell objFontCollection
---名前を変更
set name to theLangAns
end tell
---おまじないの1秒
delay numWaitTime
tell font collection theLangAns
---ローカライズ用?
set displayed name to theLangAns
end tell
end if
-----全てのタイプフェイスを取得 リストに格納
set listAllTypeFaces to get every typeface as list
---ファイプフェイスIDの数だけ繰り返す
repeat with theFont in listAllTypeFaces
---タイプフェイスのプロパティを取得
set listFontProperties to properties of theFont
---プロパティの追加情報部を取得
set listAdditionalnfo to typeface additional info of listFontProperties
---エラーよけの初期化
set FBFaceCopyrightName to ""
---追加情報からコピーライト情報を取得
try
set listFBFaceCopyrightName to FBFaceCopyrightName of listAdditionalnfo
end try
----許諾用のリストの制御 アパッチライセンス
if theLangAns is "Apache" then
try
set listFBFaceCopyrightName to FBFaceLicenseName of listAdditionalnfo
end try
----許諾用のリストの制御 オープンフォントライセンス
else if theLangAns is "SIL" then
try
set listFBFaceCopyrightName to FBFaceLicenseName of listAdditionalnfo
end try
end if
---もしも、コピーライト情報をしらべて
if listFBFaceCopyrightName contains theLangAns then
---コレクションに追加する
add theFont to font collection theLangAns
---ITCの場合だけロングネームの場合があるので別処理
else if theLangAns contains "ITC" then
if listFBFaceCopyrightName contains "International Typeface Corporation" then
---コレクションに追加する
add theFont to font collection theLangAns
end if
end if
end repeat
end tell


「addFontCollectionCopyright.scpt.zip」をダウンロード

ソースはこちら
https://github.com/force4u/addFontCollectionAdobe.scpt/tree/addFontCollection.scpt

|

[AppleScripts]フォント・コレクションにフォントを追加する

AppleScriptを使ったフォントコレクションの操作
OSX10.6で確認しているので
最新のOSでは動作が怪しい

1:フォントコレクションを新規作成する
2:コレクションの名前をAdobeにする
3:著作情報にAdobeの文字があるフォントをコレクションに追加する

Website_image00280305_220344

実際の動作をYouTubeでどうぞ

20160306修正版


(*

addFontCollectionAdobe.scpt
20160305 初回作成 
201603004 displayed nameの処理を修正

フォントブックに登録されているフォントを調べて
コピーライトがAdobeの製品を
フォントコレクションに登録します。

*)



---フォントブックを起動する
tell application "Font Book" to launch

---フォントブック内での処理
tell application "Font Book"
---前面に
activate
---Adobeの名前のフォントコレクションの有無を調べます
set boolChFontCollection to exists of font collection "Adobe"
---もしAdobeのコレクションが無い場合
if boolChFontCollection = false then
try
---新しいコレクションを作成
set objFontCollectionAdobe to make new font collection
end try
---おまじないの1秒
delay 1
---作ったコレクション
tell objFontCollectionAdobe
---名前を変更
set name to "Adobe"
end tell
---おまじないの1秒
delay 1
tell font collection "Adobe"
---ローカライズ用?
set displayed name to "Adobe"
end tell
end if
-----全てのタイプフェイスを取得 リストに格納
set listAllTypeFaces to get every typeface as list
---ファイプフェイスIDの数だけ繰り返す
repeat with theFont in listAllTypeFaces
---タイプフェイスのプロパティを取得
set listFontProperties to properties of theFont
---プロパティの追加情報部を取得
set listAdditionalnfo to typeface additional info of listFontProperties
---エラーよけの初期化
set FBFaceCopyrightName to ""
---追加情報からコピーライト情報を取得
try
set lisFBFaceCopyrightName to FBFaceCopyrightName of listAdditionalnfo
end try
---もしも、コピーライト情報にAdobeの文字があったら
if lisFBFaceCopyrightName contains "Adobe" then
---Adobeのコレクションに追加する
add theFont to font collection "Adobe"
end if
end repeat
end tell


「addFontCollectionAdobe.scpt.zip」をダウンロード


------
余談
先日Adobeの制限フォントについて書きました
制限フォント
http://www.adobe.com/jp/products/type/font-licensing/restricted-fonts.html


許諾関係の文書って煙にまくような文章が多いのですが
Adobeのフォントについては
比較的わかりやすい文書になっている

Website_image00280305_222558

デザイナーさんが誤解しがちなのが
1:ソフトウェアとしての『フォント』と『フォントファイル』
2:フォントを利用して制作された2次制作物(ソフトウェアとしてのフォント以外)
この違い
Adobeのフォントについては、比較的安心して利用可能
ですが
TypeKitは別かな…
https://helpx.adobe.com/jp/typekit/using/font-licensing.html

TypeKitの場合は『そのフォントにアクセス可能な契約(クリエイティブクラウド契約等)が必須
その辺りを回避するために、ロゴやレターヘッド等長期に渡って使われる場合は
必要なフォントだけでも単体購入して
許諾を永続化させておくのと、クライアントが安心してくれる場合が多い
なぜか?
『厳密に』言うと、クライアントがロゴ等に使われたフォントを利用するために
クライアントにクリエイティブクラウド契約が必要になる『場合』があるからです。
↑(そこまで気にしなくても大丈夫な場合がホトンドですが…)
クライアントが大手の場合
この辺りはクライアントの法務部さんあたりとの話しになる場合もあるので
早めの段階で、「決めておく」事が吉

 


|

[CSS]フォントの各名称とCSS【その3】FontBookを英語モードに変更する

その1
http://force4u.cocolog-nifty.com/skywalker/2016/02/csscss-838a.html
その2
http://force4u.cocolog-nifty.com/skywalker/2016/02/csscss2-0565.html

その1とその2で

CSSでフォントを指定する場合
フォントの各名称を取得しようとする時
Font Book を英語モードで使うと簡単に『値』がとれる事を説明しました。

Website_image00280212_225434

Font Book に限りませんが
常に
アプリケーションを英語モードで使いたい場合
以下の方法が有効です。


1:言語設定で『日本語』と『英語』を加えておく(時々日本語のみの方がいますので念のため)
2:日本語のリソースを移動させる(もちろん削除しても良いが…)


2手順です。

--------------------------
1:言語設定で『日本語』と『英語』を加えておく(時々日本語のみの方がいますので念のため)

Website_image00280212_230143

画面は10.6xですが、基本は同じです。

--------------------------
2:日本語のリソースを移動させる(もちろん削除しても良いが…)

Website_image00280212_225529


Font Bookの中のContentsに
Resources(Disabled)フォルダを作成して
日本語リソースを移動して
Font Bookを終了〜起動すれば
英語モードになります。


--------------------------
スクリプトにすると以下のようになります。


(*
FontBookChgMode

管理者権限が必要です

Font Bookに内包されている日本語リソースを
利用停止にする事で
FontBookを英語モードに変更また英語モードにした後で
日本語リソースを元に戻す事で日本語モードに戻します。

------留意事項(重要)
FontBookはシステムアプリケーションです。
不具合が発生した場合、OSの再インストールが必要になります。
本アプリケーションの利用でいかなる損害が発生しても当方はいかなる責任も取りません。
自己責任にて利用してください。
------
*)


---フォントブックを起動します
tell application "Font Book"
launch
activate
end tell
---3秒待ちます
delay 3
---フォントブックを終了します
tell application "Font Book"
quit
end tell

---ファインダを呼び出す
tell application "Finder"
activate
---ダイアログのリストを定義
set theSetLabels to ¬
"英語モードにする", ¬
"日本語モードにする", ¬
"キャンセル"}
---ダイアログを出してレスポンスを格納
set theSaveAns to choose from list theSetLabels with title "FontBookChgMode" with prompt "FontBookを英語←→日本語のモードを切り替えます" cancel button name "キャンセル" empty selection allowed yes OK button name "変更する" without multiple selections allowed
set theAns to theSaveAns as text
end tell
---英語モードの場合の処理
if (theAns is "英語モードにする") then
try
---中止用フォルダを作成
do shell script "sudo mkdir -p \"/Applications/Font Book.app/Contents/Resources(Disabled)\"" with administrator privileges
---一応アクセス権フル
do shell script "sudo chmod 777 \"/Applications/Font Book.app/Contents/Resources(Disabled)\"" with administrator privileges
---日本語リソースを移動
do shell script "sudo mv -f \"/Applications/Font Book.app/Contents/Resources/Japanese.lproj\" \"/Applications/Font Book.app/Contents/Resources(Disabled)\"" with administrator privileges
do shell script "sudo mv -f \"/Applications/Font Book.app/Contents/Resources/ja.lproj\" \"/Applications/Font Book.app/Contents/Resources(Disabled)\"" with administrator privileges
on error
---do shell script "open \"/Applications/Font Book.app/Contents\""
---log "エラーが発生しました。\rリソースを確認してください"
end try
---3秒待ちます
delay 3
---フォントブックを起動
tell application "Font Book"
launch
activate
end tell
---日本語モードの場合の処理
else if (theAns is "日本語モードにする") then
try
---日本語リソースを移動
do shell script "sudo mv -f \"/Applications/Font Book.app/Contents/Resources(Disabled)/Japanese.lproj\" \"/Applications/Font Book.app/Contents/Resources\"" with administrator privileges
do shell script "sudo mv -f \"/Applications/Font Book.app/Contents/Resources(Disabled)/ja.lproj\" \"/Applications/Font Book.app/Contents/Resources\"" with administrator privileges
on error
---do shell script "open \"/Applications/Font Book.app/Contents\""
---log "エラーが発生しました。\rリソースを確認してください"
end try
---3秒待ちます
delay 3
---フォントブックを起動
tell application "Font Book"
launch
activate
end tell

end if
---ファイダを呼び出して終了
tell application "Finder"
activate
end tell
return

「FontBookChgMode.scpt.zip」をダウンロード

--------------------------

CSSを書く場合
最近はWEBフォント指定が多いので
このような、ローカルフォントの指定をする事はメッキリ減りましたが
まぁ
仕組みっていうか、セオリー?として
指定方法を覚えておくと良いかもしれません。


CSSでfont-familyを指定する場合

1:記述は英語のみローカライズされた日本語のフォント名称は使わない
2:ポストスクリプト名を記述する(PostScript name)
3:フル・フォント名を記述する(Full Font Name)
4:フォント・ファミリー名+ウェイト名を記述する(Font Family Name + PostScript Font Weight又はSubFamily名)
5:フォント・ファミリー名を記述する(Font Family Name)
6:font-styleを正しく記載する(normal , italic, , oblique)
7:font-weightを正しく記載する。
Medium Regularなら400か500
Lightなら200
Heavyなら800と言った感じで(要:表示確認)


いった所です。
あくまでも『参考』にしてください


|

その他のカテゴリー

Accessibility AccessibilityCheck AccessibilityForm AccessibilityInDesign AccessibilityPDF Acrobat Acrobat Action Acrobat Annotation Acrobat AppleScript Acrobat Layer Acrobat Plug-ins Acrobat Portfolios Acrobat Print AcrobatBarcode AcrobatDialog AcrobatForm AcrobatJS AcrobatMenu AcrobatPDF AcrobatStamp AcrobatYouTube AddressBook Adobe Adobe InDesign AdobeAppleScript AdobeBridge AdobeIllustrator AdobeJSX aed Alfresco Android AnimationGif Apple AppleScript AppleScriptBasics AppleScriptCharacter AppleScriptColor AppleScriptDroplet AppleScriptErrorNum AppleScriptFolder AppleScriptFontBook AppleScriptRename AppleScriptTools AppleSymbols Applications Barcode Barcode2D BarcodePostal BetterHTMLExport Book Browser buzz Certificates CharacterEntity CharacterSets Colors Cool Site CSS Cutting DecoMail DecorationMail Design Desktop Diff DJ dmg DNS Documents Download eBook Editer eMail Envelopes ExifTool Facebook FFmpeg File System Fonts FontsTool FontsWeb FOOD FormPrint ftp Gadget Gif Animation Google HexEditor HTML info iPhoto ISBN ISO iTunes iWork iWorkNumbers iWorkNumbersCalendar iWorkNumbersTimecard iWorkPages JavaScript JeditX JeditX Regexp JeditXAppleScript JIS jquery Letterpress Library logo Mac Admin Mac Archiver Mac Browser Mac Browser Plugin Mac QuickLook Mac Spotlight Mac Video Map Mobby Moto Movies Music Network Basic ntp OCR Office OSX Pantone Paper PDFlib Permission Photo Pictograms Print Public QuickLook QuickTime QuickTimeSetting QuickTimeSound Real Media ReName ResourceFork ruby Screen ScreenCast Search Security SEO Sharing SLAResource Spotlight Stamp SWF Tutorial PSD TV Twitter Typography Unicode Utilities Video WebFont Wedding Windows WindowsMedia XML XMP XPS YouTube YouTube Rss