AppleScript名:簡易形態素解析してスーパー大辞林で辞書検索 |
— Created 2015-10-25 by Takaaki Naganoya — 2015 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "dictKit" –https://github.com/mattt/DictionaryKit set aText to "大きな栗の木の下で" set wList to words of aText repeat with i in wList set dRes to getWordDifinitionInJapaneseDictionary(i as string) of me end repeat on getWordDifinitionInJapaneseDictionary(aTerm as string) set localNameList to getNameOfLocalDictionaries() of me set dNameList to {"スーパー大辞林"} set aSet to current application’s NSMutableSet’s setWithArray:localNameList set bSet to current application’s NSMutableSet’s setWithArray:dNameList aSet’s intersectSet:bSet set dList to aSet’s allObjects() as list if dList = {} then return false set aResList to {} repeat with i in dNameList set aDictionary to (current application’s TTTDictionary’s dictionaryNamed:i) set hitEntryList to (aDictionary’s entriesForSearchTerm:aTerm) 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 set the end of aResList to {dictName:(i as text), keywordName:headW, dictContents:aText} end repeat end if end repeat aResList end getWordDifinitionInJapaneseDictionary 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 on getNameOfLocalDictionaries() 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 return dNameList end getNameOfLocalDictionaries |
タグ: Dictionary
Dictionary.appの辞書名を言語で抽出
AppleScript名:DIctionary.appの辞書名を言語で抽出 |
— Created 2015-10-25 by Takaaki Naganoya — 2015 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "dictKit" –https://github.com/mattt/DictionaryKit –Dictionary.appのすべての辞書名を出力 set d1Res to getEveryLocalDictionaryInformation() of me –> {{dictName:"뉴에이스 영한사전 / 뉴에이스 한영사전", dictLang:"韓国語 – 英語"}, {dictName:"Multidictionnaire de la langue française", dictLang:"フランス語"}, {dictName:"राजपाल हिन्दी शब्दकोश", dictLang:"ヒンディー語"}, ….} –DIctionary.appの辞書のうち言語ラベル(shortName)が「日本語」ではじまるものを抽出(和英辞典など) set d2Res to getLocalDictionaryInformationByFromLang("日本語") of me –> {{dictName:"スーパー大辞林", dictLang:"日本語"}, {dictName:"ウィズダム英和辞典 / ウィズダム和英辞典", dictLang:"日本語 – 英語"}} –Dictionary.appの辞書のうち言語ラベル(shortName)が「日本語」で終わるものを抽出(英和辞典、日本語辞典) set d3Res to getLocalDictionaryInformationByToLang("日本語") of me –> {{dictName:"スーパー大辞林", dictLang:"日本語"}} –Dictionary.appの辞書のうち言語ラベル(shortName)が「日本語」ではじまり「英語」で終わるもの(和英辞典)を抽出 set d4Res to getLocalDictionaryInformationByFromToLang("日本語", "英語") of me –> {{dictName:"ウィズダム英和辞典 / ウィズダム和英辞典", dictLang:"日本語 – 英語"}} on getEveryLocalDictionaryInformation() set dSet to current application’s TTTDictionary’s availableDictionaries() set dList to dSet’s allObjects() set dNameList to {} repeat with i in dList set aName to (|name|() of i) as string set sName to (shortName() of i) as string set the end of dNameList to {dictName:aName, dictLang:sName} end repeat return dNameList end getEveryLocalDictionaryInformation on getLocalDictionaryInformationByFromLang(aFromLang) set dSet to current application’s TTTDictionary’s availableDictionaries() set dList to dSet’s allObjects() set dNameList to {} repeat with i in dList set aName to (|name|() of i) as string set sName to (shortName() of i) as string if sName begins with aFromLang then set the end of dNameList to {dictName:aName, dictLang:sName} end if end repeat return dNameList end getLocalDictionaryInformationByFromLang on getLocalDictionaryInformationByToLang(aToLang) set dSet to current application’s TTTDictionary’s availableDictionaries() set dList to dSet’s allObjects() set dNameList to {} repeat with i in dList set aName to (|name|() of i) as string set sName to (shortName() of i) as string if sName ends with aToLang then set the end of dNameList to {dictName:aName, dictLang:sName} end if end repeat return dNameList end getLocalDictionaryInformationByToLang on getLocalDictionaryInformationByFromToLang(aFromLang, aToLang) set dSet to current application’s TTTDictionary’s availableDictionaries() set dList to dSet’s allObjects() set dNameList to {} repeat with i in dList set aName to (|name|() of i) as string set sName to (shortName() of i) as string if sName starts with aFromLang and sName ends with aToLang then set the end of dNameList to {dictName:aName, dictLang:sName} end if end repeat return dNameList end getLocalDictionaryInformationByFromToLang |
指定辞書で指定キーワードを串刺し検索
AppleScript名:指定辞書で指定キーワードを串刺し検索 |
— Created 2015-10-25 by Takaaki Naganoya — 2015 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "dictKit" –https://github.com/mattt/DictionaryKit set dRes to getWordDifinitionInDictionaries("青い", {"スーパー大辞林"}) of me on getWordDifinitionInDictionaries(aTerm as string, dNameList as list) set localNameList to getNameOfLocalDictionaries() of me –指定辞書がローカル環境に存在しているかどうかチェック set aSet to current application’s NSMutableSet’s setWithArray:localNameList set bSet to current application’s NSMutableSet’s setWithArray:dNameList aSet’s intersectSet:bSet set dList to aSet’s allObjects() as list if dList = {} then return false set aResList to {} repeat with i in dNameList set aDictionary to (current application’s TTTDictionary’s dictionaryNamed:i) set hitEntryList to (aDictionary’s entriesForSearchTerm:aTerm) 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 set the end of aResList to {dictName:(i as text), keywordName:headW, dictContents:aText} end repeat end if end repeat aResList end getWordDifinitionInDictionaries 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 on getNameOfLocalDictionaries() 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 return dNameList end getNameOfLocalDictionaries |
ASOCでOS内蔵辞書を串刺し検索するじっけん3
AppleScript名:ASOCでOS内蔵辞書を串刺し検索するじっけん3 |
— Created 2015-10-25 by Takaaki Naganoya — 2015 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "dictKit" –https://github.com/mattt/DictionaryKit –Japanese & English Dictionaries set dNameList to {"Apple用語辞典", "Oxford Thesaurus of English", "スーパー大辞林", "Oxford Dictionary of English", "Oxford American Writer’s Thesaurus", "Wikipedia", "New Oxford American Dictionary", "ウィズダム英和辞典 / ウィズダム和英辞典", "Wikipedia"} –English Dictionaries set dNameList to {"Oxford American Writer’s Thesaurus", "New Oxford American Dictionary"} –Wikipedia set dNameList to {"Wikipedia"} set aTerm to "set" set aResList to {} repeat with i in dNameList set aDictionary to (current application’s TTTDictionary’s dictionaryNamed:i) set hitEntryList to (aDictionary’s entriesForSearchTerm:aTerm) 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 set the end of aResList to {dictName:(i as text), keywordName:headW, dictContents:aText} end repeat end if end repeat aResList 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 |
指定辞書でキーワード検索
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 set aRes to findKeywordWithDictionaryApp("rake", "ウィズダム英和辞典 / ウィズダム和英辞典") of me on findKeywordWithDictionaryApp(aKeyword, aDictName) set aDictionary to (current application’s TTTDictionary’s dictionaryNamed:aDictName) set hitEntryList to (aDictionary’s entriesForSearchTerm:aKeyword) 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 return aText end repeat return {} end if end findKeywordWithDictionaryApp 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 |
日本語の慣用句を検索する
辞書.app内の辞書「スーパー大辞林」を対象に、慣用句のキーワード検索(部分一致検索)を行うAppleScriptです。
–> dictKit.framework (To ~/Library/Frameworks/)
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 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 |
ASOCでOS内蔵辞書を串刺し検索するじっけん1
AppleScript名:ASOCでOS内蔵辞書を串刺し検索するじっけん1 |
— Created 2015-10-22 by Takaaki Naganoya — 2015 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "dictKit" –https://github.com/mattt/DictionaryKit set dSet to current application’s TTTDictionary’s availableDictionaries() set dList to dSet’s allObjects() set aTerm to "Apple" set aResList to {} repeat with ii in dList set hitEntryList to (ii’s entriesForSearchTerm:aTerm) as list if hitEntryList is not equal to {missing value} then set aDname to ii’s |name|() as text repeat with i in hitEntryList set j to contents of i set headW to (j’s headword) set headW to headW as text set aText to (j’s |text|) set aText to aText as text set the end of aResList to {aDname, headW, aText} end repeat end if end repeat aResList |
ASOCで辞書.appで検索可能な辞書名称一覧を取得する v13
AppleScript名:ASOCで辞書.appで検索可能な辞書名称一覧を取得する v13 |
— Created 2015-10-22 by Takaaki Naganoya — 2015 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" use framework "dictKit" –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 –OS X 10.10 (27 dict) –> {"뉴에이스 영한사전 / 뉴에이스 한영사전", "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", "พจนานุกรมไทย ฉบับทันสมัยและสมบูรณ์", "现代汉语规范词典"} –macOS 10.12 (32 dict) –> {"뉴에이스 영한사전 / 뉴에이스 한영사전", "Multidictionnaire de la langue française", "राजपाल हिन्दी शब्दकोश", "Dizionario italiano da un affiliato di Oxford University Press", "Oxford-Hachette French Dictionary", "NE Ordbok", "Apple用語辞典", "牛津英汉汉英词典", "スーパー大辞林", "Oxford Dictionary of English", "Oxford American Writer’s Thesaurus", "Gran Diccionario Oxford – Español-Inglés • Inglés-Español", "Norsk Ordbok", "Wikipedia", "Oxford Paravia Il Dizionario inglese – italiano/italiano – inglese", "Duden-Wissensnetz deutsche Sprache", "Толковый словарь русского языка", "Oxford Thesaurus of English", "TTY Dictionary", "Dicionário de Português licenciado para Oxford University Press", "New Oxford American Dictionary", "Prisma woordenboek Nederlands", "뉴에이스 국어사전", "Oxford German Dictionary", "五南國語活用辭典", "Diccionario General de la Lengua Española Vox", "ウィズダム英和辞典 / ウィズダム和英辞典", "Arkadaş Türkçe Sözlük", "พจนานุกรมไทย ฉบับทันสมัยและสมบูรณ์", "现代汉语规范词典", "Politikens Nudansk Ordbog", "Prisma Handwoordenboek Engels"} –macOS 10.13 (34 dict) –> {"Gran Diccionario Oxford – Español-Inglés • Inglés-Español", "Norsk Ordbok", "Arkadaş Türkçe Sözlük", "五南國語活用辭典", "Oxford Thesaurus of English", "Oxford Dictionary of English", "พจนานุกรมไทย ฉบับทันสมัยและสมบูรณ์", "スーパー大辞林", "राजपाल हिन्दी शब्दकोश", "Duden-Wissensnetz deutsche Sprache", "Multidictionnaire de la langue française", "现代汉语规范词典", "Prisma woordenboek Nederlands", "Dicionário de Português licenciado para Oxford University Press", "New Oxford American Dictionary", "ウィズダム英和辞典 / ウィズダム和英辞典", "NE Ordbok", "Толковый словарь русского языка", "Apple用語辞典", "Diccionario General de la Lengua Española Vox", "뉴에이스 국어사전", "Politikens Nudansk Ordbog", "TTY Dictionary", "Prisma Handwoordenboek Engels", "Dizionario italiano da un affiliato di Oxford University Press", "Wikipedia", "Oxford Paravia Il Dizionario inglese – italiano/italiano – inglese", "Oxford German Dictionary", "Oxford-Hachette French Dictionary", "Oxford Russian Dictionary – Русско-Английский • Англо-Русский", "Oxford American Writer’s Thesaurus", "Oxford Portuguese Dictionary – Português-Inglês • Inglês-Português", "牛津英汉汉英词典", "뉴에이스 영한사전 / 뉴에이스 한영사전"} |
ASOCで辞書検索じっけん
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" –https://github.com/mattt/DictionaryKit set aDictionary to current application’s TTTDictionary’s dictionaryNamed:"Apple用語辞典" –macOS 10.12で"Apple 用語辞典"から"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 |