InDesign_Script-判斷直橫稿

InDesign_Script-判斷直橫稿

在英文的世界裡只有橫稿的區別,不過到了中文稿件,有橫直稿的區別,因此在Adobe的Script Guide中,並不會提到橫直書的判斷方法。

image

不過有時直橫書在程式處理上是有不同的,比如最近寫的一個指令碼,直書與橫書就有不同差異了,直書由右到左,故排列頁面物件順序時,必須先判斷X軸,再判斷Y軸。橫書則反之。所以想逃還是逃不掉的。
直橫書的判斷,不像InDesign在文字選單拉下來這麼簡單,因為它藏在文本(Story)中。

image

storyOrientation的值只有三種。
VERTICAL:直書
HORIZONTAL:橫書
UNKNOWN:未知狀態,不過個人還沒有遇過,直橫書的套用單位為一個Story,一個Story正常狀況下不是直書就是橫書。
範例


//必須先找到Story,因為只有Story才有Preference,有Preference才有StoryOrientation,找到了StoryOrientation,才能判斷這個內文中的文字是直書還是橫書。
var s = "";
for( var i=0 ; i<inDoc.stories.length ; i++ ){
    s += inDoc.stories[i].storyPreferences.storyOrientation + "\n\r";    
}
alert( s );

執行結果

image

 

1752134266就是代表該Story的內容是橫書,1986359924代表該Story內容為直書。如此一來,就可以藉由傳回的代碼,進一步決定後面程式的處理方法了。


不過在比較複雜的稿件,文件中有多個Story,橫直書的狀況都有,可能就得將全部的Story的橫書狀況取得之後,判斷大部分是橫書還是直書,以判定該份文件應隸屬哪一種。單純判斷文件資訊的方向是不準的。