« 起動中の関連プロセスを終了させる(考え中) | トップページ | [atsutil] ATSのフォントキャッシュを削除する(macOS14から) »

[atsutil]OSが認識キャッシュしているフォント名 フォントファミリー名のリスト(macOS12まで)


あくまでも参考にしてください

【スクリプトエディタで開く】 |

サンプルソース(参考)
行番号ソース
001#! /usr/bin/env osascript
002----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
003#
004# ATS ATSUI はmacOS14で廃止になったので
005# キャッシュは不要
006# com.cocolog-nifty.quicktimer.icefloe
007----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
008use AppleScript version "2.8"
009use framework "Foundation"
010use framework "AppKit"
011use scripting additions
012property refMe : a reference to current application
013
014
015set appFileManager to refMe's NSFileManager's defaultManager()
016set ocidURLsArray to (appFileManager's URLsForDirectory:(refMe's NSDocumentDirectory) inDomains:(refMe's NSUserDomainMask))
017set ocidDocumentDirPathURL to ocidURLsArray's firstObject()
018set ocidSaveDirPathURL to ocidDocumentDirPathURL's URLByAppendingPathComponent:("Apple/Fonts")
019#有無チェック
020set ocidSaveDirPath to ocidSaveDirPathURL's |path|()
021set boolDirExists to appFileManager's fileExistsAtPath:(ocidSaveDirPath) isDirectory:(true)
022if boolDirExists = true then
023  log "フォルダ有り処理継続"
024else if boolDirExists = false then
025  log "フォルダ無いので作成"
026  set ocidAttrDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
027  # 777-->511 755-->493 700-->448 766-->502
028  ocidAttrDict's setValue:(448) forKey:(refMe's NSFilePosixPermissions)
029  set listDone to appFileManager's createDirectoryAtURL:(ocidSaveDirPathURL) withIntermediateDirectories:true attributes:(ocidAttrDict) |error| :(reference)
030  if (item 1 of listDone) is true then
031    log "createDirectoryAtURL正常処理"
032  else if (item 2 of listDone) ≠ (missing value) then
033    log (item 2 of listDone)'s code() as text
034    log (item 2 of listDone)'s localizedDescription() as text
035    return "createDirectoryAtURL エラーしました"
036  end if
037  #注意書きファイルの保存
038  set ocidNULLStr to refMe's NSString's stringWithString:("")
039  set ocidNULLFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:("_このフォルダは削除して大丈夫です") isDirectory:(false)
040  set ocidOption to (refMe's NSUTF8StringEncoding)
041  set listBoolDone to ocidNULLStr's writeToURL:(ocidNULLFilePathURL) atomically:(true) encoding:(ocidOption) |error| :(reference)
042  if (item 1 of listBoolDone) is true then
043    log "writeToURL 正常処理"
044  else if (item 2 of listBoolDone) ≠ (missing value) then
045    log (item 2 of listBoolDone)'s code() as text
046    log (item 2 of listBoolDone)'s localizedDescription() as text
047    return "ファイルの生成 エラーしました"
048  end if
049end if
050##コマンド実行
051set strCommandText to ("/usr/bin/atsutil fonts -list") as text
052set strResponse to (do shell script strCommandText) as text
053#タブだけ除去
054set ocidResponse to refMe's NSMutableString's stringWithString:(strResponse)
055set ocidSaveString to (ocidResponse's stringByReplacingOccurrencesOfString:("\t") withString:(""))
056set ocidSaveString to (ocidSaveString's stringByReplacingOccurrencesOfString:("System Fonts:") withString:("System Fonts:---------------------"))
057set ocidSaveString to (ocidSaveString's stringByReplacingOccurrencesOfString:("System Families:") withString:("System Families:---------------------"))
058#保存先パス
059set strDateNO to doGetDateNo("yyyyMMdd")
060set ocidBaseFilePathURL to ocidSaveDirPathURL's URLByAppendingPathComponent:(strDateNO) isDirectory:(false)
061set ocidSaveFilePathURL to ocidBaseFilePathURL's URLByAppendingPathExtension:("txt")
062#保存
063set ocidOption to (refMe's NSUTF8StringEncoding)
064set listBoolDone to ocidSaveString's writeToURL:(ocidSaveFilePathURL) atomically:(true) encoding:(ocidOption) |error| :(reference)
065if (item 1 of listBoolDone) is true then
066  log "writeToURL 正常処理"
067else if (item 2 of listBoolDone) ≠ (missing value) then
068  log (item 2 of listBoolDone)'s code() as text
069  log (item 2 of listBoolDone)'s localizedDescription() as text
070  return "writeToURL ファイルの生成 エラーしました"
071end if
072##開く
073set appSharedWorkspace to refMe's NSWorkspace's sharedWorkspace()
074set boolDone to appSharedWorkspace's openURL:(ocidSaveFilePathURL)
075if (boolDone) is true then
076  return "openURL 正常処理"
077else if (boolDone) is false then
078  set aliasSaveFilePath to (ocidSaveFilePathURL's absoluteURL()) as alias
079  tell application "Finder" to open file aliasSaveFilePath
080  return "openURL ファイルの生成 エラーしました"
081end if
082
083
084
085##############################
086### 今の日付日間 テキスト
087##############################
088to doGetDateNo(argDateFormat)
089  ####日付情報の取得
090  set ocidDate to refMe's NSDate's |date|()
091  ###日付のフォーマットを定義
092  set ocidNSDateFormatter to refMe's NSDateFormatter's alloc()'s init()
093  ocidNSDateFormatter's setLocale:(refMe's NSLocale's localeWithLocaleIdentifier:"ja_JP_POSIX")
094  set ocidTimeZone to refMe's NSTimeZone's alloc()'s initWithName:"Asia/Tokyo"
095  ocidNSDateFormatter's setTimeZone:(ocidTimeZone)
096  ocidNSDateFormatter's setDateFormat:(argDateFormat)
097  set ocidDateAndTime to ocidNSDateFormatter's stringFromDate:ocidDate
098  set strDateAndTime to ocidDateAndTime as text
099  return strDateAndTime
100end doGetDateNo
101
AppleScriptで生成しました

|

« 起動中の関連プロセスを終了させる(考え中) | トップページ | [atsutil] ATSのフォントキャッシュを削除する(macOS14から) »

AppleScript Fonts」カテゴリの記事