Archive for the 'dictKit' Category

2017/12/30 日本語の慣用句を検索する

オープンソースの「DictionaryKit」(By Mattt)を用いて、「スーパー大辞林」から日本語の慣用句を検索するAppleScriptです。

興味のある方は、DictionaryKitをフレームワーク化したdictKit.frameworkのバイナリをOS X 10.10以降用にビルドしたものをダウンロードして~/Library/Frameworksフォルダに入れておためしください。

–> Download Framework Binary

「血」 → {”血が通う”, “血が騒ぐ”, “血が繫がる”, “血が上る”, “血が引く”, “血で血を洗う”, “血と汗”, “血となり肉となる”, “血に飢える”, “血の出るよう”, “血の滲むよう”, “血は争えない”, “血は水よりも濃い”, “血も涙もない”, “血湧き肉躍る”, “血を受ける”, “血を歃る”, “血を吐く思い”, “血を引く”, “血を見る”, “血を分ける”}

AppleScript名:日本語の慣用句を検索する
– Created 2017-12-30 by Takaaki Naganoya
– 2017 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “dictKit” –https://github.com/mattt/DictionaryKit
–http://piyocast.com/as/archives/5077

set aRes to retJapaneseIdionFromKanjiChar(“血”) of me
–>  {”血が通う”, “血が騒ぐ”, “血ががる”, “血が上る”, “血が引く”, “血で血を洗う”, “血と汗”, “血となり肉となる”, “血に飢える”, “血の出るよう”, “血の滲むよう”, “血は争えない”, “血は水よりも濃い”, “血も涙もない”, “血湧き肉躍る”, “血を受ける”, “血を歃る”, “血を吐く思い”, “血を引く”, “血を見る”, “血を分ける”}

set aRes to retJapaneseIdionFromKanjiChar(“家”) of me
–>  {”家給し人足る”, “家高し”, “家に杖つく”, “家貧しくして孝子顕わる”, “家をあける”, “家を出ず”, “家を外にする”}

set aRes to retJapaneseIdionFromKanjiChar(“水”) of me
–>  {”水到りて渠成る”, “水が合わない”, “水が漬く”, “水が入る”, “水が引く”, “水涸る”, “水清ければ魚棲まず”, “水澄む”, “水で割る”, “水と油”, “水にする”, “水に流す”, “水になる”, “水に馴れる”, “水温む”, “水の滴るよう”, “水の流れと身のゆくえ”, “水の低きに就く如し”, “水は方円の器に随う”, “水も漏らさぬ”, “水をあける”, “水を打ったよう”, “水を得た魚のよう”, “水を掛ける”, “水をさす”, “水を向ける”}

set aRes to retJapaneseIdionFromKanjiChar(“木”) of me
–>  {”木から落ちた猿”, “樹静かならんと欲すれども風止まず”, “木で鼻を括る”, “木に竹を接ぐ”, “木にも草にも心を置く”, “木に餅がなる”, “木に縁りて魚を求む”, “木の股から生まれる”, “木六竹八塀十郎”, “木を見て森を見ず”}

on retJapaneseIdionFromKanjiChar(aKanji)
  set aDictionary to (current application’s TTTDictionary’s dictionaryNamed:“スーパー大辞林”)
  
set hitEntryList to (aDictionary’s entriesForSearchTerm:aKanji) as list
  
if hitEntryList is not equal to {missing value} then
    
    
repeat with ii in hitEntryList
      set j to contents of ii
      
      
set headW to (j’s headword)
      
set headW to headW as text
      
      
try
        set aText to (j’s |text|)
        
set aText to aText as text
      on error
        set aText to (j’s HTML)
        
set aText to decodeCharacterReference(aText) of me
      end try
      
      
if aText contains “〈句項目〉” then
        set aCount to 1
        
set tmpList to paragraphs of aText
        
set aLen to length of tmpList
        
        
repeat with i in tmpList
          set j to contents of i
          
if j contains “〈句項目〉” then
            set outList to items (aCount + 1) thru -1 of tmpList
            
exit repeat
          end if
          
set aCount to aCount + 1
        end repeat
        
        
repeat with ii from (aCount + 1) to aLen
          set jj to contents of ii
          
if jj = “” then exit repeat
        end repeat
        
        
set outList to contents of items (aCount + 1) thru (ii - 1) of tmpList
        
return outList
      end if
    end repeat
    
    
return {}
  end if
end retJapaneseIdionFromKanjiChar

on decodeCharacterReference(aStr)
  set anNSString to current application’s NSString’s stringWithString:aStr
  
set theData to anNSString’s dataUsingEncoding:(current application’s NSUTF16StringEncoding)
  
set styledString to current application’s NSAttributedString’s alloc()’s initWithHTML:theData documentAttributes:(missing value)
  
set plainText to (styledString’s |string|()) as string
  
return plainText
end decodeCharacterReference

★Click Here to Open This Script 

2015/10/22 辞書.appの指定名称の辞書でキーワード検索

オープンソースのプログラムDictionaryKit(By Mattt Thompson)をフレームワークに入れた「dictKit」を介して、OS X内蔵の辞書でキーワード検索を行うAppleScriptです。

DictionaryKitの内部機能を直接AppleScriptから呼ぶことはできませんが、DictionaryKitのプログラムを突っ込んだFramework「dictKit.framework」を作成し、これをインストールしてAppleScriptから呼べるようにしました。

注意点:DictionaryKitの説明にもあるのですが、OS XのPrivate APIを呼んでいるため、本プログラム(dictKit)を用いて作ったアプリケーションをMac App Store向けに申請することはできません。

でも、超〜便利なんで(^ー^;;; 日常的なScriptで使わない手はありません。

例によって、dictKitのバイナリをOS X 10.10以降用にビルドしておきましたので、興味のある方は~/Library/Frameworksフォルダに入れておためしください。

–> Download Framework Binary

AppleScript名:ASOCで辞書.appで検索可能な辞書名称一覧を取得する
– Created 2015-10-22 by Takaaki Naganoya
– 2015 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “dictKit” –mattt/DictionaryKit
–https://github.com/mattt/DictionaryKit

set dSet to current application’s TTTDictionary’s availableDictionaries()
set dList to dSet’s allObjects()
set dNameList to {}
repeat with i in dList
  set the end of dNameList to (i’s |name|()) as text
end repeat
dNameList
–>  {”뉴에이스 영한사전 / 뉴에이스 한영사전“, “Apple 用語辞典”, “Multidictionnaire de la langue française”, “राजपाल हिन्दी शब्दकोश“, “Dizionario italiano da un affiliato di Oxford University Press”, “Oxford-Hachette French Dictionary”, “NE Ordbok”, “牛津英汉汉典”, “Oxford Thesaurus of English”, “スーパー大辞林”, “Oxford Dictionary of English”, “Oxford American Writer’s Thesaurus”, “Norsk Ordbok”, “Gran Diccionario Oxford - Español-Inglés Inglés-Español”, “Wikipedia”, “Duden-Wissensnetz deutsche Sprache”, “Толковый словарь русского языка”, “뉴에이스 국어사전“, “Prisma woordenboek Nederlands”, “New Oxford American Dictionary”, “Dicionário de Português licenciado para Oxford University Press”, “Oxford German Dictionary”, “Diccionario General de la Lengua Española Vox”, “ウィズダム英和辞典 / ウィズダム和英辞典”, “Arkadaş Türkçe Sözlük”, “พจนานุกรมไทย ฉบับทันสมัยและสมบูรณ์“, “汉语规典”}

★Click Here to Open This Script 

AppleScript名:ASOCで辞書検索じっけん
– Created 2015-10-22 by Takaaki Naganoya
– 2015 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “dictKit” –mattt/DictionaryKit
–https://github.com/mattt/DictionaryKit

set aDictionary to current application’s TTTDictionary’s dictionaryNamed:“Apple 用語辞典”
set dRes to aDictionary’s |name|()
set dRes to dRes as text
–>  ”Apple 用語辞典”

set aTerm to “AppleScript”
set hitEntryList to (aDictionary’s entriesForSearchTerm:aTerm) as list
if hitEntryList = {missing value} then return “” –ヒットしなかった場合

repeat with i in hitEntryList
  set j to contents of i
  
  
set headW to (j’s headword)
  
set headW to headW as text
  
–>  ”AppleScript”
  
  
set aText to (j’s |text|)
  
set aText to aText as text
  
(*)
  –>  ”AppleScript
OS X に内蔵されたスクリプト言語です。AppleScript 言語のコマンドを使用すれば、“メール”、Safari、“カレンダー”など、さまざまなアプリケーションで繰り返しの作業や複雑な作業を自動化できます。
*)

  
end repeat

★Click Here to Open This Script