AppleScript NSFontManager

[font book]フォントライブラリを作成する

ローカルドメイン(system liblary application)はURL形式のパス
ユーザードメイン(ホームディレクトリ)はエイリアスデータbookmarkのNSdataの登録となり
処理が異なる。

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
##自分環境がos12なので2.8にしているだけです
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application

###フォントブックを終了
tell application id "com.apple.FontBook"
  quit
end tell

##############################
###ライブラリ名を指定 ダイアログ
set appFileManager to refMe's NSFileManager's defaultManager()
###FontCollectionsのフォルダパス
set ocidUserLibraryPathArray to (appFileManager's URLsForDirectory:(refMe's NSLibraryDirectory) inDomains:(refMe's NSUserDomainMask))
set ocidUserLibraryPath to ocidUserLibraryPathArray's firstObject()
set ocidFontCollectionsURL to ocidUserLibraryPath's URLByAppendingPathComponent:("FontCollections") isDirectory:(true)
set aliasFontCollectionsURL to ocidFontCollectionsURL's absoluteURL() as alias
##############################
#####ダイアログを前面に
tell current application
  set strName to name as text
end tell
####スクリプトメニューから実行したら
if strName is "osascript" then
  tell application "Finder" to activate
else
  tell current application to activate
end if
##############################
###ダイアログ
set strDefaultName to "名称未設定.library" as text
set strExtension to "library"
set strPromptText to "フォントライブラリの名前を決めてください" as text
set strMesText to "フォントライブラリの名前を決めてください" as text
set aliasFilePath to (choose file name strMesText default location aliasFontCollectionsURL default name strDefaultName with prompt strPromptText) as «class furl»
##############################
###ライブラリファイルのパス
set strFilePath to (POSIX path of aliasFilePath) as text
set ocidFilePathStr to refMe's NSString's stringWithString:(strFilePath)
set ocidFilePath to ocidFilePathStr's stringByStandardizingPath()
set ocidFilePathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFilePath) isDirectory:false)
set ocidFileName to ocidFilePathURL's lastPathComponent()
set ocidBaseFileName to ocidFileName's stringByDeletingPathExtension()
set ocidExtensionName to ocidFilePathURL's pathExtension()
###空の文字列 if文用
set ocidEmptyString to refMe's NSString's alloc()'s init()
if ocidExtensionName = ocidEmptyString then
  ###ダイアログで拡張子取っちゃった場合対策
  set ocidFilePathURL to ocidFilePathURL's URLByAppendingPathExtension:(strExtension)
end if

##############################
### フォルダ選択 
###(選択したフォルダの最下層までフォントを取得する)
set ocidUserDesktopPathArray to (appFileManager's URLsForDirectory:(refMe's NSDesktopDirectory) inDomains:(refMe's NSUserDomainMask))
set ocidUserDesktopPath to ocidUserDesktopPathArray's firstObject()
###ダイアログ
set aliasFontCollectionsURL to ocidUserDesktopPath's absoluteURL() as alias
set strMes to "フォルダを選んでください"
set strPrompt to "フォントをライブラリに登録するフォルダ(フォントが入っているフォルダ)を選んでください"
set aliasFolderPath to (choose folder strMes with prompt strPrompt default location aliasFontCollectionsURL with invisibles and showing package contents without multiple selections allowed)
##############################
###読み込むフォントのパス
set strFontsDirPath to POSIX path of aliasFolderPath as text
set ocidFontsDirPathStr to refMe's NSString's stringWithString:(strFontsDirPath)
set ocidFontsDirPath to ocidFontsDirPathStr's stringByStandardizingPath()
set ocidFontsDirPathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFontsDirPath) isDirectory:true)
##############################
##### ユーザー ドメイン専用
if strFontsDirPath starts with "/Users" then
  log "処理開始"
  ###########################################
  ###ユーザーフォント用
  ###########################################
  ##############################
  ###enumeratorAtURLL格納するリスト
  set ocidEmuFileURLArray to refMe's NSMutableArray's alloc()'s initWithCapacity:0
  ###フォントファイルのURLのみを格納するリスト
  set ocidFontFilePathURLArray to refMe's NSMutableArray's alloc()'s initWithCapacity:0
  
  ##############################
  ###ディレクトリのコンテツを収集
  ###収集する付随プロパティ
  set ocidPropertiesForKeys to {(refMe's NSURLContentTypeKey), (refMe's NSURLIsRegularFileKey)}
  ####ディレクトリのコンテツを収集
  set ocidEmuDict to (appFileManager's enumeratorAtURL:(ocidFontsDirPathURL) includingPropertiesForKeys:ocidPropertiesForKeys options:(refMe's NSDirectoryEnumerationSkipsHiddenFiles) errorHandler:(reference))
  ###戻り値用のリストに格納
ocidEmuFileURLArray's addObjectsFromArray:(ocidEmuDict's allObjects)
  
  ##############################
  ###『ファイル』だけ取り出したリストにする
  ####enumeratorAtURLのかずだけ繰り返し
  repeat with itemEmuFileURL in ocidEmuFileURLArray
    ####URLをforKeyで取り出し
    set listResult to (itemEmuFileURL's getResourceValue:(reference) forKey:(refMe's NSURLIsRegularFileKey) |error|:(reference))
    ###リストからNSURLIsRegularFileKeyのBOOLを取り出し
    set boolIsRegularFileKey to item 2 of listResult
    log boolIsRegularFileKey as text
    ####ファイルのみを(ディレクトリやリンボリックリンクは含まない)
    if boolIsRegularFileKey is (refMe's NSNumber's numberWithBool:true) then
      set listResult to (itemEmuFileURL's getResourceValue:(reference) forKey:(refMe's NSURLContentTypeKey) |error|:(reference))
      set ocidContentType to item 2 of listResult
      set strUTI to (ocidContentType's identifier) as text
      if strUTI contains "font" then
####リストにする
(ocidFontFilePathURLArray's addObject:(itemEmuFileURL))
      end if
    end if
  end repeat
  
  ##############################
  ###URL格納用(absoluteString)
  set ocidFontPathArray to refMe's NSMutableArray's alloc()'s initWithCapacity:0
  repeat with itemAliasFontPath in ocidFontFilePathURLArray
(ocidFontPathArray's addObject:(itemAliasFontPath))
  end repeat
  
  ##############################
  ###PLISTのデータになるDict
  set ocidPlistDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
  ###bookmarks
  set ocidBookmarks to refMe's NSMutableDictionary's alloc()'s init()
  ##############################
  ###containerURLs
  set ocidContainerURLs to refMe's NSMutableArray's alloc()'s initWithCapacity:0
  repeat with itemFontPathArray in ocidFontPathArray
    ###このifは不要かな?
    set ocidFontStrigsPath to (itemFontPathArray's |path|())
    if (ocidFontStrigsPath as text) starts with "/Users/" then
      ###containerURLsはパスとエイリアスデータ
      set strRelativePath to "/" as text
      set ocidRelativePathStr to (refMe's NSString's stringWithString:(strRelativePath))
      set ocidRelativePath to ocidRelativePathStr's stringByStandardizingPath()
      set ocidRelativeToURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidRelativePath) isDirectory:true)
      set ocidBookMarkPathURL to (refMe's NSURL's alloc()'s initFileURLWithPath:(ocidFontStrigsPath) isDirectory:false)
      ##############################
      ###bookmark エイリアスデータ生成
      set ocidBookMarkDataArray to (ocidBookMarkPathURL's bookmarkDataWithOptions:(11) includingResourceValuesForKeys:({missing value}) relativeToURL:(missing value) |error|:(reference))
      set ocidBookMarkData to item 1 of ocidBookMarkDataArray
      ###bookmarkデータを追加
(ocidBookmarks's setObject:(ocidBookMarkData) forKey:(ocidFontStrigsPath))
    else
      set strAbsoluteStringPath to (itemFontPathArray's absoluteString())
(ocidContainerURLs's addObject:(strAbsoluteStringPath))
    end if
  end repeat
ocidPlistDict's setObject:(ocidBookmarks) forKey:("bookmarks")
ocidPlistDict's setObject:(ocidContainerURLs) forKey:("containerURLs")
  ###disabled
  set ocidFalse to (refMe's NSNumber's numberWithBool:false)
ocidPlistDict's setValue:(ocidFalse) forKey:("disabled")
  ###name
ocidPlistDict's setValue:(ocidBaseFileName) forKey:("name")
  ###reference
  set ocidReference to refMe's NSNumber's numberWithInteger:(1)
ocidPlistDict's setValue:(ocidReference) forKey:("reference")
  ###date
  set ocidDate to (refMe's NSDate's |date|())
  set ocidFormatter to refMe's NSDateFormatter's alloc()'s init()
ocidFormatter's setDateFormat:("yyyy-MM-dd'T'HH:mm:ss'Z'")
ocidFormatter's setTimeZone:(refMe's NSTimeZone's timeZoneWithAbbreviation:("UTC"))
  set ocidSetDate to ocidFormatter's stringFromDate:(ocidDate)
  -->string形式でセットするのでsetValueで
ocidPlistDict's setValue:(ocidSetDate) forKey:("date")
  ##############################
  ###urlAddedDates
  set ocidUrlAddedDates to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
  ###フォントのURLを追加(absoluteString形式)
  repeat with itemFontPathArray in ocidFontPathArray
    set strPath to (itemFontPathArray's |path|())
(ocidUrlAddedDates's setValue:(ocidSetDate) forKey:(strPath))
  end repeat
ocidPlistDict's setObject:(ocidUrlAddedDates) forKey:("urlAddedDates")
  ###version
ocidFormatter's setDateFormat:("yyyyMMdd")
  set ocidversion to ocidFormatter's stringFromDate:(ocidDate)
ocidPlistDict's setValue:(ocidversion) forKey:("version")
  ######################
  ###XML形式
  set ocidXmlplist to refMe's NSPropertyListXMLFormat_v1_0
  ####書き込み用にXMLに変換
  set ocidPlistEditData to refMe's NSPropertyListSerialization's dataWithPropertyList:(ocidPlistDict) format:(ocidXmlplist) options:0 |error|:(missing value)
  ####書き込み
ocidPlistEditData's writeToURL:(ocidFilePathURL) atomically:true
else
  ###########################################
  ###ローカルフォント用
  ###########################################
  ###enumeratorAtURLL格納するリスト
  set ocidEmuFileURLArray to refMe's NSMutableArray's alloc()'s initWithCapacity:0
  ###フォントファイルのURLのみを格納するリスト
  set ocidFontFilePathURLArray to refMe's NSMutableArray's alloc()'s initWithCapacity:0
  
  ##############################
  #####ディレクトリのコンテツを収集
  ###収集する付随プロパティ
  set ocidPropertiesForKeys to {(refMe's NSURLContentTypeKey), (refMe's NSURLIsRegularFileKey)}
  ####ディレクトリのコンテツを収集
  set ocidEmuDict to (appFileManager's enumeratorAtURL:(ocidFontsDirPathURL) includingPropertiesForKeys:ocidPropertiesForKeys options:(refMe's NSDirectoryEnumerationSkipsHiddenFiles) errorHandler:(reference))
  ###戻り値用のリストに格納
ocidEmuFileURLArray's addObjectsFromArray:(ocidEmuDict's allObjects)
  
  ##############################
  #####『ファイル』だけ取り出したリストにする
  ####enumeratorAtURLのかずだけ繰り返し
  repeat with itemEmuFileURL in ocidEmuFileURLArray
    
    ####URLをforKeyで取り出し
    set listResult to (itemEmuFileURL's getResourceValue:(reference) forKey:(refMe's NSURLIsRegularFileKey) |error|:(reference))
    ###リストからNSURLIsRegularFileKeyのBOOLを取り出し
    set boolIsRegularFileKey to item 2 of listResult
    log boolIsRegularFileKey as text
    ####ファイルのみを(ディレクトリやリンボリックリンクは含まない)
    if boolIsRegularFileKey is (refMe's NSNumber's numberWithBool:true) then
      set listResult to (itemEmuFileURL's getResourceValue:(reference) forKey:(refMe's NSURLContentTypeKey) |error|:(reference))
      set ocidContentType to item 2 of listResult
      set strUTI to (ocidContentType's identifier) as text
      if strUTI contains "font" then
####リストにする
(ocidFontFilePathURLArray's addObject:(itemEmuFileURL))
      end if
    end if
  end repeat
  
  ##############################
  #####URL格納用(absoluteString)
  set ocidFontPathArray to refMe's NSMutableArray's alloc()'s initWithCapacity:0
  repeat with itemAliasFontPath in ocidFontFilePathURLArray
(ocidFontPathArray's addObject:(itemAliasFontPath))
  end repeat
  
  ##############################
  ##### PLIST処理
  ###PLISTのデータになるDict
  set ocidPlistDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
  ###bookmarks
  set ocidBookmarks to refMe's NSMutableDictionary's alloc()'s init()
ocidPlistDict's setObject:(ocidBookmarks) forKey:("bookmarks")
  #####################
  ###containerURLs
  set ocidContainerURLs to refMe's NSMutableArray's alloc()'s initWithCapacity:0
  ###フォントのURLを追加(absoluteString形式)
  repeat with itemFontPathArray in ocidFontPathArray
    set strAbsoluteStringPath to (itemFontPathArray's absoluteString())
(ocidContainerURLs's addObject:(strAbsoluteStringPath))
  end repeat
ocidPlistDict's setObject:(ocidContainerURLs) forKey:("containerURLs")
  ###disabled
  set ocidFalse to (refMe's NSNumber's numberWithBool:false)
ocidPlistDict's setValue:(ocidFalse) forKey:("disabled")
  ###name
ocidPlistDict's setValue:(ocidBaseFileName) forKey:("name")
  ###reference
  set ocidReference to refMe's NSNumber's numberWithInteger:(1)
ocidPlistDict's setValue:(ocidReference) forKey:("reference")
  ###date
  set ocidDate to (refMe's NSDate's |date|())
  set ocidFormatter to refMe's NSDateFormatter's alloc()'s init()
ocidFormatter's setDateFormat:("yyyy-MM-dd'T'HH:mm:ss'Z'")
ocidFormatter's setTimeZone:(refMe's NSTimeZone's timeZoneWithAbbreviation:("UTC"))
  set ocidSetDate to ocidFormatter's stringFromDate:(ocidDate)
  -->string形式でセットするのでsetValueで
ocidPlistDict's setValue:(ocidSetDate) forKey:("date")
  #####################
  ###urlAddedDates
  set ocidUrlAddedDates to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
  ###フォントのURLを追加(absoluteString形式)
  repeat with itemFontPathArray in ocidFontPathArray
    set strPath to (itemFontPathArray's |path|())
(ocidUrlAddedDates's setValue:(ocidSetDate) forKey:(strPath))
  end repeat
ocidPlistDict's setObject:(ocidUrlAddedDates) forKey:("urlAddedDates")
  ###version
ocidFormatter's setDateFormat:("yyyyMMdd")
  set ocidversion to ocidFormatter's stringFromDate:(ocidDate)
ocidPlistDict's setValue:(ocidversion) forKey:("version")
  
  ######################
  ###XML形式
  set ocidXmlplist to refMe's NSPropertyListXMLFormat_v1_0
  ####書き込み用にXMLに変換
  set ocidPlistEditData to refMe's NSPropertyListSerialization's dataWithPropertyList:(ocidPlistDict) format:(ocidXmlplist) options:0 |error|:(missing value)
  ####書き込み
ocidPlistEditData's writeToURL:(ocidFilePathURL) atomically:true
  
end if


###フォントブックを起動
tell application id "com.apple.FontBook"
  launch
end tell



|

フォント名を選ぶ


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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.6"
use framework "foundation"
use framework "AppKit"
use scripting additions

property refMe : a reference to current application
##デフォルト
set strDefailtsFont to "Osaka-Mono" as text
set appFontManager to refMe's NSFontManager
set appSharedMaanager to appFontManager's sharedFontManager()
set ocidFontListArray to appSharedMaanager's availableFonts()
set numDefaultsFont to (ocidFontListArray's indexOfObject:(strDefailtsFont)) as integer
set listFontList to ocidFontListArray as list
try
  set listResponse to (choose from list listFontList with title "選んでください" with prompt "フォントを選んでください" default items (item numDefaultsFont of listFontList) OK button name "OK" cancel button name "キャンセル" without multiple selections allowed and empty selection allowed) as list
on error
  log "エラーしました"
return "エラーしました"
end try
if listResponse is false then
return "キャンセルしました"
end if

set strFontName to (item 1 of listResponse)

|

ファイルサイズ

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
#
#                       com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
##自分環境がos12なので2.8にしているだけです
use AppleScript version "2.8"
use framework "Foundation"
use scripting additions

property refMe : a reference to current application


set appFileManager to refMe's NSFileManager's defaultManager()

set strFilePath to "/Library/Documentation/Acknowledgements.rtf"
#####NSString
set ocidFilePathStr to refMe's NSString's stringWithString:strFilePath
#####NSPathStore2
set ocidFilePath to ocidFilePathStr's stringByStandardizingPath
###### attributesを取得
set ocidAttributes to appFileManager's attributesOfItemAtPath:ocidFilePath |error|:(missing value)
#####ファイルサイズを取得
set ocidNSFileSize to ocidAttributes's NSFileSize
set numFileSize to ocidNSFileSize as integer
log numFileSize
#####KB
set numKB to (refMe's NSNumber's numberWithFloat:(numFileSize / 1024))
log numKB as text
log (numFileSize / 1024)
log ((round ((numFileSize / 1024) * 10)) / 10) as text
#####MB
set numKB to (refMe's NSNumber's numberWithFloat:((numFileSize / 1024) / 1024))
log numKB as text
log ((numFileSize / 1024) / 1024)
log ((round ((numFileSize / 1024) * 100)) / 100) as text

|

[NSFontManager]フォントリスト あれこれ

フォント名

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.6"
use framework "foundation"
use framework "AppKit"
use scripting additions

property refMe : a reference to current application



set appFontManager to refMe's NSFontManager
set appSharedMaanager to appFontManager's sharedFontManager()
set ocidFontList to appSharedMaanager's availableFonts()

repeat with itemFontList in ocidFontList
  
  log itemFontList as text
  
end repeat



フォントファミリー

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.6"
use framework "foundation"
use framework "AppKit"
use scripting additions

property refMe : a reference to current application



set appFontManager to refMe's NSFontManager
set appSharedMaanager to appFontManager's sharedFontManager()
set ocidFontList to appSharedMaanager's availableFontFamilies()

repeat with itemFontList in ocidFontList
  
  log itemFontList as text
  
end repeat



スタイル別で指定(NSFontTraitMask)

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.6"
use framework "foundation"
use framework "AppKit"
use scripting additions

property refMe : a reference to current application



set appFontManager to refMe's NSFontManager
set appSharedMaanager to appFontManager's sharedFontManager()
set ocidFontList to appSharedMaanager's availableFontNamesWithTraits:(refMe's NSBoldFontMask)
(*
NSBoldFontMask
NSCompressedFontMask
NSCondensedFontMask
NSExpandedFontMask
NSFixedPitchFontMask
NSItalicFontMask
NSNarrowFontMask
NSNonStandardCharacterSetFontMask
NSPosterFontMask
NSSmallCapsFontMask
NSUnboldFontMask
NSUnitalicFontMask
*)

repeat with itemFontList in ocidFontList
  
  log itemFontList as text
  
end repeat



フォントファミリーメンバー

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

#!/usr/bin/env osascript
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
#
#
#
# com.cocolog-nifty.quicktimer.icefloe
----+----1----+----2----+-----3----+----4----+----5----+----6----+----7
use AppleScript version "2.6"
use framework "foundation"
use framework "AppKit"
use scripting additions

property refMe : a reference to current application



set appFontManager to refMe's NSFontManager
set appSharedMaanager to appFontManager's sharedFontManager()
set ocidFontList to appSharedMaanager's availableFontFamilies()

repeat with itemFontList in ocidFontList
  set ocidFamilyMember to (appSharedMaanager's availableMembersOfFontFamily:itemFontList)
  
  repeat with itemFamilyMember in ocidFamilyMember
    log itemFamilyMember as list
    
  end repeat
  
end repeat

|

その他のカテゴリー

Acrobat Acrobat Annotation Acrobat Dialog Acrobat Form Acrobat JS Acrobat Open Acrobat Plugin Acrobat python Acrobat Reader Acrobat Sequ Acrobat Stamps Admin Admin Account Admin Apachectl Admin configCode Admin Device Management Admin LaunchServices Admin Locationd Admin loginitem Admin Maintenance Admin Permission Admin Pkg Admin Power Management Admin Printer Admin SetUp Admin SMB Admin System Information Admin Tools Admin Users Admin Volumes Adobe Apple AppleScript AppleScript Guide AppleScript Accessibility AppleScript AppKit AppleScript Applications AppleScript AppStore AppleScript Archive AppleScript Attributes AppleScript Automator AppleScript AVAsset AppleScript AVconvert AppleScript AVFoundation AppleScript AVURLAsset AppleScript BackUp AppleScript Barcode AppleScript Bash AppleScript Basic AppleScript Basic Path AppleScript Bluetooth AppleScript BOX AppleScript Browser AppleScript Calendar AppleScript CD/DVD AppleScript Choose AppleScript Chrome AppleScript CIImage AppleScript CloudStorage AppleScript Color AppleScript com.apple.LaunchServices.OpenWith AppleScript Console AppleScript Contacts AppleScript CotEditor AppleScript CURL AppleScript current application AppleScript Date&Time AppleScript delimiters AppleScript Desktop AppleScript Device AppleScript Disk AppleScript do shell script AppleScript Dock AppleScript DropBox AppleScript eMail AppleScript Encode Decode AppleScript Error AppleScript EXIFData AppleScript ffmpeg AppleScript File AppleScript Finder AppleScript Firefox AppleScript Folder AppleScript Fonts AppleScript GIF AppleScript HTML AppleScript Icon AppleScript Illustrator AppleScript Image Events AppleScript Image2PDF AppleScript ImageOptim Applescript iWork AppleScript Javascript AppleScript Jedit AppleScript Json AppleScript Label AppleScript List AppleScript locationd AppleScript LRC AppleScript LSSharedFileList AppleScript m3u8 AppleScript MakePDF AppleScript Map AppleScript Math AppleScript Microsoft AppleScript Microsoft Edge AppleScript Microsoft Excel AppleScript Mobileconfig AppleScript Mouse AppleScript Movie AppleScript Music AppleScript NetWork AppleScript Notes AppleScript NSArray AppleScript NSBitmapImageRep AppleScript NSBundle AppleScript NSCFBoolean AppleScript NSCharacterSet AppleScript NSColor AppleScript NSColorList AppleScript NSData AppleScript NSDictionary AppleScript NSError AppleScript NSEvent AppleScript NSFileAttributes AppleScript NSFileManager AppleScript NSFont AppleScript NSFontManager AppleScript NSImage AppleScript NSIndex AppleScript NSKeyedArchiver AppleScript NSKeyedUnarchiver AppleScript NSLocale AppleScript NSMutableArray AppleScript NSMutableDictionary AppleScript NSMutableString AppleScript NSNotFound AppleScript NSNumber AppleScript NSOpenPanel AppleScript NSPasteboard AppleScript NSPDFImageRep AppleScript NSpoint AppleScript NSPredicate AppleScript NSRange AppleScript NSRegularExpression AppleScript NSRunningApplication AppleScript NSScreen AppleScript NSSize AppleScript NSString AppleScript NSStringCompareOptions AppleScript NSTask AppleScript NSTimeZone AppleScript NSURL AppleScript NSURL File AppleScript NSURLBookmark AppleScript NSURLComponents AppleScript NSURLResourceKey AppleScript NSUserDefaults AppleScript NSUUID AppleScript NSView AppleScript NSWorkspace AppleScript Numbers AppleScript OAuth AppleScript ObjC AppleScript OneDrive AppleScript Osax AppleScript PDF AppleScript PDFAnnotationWidget AppleScript PDFContext AppleScript PDFDisplayBox AppleScript PDFDocumentPermissions AppleScript PDFKit AppleScript PDFnUP AppleScript PDFOutline AppleScript Photos AppleScript Photoshop AppleScript Plist System Events AppleScript PostScript AppleScript prefPane AppleScript Preview AppleScript Python AppleScript QR AppleScript QR Decode AppleScript QuickLook AppleScript QuickTime AppleScript record AppleScript Regular Expression AppleScript Reminders AppleScript ReName AppleScript Repeat AppleScript RTF AppleScript Safari AppleScript SaveFile AppleScript ScreenCapture AppleScript ScreenSaver AppleScript Script Editor AppleScript Script Menu AppleScript Shortcuts AppleScript Shortcuts Events AppleScript Sort AppleScript Sound AppleScript Spotlight AppleScript SRT AppleScript StandardAdditions AppleScript stringByApplyingTransform AppleScript System Events AppleScript System Settings AppleScript TemporaryItems AppleScript Terminal AppleScript Text AppleScript Text CSV AppleScript Text TSV AppleScript TextEdit AppleScript Translate AppleScript Trash AppleScript Twitter AppleScript UI AppleScript Unit Conversion AppleScript UTType AppleScript valueForKeyPath AppleScript Video AppleScript VisionKit AppleScript Visual Studio Code AppleScript webarchive AppleScript webp AppleScript Wifi AppleScript XML AppleScript XML EPUB AppleScript XML OPML AppleScript XML Plist AppleScript XML RSS AppleScript XML SVG AppleScript XML TTML AppleScript XML webloc AppleScript YouTube AppleScript Zero Suppress Applications Barcode OnLine Tools CityCode Design iPhone List Logs lsappinfo Memo Music perl PlistBuddy pluginkit postalcode ReadMe SF Symbols character id SF Symbols Entity sips Skype Slack sqlite TCC Tools Typography Video Wacom zoom