Last active
May 11, 2024 02:13
-
-
Save zarigani/400795 to your computer and use it in GitHub Desktop.
TextEdit margin setting
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set margin to input_margin() | |
tell application "TextEdit" | |
activate | |
make new document | |
set text of front document to my rtf_setting(margin) | |
set tmp_path to (path to temporary items as text) & "rtf_margin_setting.scpt.rtf" | |
set doc_name to "余白設定 " & my in_text(margin) & ".rtf" | |
close front document saving yes saving in tmp_path | |
open file (tmp_path) | |
set name of front document to doc_name | |
end tell | |
on input_margin() | |
set margin to false | |
repeat until margin | |
set my text item delimiters to {",", " "} | |
"余白をmmで設定してください。 | |
" & " 例:5 ... 上 5 下 5 左5 右5 | |
" & " 例:20,5 ... 上20 下20 左5 右5 | |
" & " 例:20,10, 5,0 ... 上20 下10 左5 右0 | |
" & return & "先頭に+を付けると、ヘッダー・フッターを印刷する余白を確保します。(例:+5、+20,10,5,0)" | |
display dialog result default answer "" buttons {"キャンセル", "OK"} default button 2 with icon note | |
set margin to result's text returned's text items | |
set my text item delimiters to "" | |
if margin's number = 1 then | |
twip(margin's item 1, margin's item 1, margin's item 1, margin's item 1) & {margin} | |
else if margin's number = 2 then | |
twip(margin's item 1, margin's item 1, margin's item 2, margin's item 2) & {margin} | |
else if margin's number = 4 then | |
twip(margin's item 1, margin's item 2, margin's item 3, margin's item 4) & {margin} | |
else | |
beep | |
set margin to false | |
end if | |
end repeat | |
end input_margin | |
on rtf_setting(margin) | |
set rtf1 to "{\\rtf1\\mac\\ansicpg10001\\cocoartf824\\cocoasubrtf470" & return | |
set end_rtf1 to "}" | |
set paperw to {"\\paperw", 11905} --210mm--A4 | |
set paperh to {"\\paperh", 16838} --297mm--A4 | |
set margl to {"\\margl", margin's item 3} | |
set margr to {"\\margr", margin's item 4} | |
set margt to {"\\margt", margin's item 1} | |
set margb to {"\\margb", margin's item 2} | |
set vieww to {"\\vieww", 999999} | |
set viewh to {"\\viewh", 999999} | |
set viewkind to {"\\viewkind", 1} | |
set viewscale to {"\\viewscale", 100} | |
set page_setting to paperw & paperh & margl & margr & margt & margb & vieww & viewh & viewkind & viewscale & return as text | |
rtf1 & page_setting & end_rtf1 | |
end rtf_setting | |
on in_text(margin) | |
my join(margin's item 5, "_") | |
end in_text | |
on twip(t, b, l, r) | |
set twip_margin to {twip_form(t), twip_form(b), twip_form(l), twip_form(r)} | |
if t's item 1 is "+" and twip_margin's item 1 < 576 then set twip_margin's item 1 to 576 | |
if b's item 1 is "+" and twip_margin's item 2 < 288 then set twip_margin's item 2 to 288 | |
twip_margin | |
end twip | |
on twip_form(mm) | |
round (mm as number) * 1440 / 25.4 rounding down | |
end twip_form | |
on join(sourceList, delimiter) | |
set oldDelimiters to my text item delimiters | |
set AppleScript's text item delimiters to {delimiter} | |
set theText to sourceList as text | |
set my text item delimiters to oldDelimiters | |
return theText | |
end join |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment