思いついた
検索部分はIndesignの検索機能を使って、tr部分だけ作れば済みそう。
これはいまのままだと、選択テキストフレームだけの処理になる。
連結されてたらstory全部にするとかも付けないと、とか不備だらけw
やることを書いておこう。
先に処理しとけば簡単だし、普段はそうやってますが、数字の仕様がコロコロ変わることがあるので何とか後処理を作りたい。
だらだら頑張ろう。
会社のサイトの記述を簡単にするため、JP Markdownを入れました。
その前のテスト用にここにも入れました。
普通に書く分には楽ですが、コードとか入るとちょっと面倒くさい。
こうやって
行頭4文字スペースを入れると
<pre><code>で囲まれてしまいます。</code></pre>
戻ると地の文に。
これをsyntaxhighlighterと合わせて使うと、空行の次が4文字以上インデントされてると、<pre>〜が付いてしまいます。
面倒くさいから通常のmarkdown記法だけで。
何もかもが便利とかいうのはなかなかないもんだ。
SyntaxHighlighterをSyntaxHighlighter plusからSyntaxHighlighter Evolvedに変えたらなんとかなった。
全ての数字を全角にして、指定桁数の数字を半角に(0桁なら全角で統一)
全ての数字を半角にして、指定桁数の数字を全角に(0桁なら半角で統一)
選択したテキストフレームが対象。
途中。
次は選択範囲のテキストだけとかも付けたい。
//replace_digit.jsx main(); function main(){ app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll; var myObjectList = new Array; if (app.documents.length !== 0){ if (app.selection.length !== 0){ for(myCounter = 0, myLength = app.selection.length; myCounter < myLength; myCounter++){ switch (app.selection[myCounter].constructor.name){ case "TextFrame": myObjectList.push(app.selection[myCounter]); break; default: break; } } if (myObjectList.length !== 0){ myDisplayDialog(myObjectList); } else { alert ("Please select a text frame and try again."); } } else { alert ("Please select an object and try again."); } } else { alert ("Please open a document, select an object, and try again."); } } function myDisplayDialog(myObjectList){ var myStringList = ["0","1","2","3","4","5"]; //桁数選択ドロップダウンリスト myDialog = app.dialogs.add({name:"DigitRplace"}); with(myDialog){ with(dialogColumns.add()){ with(borderPanels.add()){ var myDirectionButtons = radiobuttonGroups.add(); with(myDirectionButtons){ radiobuttonControls.add({staticLabel:"全てを全角にして指定桁数を半角にする", checkedState:true}); radiobuttonControls.add({staticLabel:"全てを半角にして指定桁数を全角にする"}); } } with(borderPanels.add()){ with (dialogColumns.add()){ staticTexts.add({staticLabel:"変更する:"}); } with (dialogColumns.add()){ with (dialogRows.add()){ with (dialogColumns.add()){ staticTexts.add({staticLabel:"桁数:", minWidth:0}); } with (dialogColumns.add()){ var myDigitDropdown = dropdowns.add({stringList:myStringList, selectedIndex:0}); } } } } } } var myReturn = myDialog.show(); if (myReturn === true){ var myDirectionType = myDirectionButtons.selectedButton; var myDigit = myStringList[myDigitDropdown.selectedIndex]; myDialog.destroy(); for(myCounter = 0, myLength = myObjectList.length; myCounter < myLength; myCounter++){ myChangeCorners(myObjectList[myCounter], myDirectionType, myDigit); } } else { myDialog.destroy(); } } function myChangeCorners(myObject, myDirectionType, myDigit){ var zh = myDirectionType; var kumi = myDigit; var zen_list = '0123456789'; var han_list = '0123456789'; var zen_han = {}; var uni_fie = {}; var hl = han_list.length; var regexUni, regexRep; if(zh === 0){ regexUni = /[0-9]/g; regexRep = new RegExp("([^0-9])([0-9]{" + kumi + "})(?![0-9])","g"); for(i = 0; i < hl; i++){ zen_han[zen_list[i]] = han_list[i]; uni_fie[han_list[i]] = zen_list[i]; } } else { regexUni = /[0-9]/g; regexRep = new RegExp("([^0-9])([0-9]{" + kumi + "})(?![0-9])","g"); for(i = 0; i < hl; i++){ zen_han[han_list[i]] = zen_list[i]; uni_fie[zen_list[i]] = han_list[i]; } } var txt = myObject.contents; var unified = txt.replace(regexUni, function(){ return(uni_fie[arguments[0]]);}); var result = unified.replace(regexRep, function(){ var replist = arguments[2].split(''); var stx = arguments[1]; for(i = 0, rpl = replist.length; i < rpl; i++){ stx += zen_han[replist[i]]; } return(stx);}); myObject.contents = result; }
今日は寒かったから朝からおしるこが売れて、おしるこばっかり作ってたのよ。
クリームあんみつばっかりが売れる日もあるし、色々よね。
フルーツいっぱいあるから、クリームあんみつはどうかしら? でも寒いからおしるこでもいいのよ。
だけど、うちは白玉を作りおきしないから20分くらいお時間頂くことになりますけど。
あら、みなさんクリームあんみつ? フルーツいっぱい切らないといけないから、ちょっとお時間頂きますね。
その間は、みなさんで座談会でもしてらして。
お茶飲みます?
あら、可愛いお手々、ちょっとどけてね。やけどしちゃうから。
今日はフルーツがいっぱいあるから、山盛りにしちゃいますね。
うちのお客さんは、ほんとにいい人ばっかりで。
あら、いらっしゃい。
今日は寒かったから、朝からおしるこが売れてたんですけどね。
後ろのお客さんたちみたいにクリームあんみつを食べる人もいるんですよ。
今日はフルーツがいっぱいあるから、クリームあんみつはどうかしら?
クリームあんみつ?
うちは白玉を作りおきしないから、20分ちょっとお時間頂くことになりますけど。
その間はみなさんで座談会でもしててね。
ほ〜んと、ありがたいわねぇ。
これをもう一度聞きに行こうと思っていたらまさかの閉店。
行けばよかった。