AEBuildの書式
●boolean
YESの場合、short(1)
NOの場合、short(0)
●integer
short(100)
●属性参照形式
●番号参照形式
●中央参照形式
seld:abso($6D696464$)を使います。
form:indx, want:type(cha ), seld:abso($6D696464$)
tell application "QuarkXPress" to tell document 1
get font of middle character of text box 1
end tell
AppleEvent event, reply;
OSErr err;
OSType adrITunes = 'XPRa';//に
AEBuildError* error;
err = AEBuildAppleEvent ('core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:indx, want:type(cha ), seld:abso($6D696464$), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:indx, want:type(docu), seld:short(1), from:'null'()}}}}");
●任意参照形式
seld:abso($616E7920$)を使います。
form:indx, want:type(cha ), seld:abso($616E7920$),
tell application "QuarkXPress" to tell document 1
get font of some character of text box 1
end tell
AppleEvent event, reply;
OSErr err;
OSType adrITunes = 'XPRa';//に
AEBuildError* error;
err = AEBuildAppleEvent ('core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:indx, want:type(cha ), seld:abso($616E7920$), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:indx, want:type(docu), seld:short(1), from:'null'()}}}}");
●相対参照形式
afterの場合 seld:next
beforeの場合 seld:prev
form:rele, want:type(cha ), seld:next
tell application "QuarkXPress" to tell document 1
get font of character after character 2 of text box 1
end tell
AppleEvent event, reply;
OSErr err;
OSType adrITunes = 'XPRa';//に
AEBuildError* error;
err = AEBuildAppleEvent ('core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:rele, want:type(cha ), seld:next, from:obj {form:indx, want:type(cha ), seld:short(2), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:indx, want:type(docu), seld:short(1), from:'null'()}}}}}");
●名前参照形式
form:name, want:type(docu), seld:TEXT(@)
tell application "QuarkXPress" to tell document "ドキュメント1"
get font of every character of text box 1
end tell
AppleEvent event, reply;
OSErr err;
OSType adrITunes = 'XPRa';//に
AEBuildError* error;
const char* moji = [[NSString stringWithString:NSLocalizedString(@"doc1", @"ドキュメント1")] cString];
err = AEBuildAppleEvent ('core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:indx, want:type(cha ), seld:abso('all '), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:name, want:type(docu), seld:TEXT(@), from:'null'()}}}}",moji);
●ID参照形式
●全要素参照形式
form:indx , seld:abso('all ')
フォームはindexでabsoに'all 'を使う
tell application "QuarkXPress" to tell document 1
get font of every character of text box 1
end tell
AppleEvent event, reply;
OSErr err;
OSType adrITunes = 'XPRa';//に
AEBuildError* error;
err = AEBuildAppleEvent ('core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:indx, want:type(cha ), seld:abso('all '), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:indx, want:type(docu), seld:short(1), from:'null'()}}}}");
●範囲参照形式
form:rang
tell application "QuarkXPress" to tell document 1
get font of characters 1 thru 2 of text box 1
end tell
tell application "QuarkXPress" to tell document 1
'obj '{form:indx, want:type(docu), seld:short(1), from:'null'()}
font
'obj '{form:prop, want:type(prop), seld:type(font), from:
of characters 1 thru 2 of text box 1
'obj '{form:rang, want:type(cha ), seld:rang{star:'obj '{form:indx, want:type(cha ), seld:short(1), from:'ccnt'()}, stop:'obj '{form:indx, want:type(cha ), seld:short(2), from:'ccnt'()}}, from:
of text box 1
'obj '{form:indx, want:type(TXTB), seld:short(1), from:
これを組み立てて
AppleEvent event, reply;
OSErr err;
OSType adrITunes = 'XPRa';//に
AEBuildError* error;
err = AEBuildAppleEvent ('core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':'obj '{form:prop, want:type(prop), seld:type(font), from:'obj '{form:rang, want:type(cha ), seld:rang{star:'obj '{form:indx, want:type(cha ), seld:short(1), from:'ccnt'()}, stop:'obj '{form:indx, want:type(cha ), seld:short(2), from:'ccnt'()}}, from:'obj '{form:indx, want:type(TXTB), seld:short(1), from:'obj '{form:indx, want:type(docu), seld:short(1), from:'null'()}}}}");
●フィルタ参照形式
form:test
tell application "QuarkXPress" to tell document 1
set font of characters of text boxes whose font = "Osaka" to "平成明朝"
end tell
//Localizable.stringsに "heiseimincho" = "平成明朝";としてあります。UTF-16
const char* moji = [[NSString stringWithString:NSLocalizedString(@"heiseimincho", @"平成明朝")] cString];
err = AEBuildAppleEvent ('core', 'setd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':'obj '{form:prop, want:type(prop), seld:type(font), from:'obj '{form:test, want:type(cha ), from:'obj '{form:indx, want:type(TXTB), seld:abso('all '), from:'obj '{form:indx, want:type(docu), seld:short(1), from:'null'()}}, seld:cmpd{relo:'= ', obj1:'obj '{form:prop, want:type(prop), seld:type(font), from:'exmn'()}, obj2:TEXT(@)}}}, data:TEXT(@)","Osaka",moji);
●日本語の文字列
ローカライズされたNSStringをCStringに変換してTEXT(@)で置換します。
const char* moji = [[NSString stringWithString:NSLocalizedString(@"heiseimincho", @"平成明朝")] cString];
■アプリケーションシグネチャ
●Finder 'MACS'
●QuarkXPress 'XPRa'
■スイート、コマンド
●Finder
'core', 'getd','----'
'core', 'setd','----'
修正日:06/10/26