« [NSPasteboard]ファイルパス ファイルURL | トップページ | FontBookからコピーした値からフォントサンプル画像を生成する(縦型用) »

FontBookからコピーした値からパスやPostscript名を取得する


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

#!/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.8"
use framework "Foundation"
use framework "UniformTypeIdentifiers"
use framework "AppKit"
use scripting additions
property refMe : a reference to current application


########################
## クリップボードの中身取り出し
########################
###初期化
set ocidPasteboard to refMe's NSPasteboard's generalPasteboard()
##中身の要素
set ocidPastBoardTypeArray to ocidPasteboard's types
#
set boolContain to ocidPastBoardTypeArray's containsObject:("NSStringPboardType")
if boolContain is true then
  set ocidClassesArrayM to refMe's NSMutableArray's alloc()'s initWithCapacity:(0)
ocidClassesArrayM's addObject:(refMe's NSString)
  set ocidReadArray to ocidPasteboard's readObjectsForClasses:(ocidClassesArrayM) options:(missing value)
end if
set ocidReadStrings to ocidReadArray's firstObject()

########################
## 改行区切りでリスト化
########################
set ocidLFChar to refMe's NSString's stringWithString:("\n")
set ocidLineArray to (ocidReadStrings's componentsSeparatedByString:(ocidLFChar))
###############################
## テキスト形式のURLをNSURLに
###############################
#URLとポストスクリプト名を格納するDICT
set ocidFilePathDict to refMe's NSMutableDictionary's alloc()'s initWithCapacity:0
#URLだけを格納するARRAY
set ocidFileURLArray to refMe's NSMutableArray's alloc()'s initWithCapacity:(0)
#PostScriptNameの保存用
set ocidPostScriptNameArray to refMe's NSMutableArray's alloc()'s initWithCapacity:(0)
#コピーしたファイルの数だけ繰り返し
repeat with itemArray in ocidLineArray
  ##URLに
  set ocidURL to (refMe's NSURL's alloc()'s initWithString:(itemArray))
  #fragmentを取得して
  set ocidFragment to ocidURL's fragment()
  if ocidFragment = (missing value) then
return "FontBooKで選んでください"
  end if
  #fragmentからPostScriptNameの取得
  set ocidSepChar to (refMe's NSString's stringWithString:("="))
  set ocidFragmentArray to (ocidFragment's componentsSeparatedByString:(ocidSepChar))
  set ocidPostScriptName to (ocidFragmentArray's objectAtIndex:(1))
  #PostScript名用のリストに追加していく
(ocidPostScriptNameArray's addObject:(ocidPostScriptName))
  #NSURLComponentsに分割して
  set ocidURLomponents to (refMe's NSURLComponents's componentsWithURL:(ocidURL) resolvingAgainstBaseURL:(false))
  #fragmentを削除してNSURLにする
(ocidURLomponents's setFragment:(missing value))
  set ocidFilePathURL to ocidURLomponents's |URL|
  #ファイル名
  set ocidFileName to ocidFilePathURL's lastPathComponent()
  #リストに追加していく
(ocidFileURLArray's addObject:(ocidFilePathURL))
  #DICTに追加していく
(ocidFilePathDict's setObject:(ocidFilePathURL) forKey:(ocidPostScriptName))
end repeat


|

« [NSPasteboard]ファイルパス ファイルURL | トップページ | FontBookからコピーした値からフォントサンプル画像を生成する(縦型用) »

AppleScript Fonts」カテゴリの記事