From b3ee7c26a9907c049d49e4fbb99373cd9e82d94e Mon Sep 17 00:00:00 2001 From: yintzuyuan <83154914+yintzuyuan@users.noreply.github.com> Date: Sat, 12 Nov 2022 16:02:31 +0800 Subject: [PATCH 01/18] Update README.md --- README.md | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 609f91d3..c31d9521 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ The scripts require a recent version of Glyphs 2.x running on macOS 10.9 or late All the scripts show a **tooltip** when you hover the mouse pointer over their menu entry. In scripts with a GUI, most UI elements (checkboxes, text entry fields, etc.) have tooltips as well. This way you get the explanation you need right where it counts. -## Anchors +## 錨點 *Anchor Mover is for batch-processing anchor positions. Can be useful after adjusting the x-height. No-brainer: I always use the Reposition script on my combining marks, so stacking combining marks stays in the italic angle.* @@ -76,7 +76,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Report Non-Standard Anchors to Macro window:** Goes through all glyphs in the font and reports in the Macro window if it finds non-default anchors. Lines are copy-pasteable in Edit view. * **Shine Through Anchors:** In all layers of selected glyphs, inserts ‘traversing’ anchors from components. -## App +## 應用程序 *If you are coding, add a keyboard shortcut for Method Reporter, you will need this a lot. Print Window can come in handy if you want a resolution-independent PDF screenshot of your window content. Best for post-processing in a vector illustration app.* @@ -94,7 +94,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Toggle RTL-LTR:** Toggle frontmost tab between LTR and RTL writing direction. Useful for setting a keyboard shortcut in System Preferences. * **Update git Repositories in Scripts Folder:** Executes a 'git pull' command on all subfolders in the Glyphs Scripts folder. Useful if you have a lot of git repos in your Scripts folder. -## Build Glyphs +## 建構字符 *Most important: Quote Manager, and the Build scripts for Small Figures, Symbols, Ldot. The other scripts are mainly intended to give you a quick head start for covering certain Unicode ranges if requested by the client.* @@ -116,7 +116,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Fix Punctuation Dots and Heights:** Syncs punctuation dots between ¡!¿? (and their SC+CASE variants). Will use dot from exclam in all other glyphs, and shift ¡¿ in SC and CASE variants. Assumes that ¡¿ are components in !?. Detailed report in Macro Window.. * **Quote Manager:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. *Needs Vanilla.* -## Color Fonts +## 彩色字型 *These scripts are for situations you will encounter in a Color Font workflow. The Merge script is mainly for creating a fallback glyph for CPAL/COLR fonts. This way the fallback has the full bbox, and no clipping will occur in Chrome.* @@ -128,7 +128,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Merge Suffixed Glyphs into Color Layers:** Merges x.shadow, x.body and x.front into separate CPAL Color layers of x. *Needs Vanilla.* * **sbix Spacer:** Batch-set sbix positions and glyph widths. *Needs Vanilla.* -## Compare Frontmost Fonts +## 比較 Frontmost 字型 *These scripts are intended for syncing uprights with their italics. Open two fonts, and run the scripts. They do not change your fonts, but report in detail in the Macro window.* @@ -145,7 +145,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Compare Metrics:** Compare widths of two frontmost fonts. * **Compare Sidebearings:** Compare sidebearings of two frontmost fonts. -## Components +## 部件 *Populate Backgrounds with Components is very useful when you build letters based on other, e.g., ae or oe can take an e in the background. The script puts the e in the background of each master, and the UI has an option to align selected points with the e in the background. If you use corner components for serifs in a multiple-master font, the Propagate script will save you a lot of time.* @@ -164,7 +164,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Stitcher:** In selected glyphs, the Stitcher inserts components on your paths at fixed intervals. Useful for turning open paths (monolines) into dotted lines. Use an anchor called 'origin' for determining the component position in stitched letters. Consider using the [Stitcher plug-in](glyphsapp3://showplugin/Stitcher) instead. *Needs Vanilla.* * **Sync Components Across Masters:** Takes the current layer’s components, and resets all other masters to the same component structure. Ignores paths and anchors. Hold down Option key to *delete* all paths and anchors. -## Features +## 特性 *In script typefaces, you may often need the Build Positional calt script. If you find yourself turning OT features on and off a lot, take a look at the Activate Default Features and Floating Features scripts. And check out the Set Palette from Window > Plugin Manager.* @@ -185,7 +185,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * * **Stylistic Sets > Create pseudorandom calt feature:** Creates pseudorandom calt (contextual alternatives) feature based on number of existing ssXX glyphs in the font. Also includes the default class in the rotation algorithm. * * **Stylistic Sets > Set ssXX Names:** Prefills names for ssXX features with ‘Alternate’ or another chosen text, plus the name of the first substituted glyph, e.g., ‘Alternate a’. Option to preserve existing namings.*Needs Vanilla.* -## Font Info +## 字型資訊 *Vertical Metrics is useful for finding and syncing the vertical metric parameters in Font Info > Font and Font Info > Masters. Clean Version String is very useful too. Font Info Batch Setter is a must for syncing Font Info settings across many fonts. Careful about Set WWS/Preferred Names scripts: The app usually takes care of naming automatically, so their use cases are very rare.* @@ -203,7 +203,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Style Renamer:** Batch-add a name particle to your style names, or batch-remove it from them. Useful for switching all your styles from italic to roman naming and vice versa. *Needs Vanilla.* * **Vertical Metrics Manager:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics). *Needs Vanilla.* -## Glyph Names, Notes and Unicode +## 字形名稱、註釋和 Unicode *Most scripts make managing glyph names and Unicodes a little easier. Garbage Collection is useful for cleaning up the mess of the reporter scripts, or other annotations before you hand the files over to a third party.* @@ -219,7 +219,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Reorder Unicodes of Selected Glyphs:** Reorders Unicodes so that default Unicode comes first. * **Switch Mirrored Characters:** In the current Edit View, switch mirrored BiDi characters, e.g. () → )(. Useful for switching parentheses and quotes after switching writing direction in a tab. -## Guides +## 指南 *These scripts are mostly intended for cleaning up the plethora of guides I see when working on third-party fonts.* @@ -229,7 +229,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Select All Global Guides:** Selects all global (red) guides in Edit view. Useful if you have many and need to batch-transform them. * **Select All Local Guides:** Selects all local (blue) guides (in all selected glyphs). -## Hinting +## 字體微調 *Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.* @@ -252,7 +252,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Transfer Hints to First Master:** Copies PS hints from the current layer to the first master layer, provided the paths are compatible. Reports errors to the Macro window. * **TT Autoinstruct:** Automatically add Glyphs TT instructions to the selected glyphs in the selected master. (Should be the first master.) Attention: this is NOT Werner Lemberg's ttfAutohint, but the manual TT hints that the TT Instruction tool (I) would add through the context menu item of the same name. Useful for adding hints in many glyphs at once. -## Images +## 圖片 *Mainly intended for curing the headaches you may undergo when handling a lot of (background) images.* @@ -265,7 +265,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Toggle Image Lock:** Lock or unlock all images in all selected glyphs. *Needs Vanilla.* * **Transform Images:** GUI for batch-transforming images (x/y offset and x/y scale) in the visible layers of selected glyphs. *Needs Vanilla.* -## Interpolation +## 插值 *Most important: Insert Instances (for determining your instances and their style linking), Kink Finder and Find Shapeshifting Glyphs. I use Show Next/Previous Instance with the keyboard shortcut ctrl-up/down a lot.* @@ -338,7 +338,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Steal Kerning Groups from Font:** Steals left/right kerning groups for all selected glyphs from a 2nd font. *Needs Vanilla.* * **Zero Kerner:** Add group kernings with value zero for pairs that are missing in one master but present in others. Helps preserve interpolatable kerning in OTVar exports. *Needs Vanilla.* -## Paths +## 路徑 *I use Rotate Around Anchor for my asterisks. Important for outline checking: Path Problem Finder, Find Near Vertical Misses and the Green Blue Manager. Rewire Fire has become important in OTVar production, because it helps reduce duplicate outline segments at shape edges (which create dark spots in anti-aliasing).* @@ -368,7 +368,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Straight Stem Cruncher:** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. *Needs Vanilla.* * **Tunnify:** Looks for all path segments where at least one handle is selected. Then, evens out the handles of the segments, i.e., they will both have the same Fit Curve percentage. Can fix Adobe Illustrator's zero-handles (segments with one handle retracted into the nearest node). The idea for this script came from Eduardo Tunni (as colported by Pablo Impallari), hence the title of the script. I have never seen Eduardo's algorithm though, so my implementation might be a little different to his, especially the treatment of zero-handles. -## Pixelfonts +## 點陣字型 *These scripts are useful for a pixelfont workflow, where you place a pixel component in a coarser grid. If you are doing pixel designs, take a look at the pixel-related plug-ins available in Window > Plugin Manager.* @@ -378,14 +378,14 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Flashify Pixels:** Creates small bridges in order to prevent self-intersection of paths so counters stay white. This is especially a problem for the Flash font renderer, hence the name of the script. * **Reset Rotated and Mirrored Components:** Looks for scaled, mirrored and rotated components and turns them back into their default scale and orientation, but keeps their position. Useful for fixing mirrored pixels. -## Smallcaps +## 小體大寫字母 *When I have Smallcaps in my font, I always run Check Smallcap Consistency. Take its report with a grain of salt though: it lists a lot of false positives, and not every warning is equally important.* * **Check Smallcap Consistency:** Performs a few tests on your SC set and reports into the Macro window, especially kerning groups and glyph set. * **Copy Kerning from Caps to Smallcaps:** Looks for cap kerning pairs and reduplicates their kerning for corresponding .sc glyphs, if they are available in the font. Please be careful: Will overwrite existing SC kerning pairs. -## Spacing +## 間距 *Most important: Fix Math Operator Spacing, Bracket Metrics Manager and, if you have arrows, Fix Arrow Positioning. The New Tab scripts are useful when creating figures.* @@ -408,17 +408,17 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Steal Metrics:** Steals the sidebearing or width values for all selected glyphs from a 2nd font. Optionally also transfers metrics keys like '=x+20'. *Needs Vanilla.* * **Tabular Checker:** Goes through tabular glyphs and checks if they are monospaced. Reports exceptions. *Needs Vanilla.* -## Test +## 測試 -*Most important: the Test HTML scripts. If you have unusually high or low text selection highlights in Adobe or Apple apps, run Report Highest and Lowest Glyphs to find the glyph causing it. Language Report is just for beefing up your specimen, and will not give you authoritative information.* +*推薦腳本:測試用 HTML 腳本。如果您在 Adobe 或 Apple 應用程式中發現選取框異常的高或低,可以執行「最高和最低點字符報告」查詢找出導致狀況發生的字符。「拉丁字母支援語言報告」提供的資訊是參考性的建議,不是絕對要遵守的規範。* -* **Copy InDesign Test Text:** Copies a test text for InDesign into the clipboard. -* **Copy Word Test Text:** Copies a test text for MS Word into the clipboard. -* **Language Report:** Tries to give you a preliminary idea about how many and which languages are supported with your Latin characters. Based on Underware’s Latin-Plus list, with modifications. -* **Pangram Helper:** Helps you write a pangram, which you can copy into the clipboard, or put into a new tab. *Needs Vanilla.* -* **Report Highest and Lowest Glyphs:** Reports glyphs with highest and lowest bounding boxes for all masters. -* **Variable Font Test HTML:** Create a Test HTML for the current font inside the current Variation Font Export folder. -* **Webfont Test HTML:** Creates a Test HTML for the current font inside the current Webfont Export folder, or for the current Glyphs Project in the project’s export path. +* **Copy InDesign Test Text / 複製 InDesign 測試文字:** 將 InDesign 的測試文字複製到剪貼簿。 +* **Copy Word Test Text / 複製 Word 測試文字:** 將 Word 的測試文字複製到剪貼簿。 +* **Language Report / 拉丁字母支援語言報告:** 在巨集視窗輸出讓您初步了解您的拉丁字符支持多少種語言以及哪些語言的資訊。基於 Underware's Latin-Plus 列表,並進行了修改。 +* **Pangram Helper / 全字母句小幫手:** 幫助您編寫歐文的全字母句,您可以將其複製到剪貼簿或放入新分頁中。 *需要 Vanilla JavaScript* +* **Report Highest and Lowest Glyphs / 最高和最低點字符報告:** 讀取所有母版的所有字符,在巨集視窗輸出最高和最低點字符的資訊。 +* **Variable Font Test HTML / 可變字型測試 HTML:** 為目前已輸出到資料夾的可變字型在預設瀏覽器開啟一個測試用的 HTML。 +* **Webfont Test HTML / 網路用字型測試 HTML:** Creates a Test HTML for the current font inside the current Webfont Export folder, or for the current Glyphs Project in the project’s export path.為目前已輸出到資料夾的網路用字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 # License From a4ff44d381072c55d8cc956d6d74710316061970 Mon Sep 17 00:00:00 2001 From: yintzuyuan Date: Thu, 17 Nov 2022 18:44:06 +0800 Subject: [PATCH 02/18] =?UTF-8?q?=E7=BF=BB=E8=AD=AF=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c31d9521..1684d8d9 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ These are Python scripts intended for font production in the [Glyphs font editor ## Glyphs 3 1. **Install the modules:** In *Window > Plugin Manager,* click on the *Modules* tab, and make sure at least the [Python](glyphsapp3://showplugin/python) and [Vanilla](glyphsapp3://showplugin/vanilla) modules are installed. If they were not installed before, restart the app. -2. **Install the scripts:** Go to *Window > Plugin Manager* and click on the *Scripts* tab. Scroll down to [mekkablue scripts](glyphsapp3://showplugin/mekkablue%20scripts) and click on the *Install* button next to it. +2. **Install the scripts:** Go to *Window > Plugin Manager* and click on the *Scripts* tab. Scroll down to [mekkablue scripts](glyphsapp3://showplugin/mekkablue%20scripts) and click on the *Install* button next to it. Now the scripts are available in *Script > mekkablue.* If the mekkablue scripts do not show up in the *Script* menu, hold down the Option key and choose *Script > Reload Scripts* (Cmd-Opt-Shift-Y). @@ -196,10 +196,10 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Font Info Overview:** Lists some Font Info values for all opened fonts. * **Prepare Font Info:** Prepare open fonts for a modern font production and git workflow by setting certain custom parameters. *Needs Vanilla.* * **Remove Custom Parameters:** Removes all parameters of one kind from Font Info > Font, Masters, Instances. Useful if you have many masters or instances. *Needs Vanilla.* -* **Set Preferred Names (Name IDs 16 and 17) for Width Variants:** Sets Preferred Names custom parameters (Name IDs 16 and 17) for all instances, so that width variants will appear in separate menus in Adobe apps. +* **Set Preferred Names (Name IDs 16 and 17) for Width Variants:** Sets Preferred Names custom parameters (Name IDs 16 and 17) for all instances, so that width variants will appear in separate menus in Adobe apps. * **Set Style Linking:** Attempts to set the Bold/Italic bits. * **Set Subscript and Superscript Parameters:** Measures your superior and inferior figures and derives subscript/superscript X/Y offset/size parameters. *Needs Vanilla.* -* **Set WWS Names (Name IDs 21 and 22):** Sets WWS custom parameters (Name IDs 21 and 22) for all instances where necessary: Puts all info except RIBBI into the WWSFamilyName, and only keeps RIBBI for the WWSSubfamilyName. +* **Set WWS Names (Name IDs 21 and 22):** Sets WWS custom parameters (Name IDs 21 and 22) for all instances where necessary: Puts all info except RIBBI into the WWSFamilyName, and only keeps RIBBI for the WWSSubfamilyName. * **Style Renamer:** Batch-add a name particle to your style names, or batch-remove it from them. Useful for switching all your styles from italic to roman naming and vice versa. *Needs Vanilla.* * **Vertical Metrics Manager:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics). *Needs Vanilla.* @@ -290,7 +290,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **OTVar Player:** Animates the current glyph with a loop along the weight axis. *Needs Vanilla.* * **Remove All Non-Master Layers:** Deletes all layers which are neither master layers, nor brace layers, nor bracket layers. Useful for getting rid of backup layers. * **Report Instance Interpolations:** Outputs master coefficients for each instance in Macro Window. Tells you which masters are involved in interpolating a specific instance, and to which extent. -* **Reset Axis Mappings:** Inserts (or resets) a default Axis Mappings parameter for all style values currently present in the font. Ignores style values outside the designspace bounds defined by the masters. +* **Reset Axis Mappings:** Inserts (or resets) a default Axis Mappings parameter for all style values currently present in the font. Ignores style values outside the designspace bounds defined by the masters. * **Set Weight Axis Locations in Instances:** Will set weight axis location parameters for all instances, and sync them with their respective usWeightClass. Will set the width axis coordinates to the spec defaults for usWidthClass, if they have not been set yet. Otherwise will keep them as is. * **Short Segment Finder:** Goes through all interpolations and finds segments shorter than a user-specified threshold length. *Needs Vanilla.* * **Travel Tracker:** Finds interpolations in which points travel more than they should, i.e., can find wrongly hooked-up asterisks and slashes. The results are incomplete, and usually have many false positives, but it sometimes finds cases that the Shapeshifter script misses. *Needs Vanilla.* @@ -395,7 +395,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Change Metrics by Percentage:** Change LSB/RSB of selected glyphs by a percentage value. Undo with the Revert button. *Needs Vanilla.* * **Find and Replace in Metrics Keys:** GUI for searching and replacing text in the L and R metrics keys, e.g. replace '=X+15' by '=X'. Leave the search field blank for appending. * **Fix Arrow Positioning:** Fixes the placement and metrics keys of arrows, dependent on a specified default arrow. Adds metric keys and moves arrows vertically. Does not create new glyphs, only works on existing ones. *Needs Vanilla.* -* **Fix Math Operator Spacing:** Syncs widths and centers glyphs for +−×÷=≠±≈¬, optionally also lesser/greater symbols and asciicircum/asciitilde. *Needs Vanilla.* +* **Fix Math Operator Spacing:** Syncs widths and centers glyphs for +−×÷=≠±≈¬, optionally also lesser/greater symbols and asciicircum/asciitilde. *Needs Vanilla.* * **Freeze Placeholders:** In the current Edit tab, will change all inserted placeholders for the current glyph, thus 'freeze' the placeholders. * **Metrics Key Manager:** Batch apply metrics keys to the current font. *Needs Vanilla.* * **Monospace Checker:** Checks if all glyph widths in the frontmost font are actually monospaced. Reports in Macro Window and opens a tab with affected layers. *Needs Vanilla.* @@ -418,7 +418,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Pangram Helper / 全字母句小幫手:** 幫助您編寫歐文的全字母句,您可以將其複製到剪貼簿或放入新分頁中。 *需要 Vanilla JavaScript* * **Report Highest and Lowest Glyphs / 最高和最低點字符報告:** 讀取所有母版的所有字符,在巨集視窗輸出最高和最低點字符的資訊。 * **Variable Font Test HTML / 可變字型測試 HTML:** 為目前已輸出到資料夾的可變字型在預設瀏覽器開啟一個測試用的 HTML。 -* **Webfont Test HTML / 網路用字型測試 HTML:** Creates a Test HTML for the current font inside the current Webfont Export folder, or for the current Glyphs Project in the project’s export path.為目前已輸出到資料夾的網路用字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 +* **Webfont Test HTML / 網路用字型測試 HTML:** 為目前已輸出到資料夾的網路用字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 # License From 3968b6998f80421ef289be542cd6a342da831091 Mon Sep 17 00:00:00 2001 From: yintzuyuan Date: Sat, 19 Nov 2022 00:32:39 +0800 Subject: [PATCH 03/18] =?UTF-8?q?=E6=B8=AC=E8=A9=A6=E3=80=81=E6=87=89?= =?UTF-8?q?=E7=94=A8=E7=A8=8B=E5=BC=8F=E9=83=A8=E5=88=86=E7=BF=BB=E8=AD=AF?= =?UTF-8?q?=E5=AE=8C=E7=95=A2=EF=BC=8C=E4=B8=80=E4=BA=9B=E5=9B=B0=E6=83=91?= =?UTF-8?q?=E8=85=B3=E6=9C=AC=E5=8A=A0=E4=B8=8A=E8=A8=BB=E9=87=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 264 +++++++++++++++++++++++++++--------------------------- 1 file changed, 133 insertions(+), 131 deletions(-) diff --git a/README.md b/README.md index 1684d8d9..41619e01 100644 --- a/README.md +++ b/README.md @@ -52,47 +52,49 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 錨點 -*Anchor Mover is for batch-processing anchor positions. Can be useful after adjusting the x-height. No-brainer: I always use the Reposition script on my combining marks, so stacking combining marks stays in the italic angle.* +*「錨點移動器」用於批次處理錨點位置,在調整 x 高度之後會很有用。 輕而易舉:我總是在我的組合標記上使用「重新定位」腳本,因此就算在斜體角度也能維持一致。* -* **Anchor Mover:** GUI for batch-processing anchor positions in multiple glyphs. *Needs Vanilla.* -* **Batch Insert Anchors:** GUI for batch-inserting anchors of the same name at the same approximate position in multiple glyphs. *Needs Vanilla.* -* **Find and Replace in Anchor Names:** GUI for replacing text in the names of anchors in selected glyphs. Processes all layers. *Needs Vanilla.* +* **Anchor Mover / 錨點移動器:** GUI for batch-processing anchor positions in multiple glyphs. *需要 Vanilla JavaScript* +* **Batch Insert Anchors:** GUI for batch-inserting anchors of the same name at the same approximate position in multiple glyphs. *需要 Vanilla JavaScript* +* **Find and Replace in Anchor Names:** GUI for replacing text in the names of anchors in selected glyphs. Processes all layers. *需要 Vanilla JavaScript* * **Fix Arabic Anchor Order in Ligatures:** Fixes the order of *top_X* and *bottom_X* anchors to RTL. In files converted from a different format, it sometimes happens that *top_1* is left of *top_2*, but it should be the other way around, otherwise your mark2liga will mess up. This script goes through your selected glyphs, and if they are Arabic ligatures, reorders all anchors to RTL order, at the same time not touching their coordinates. * **Insert All Anchors in All Layers:** On each layer of a selected glyph, adds all missing anchors (but present in other layers of that glyph). Puts anchors at an averaged position. * **Insert exit and entry Anchors to Selected Positional Glyphs:** Adds entry and exit anchors for cursive attachment in selected glyphs. By default, it places the exit at (0, 0) and the entry at a node at RSB if such a node exists. Please adjust for your own needs. -* **Mark Mover:** Move marks to their respective heights, e.g. …comb.case to cap height, …comb to x-height, etc. Also allows you to set left and right metrics keys. *Needs Vanilla.* +* **Mark Mover / 標記移動器:** Move marks to their respective heights, e.g. …comb.case to cap height, …comb to x-height, etc. Also allows you to set left and right metrics keys. *需要 Vanilla JavaScript* * **Move ogonek Anchors to Baseline Intersection:** Moves all ogonek and _ogonek anchors to the rightmost intersection of the outline with the baseline. * **Move topright Anchors for Vertical Carons:** Moves all topright and _topright anchors to the rightmost intersection of the outline with the x-height. Useful for building Czech/Slovak letters with vertical caron. * **Move Vietnamese Marks to top_viet Anchor in Circumflex:** Moves *acute*, *grave* and *hookabovecomb* to the *top_viet* anchor in every layer of selected glyphs. Useful for Vietnamese double accents. Assumes that you have *top_viet* anchors in all layers of *circumflexcomb*. * **New Tab with Glyphs Containing Anchor:** Opens a new tab with all glyphs containing a specific anchor. * **New Tab with top and bottom Anchors Not on Metric Lines:** Report the y positions of all *top* and *bottom* anchors into the Macro Panel, and opens new tabs with all glyphs that have a stray anchor on any of the master, bracket or brace layers of any glyph in the font. Ignores the user selection, and analyses all glyphs, exporting and non-exporting. Useful to see if a top anchor is not exactly where it should be. * **Prefix all exit/entry anchors with a hashtag:** Looks for all exit and entry anchors anywhere in the font, and disables `curs` feature generation by prefixing their anchor names with `#`. -* **Realign Stacking Anchors:** In stacking combining accents, moves top and bottom anchors exactly above or below the respective _top and _bottom anchors, respecting the italic angle. This way, stacking multiple nonspacing accents will always stay in line. *Needs Vanilla.* -* **Remove Anchors in Suffixed Glyphs:** Removes all anchors from glyphs with one of the user-specified suffix. Useful for removing left-over anchors in sups/subs/sinf/ordn variants of glyphs after copying, scaling and editing. *Needs Vanilla.* -* **Remove Anchors:** Deletes anchors with a specified name in selected glyphs (or the whole font). *Needs Vanilla.* +* **Realign Stacking Anchors:** In stacking combining accents, moves top and bottom anchors exactly above or below the respective _top and _bottom anchors, respecting the italic angle. This way, stacking multiple nonspacing accents will always stay in line. *需要 Vanilla JavaScript* +* **Remove Anchors in Suffixed Glyphs:** Removes all anchors from glyphs with one of the user-specified suffix. Useful for removing left-over anchors in sups/subs/sinf/ordn variants of glyphs after copying, scaling and editing. *需要 Vanilla JavaScript* +* **Remove Anchors:** Deletes anchors with a specified name in selected glyphs (or the whole font). *需要 Vanilla JavaScript* * **Remove Non-Standard Anchors from Selected Glyphs:** Removes all anchors from a glyph that should not be there by default, e.g., `ogonek` from `J`. Potentially dangerous, because it may delete false positives. So, first use the report script below. -* **Replicate Anchors:** Batch-add anchors to selected glyphs. Specify a source glyph to replicate the anchors from. *Needs Vanilla.* +* **Replicate Anchors:** Batch-add anchors to selected glyphs. Specify a source glyph to replicate the anchors from. *需要 Vanilla JavaScript* * **Replicate Anchors in Suffixed Glyphs:** Goes through selected dot-suffixed glyphs and duplicates anchors from their respective base glyphs. E.g. will recreate anchors of *X* in *X.ss01*, *X.swsh* and *X.alt*. * **Report Non-Standard Anchors to Macro window:** Goes through all glyphs in the font and reports in the Macro window if it finds non-default anchors. Lines are copy-pasteable in Edit view. * **Shine Through Anchors:** In all layers of selected glyphs, inserts ‘traversing’ anchors from components. -## 應用程序 - -*If you are coding, add a keyboard shortcut for Method Reporter, you will need this a lot. Print Window can come in handy if you want a resolution-independent PDF screenshot of your window content. Best for post-processing in a vector illustration app.* - -* **Close All Tabs of All Open Fonts:** Closes all Edit tabs of all fonts currently open in the app. -* **Copy Download URL for Current App Version:** Puts the download URL of the current Glyphs app version into your clipboard for easy pasting. -* **Decrease** and **Increase Line Height:** Increases the Edit View line height by a quarter, or decreases it by a fifth. Useful for setting shortcuts if you need to switch between line heights a lot. -* **Method Reporter:** GUI for filtering through the method names of Python and PyObjC Classes available from within Glyphs. You can use multiple space-separated search terms (for an AND concatenation) and asterisk as jokers (at the beginning, in the middle and at the end). Double click to put the method name in your clipboard and open help in the Macro window. Useful for coders. *Needs Vanilla.* -* **Parameter Reporter:** Like Method Reporter, but for custom parameters. Double click to copy a parameter in the clipboard, ready for pasting in Font Info. *Needs Vanilla.* -* **Print Window:** Print the frontmost window. Useful for saving a vector PDF of your window content, including the renderings of reporter plug-ins (extensions for the *View* menu). -* **Resetter:** Resets Quicklook preview, keyboard shortcuts, and clearing out app prefs, saved app states, autosaves. *Needs Vanilla.* -* **Set Export Paths to Adobe Fonts Folder:** Sets the OpenType font and Variable Font export paths to the Adobe Fonts Folder. -* **Set Hidden App Preferences:** GUI for reading and setting ‘hidden’ app preferences, which are not listed in the GUI. *Needs Vanilla.* -* **Set Label Colors:** Override the default app label colors. *Needs Vanilla.* -* **Set Tool Shortcuts:** Set keyboard shortcuts for the tools in the toolbar. *Needs Vanilla.* -* **Toggle RTL-LTR:** Toggle frontmost tab between LTR and RTL writing direction. Useful for setting a keyboard shortcut in System Preferences. -* **Update git Repositories in Scripts Folder:** Executes a 'git pull' command on all subfolders in the Glyphs Scripts folder. Useful if you have a lot of git repos in your Scripts folder. +## 應用程式 + +*如果您正在寫程式,請為「方法報告器」添加快捷鍵,您將非常需要它。如果你想要一個與解析度無關的視窗內容的PDF螢幕截圖讓你可以在向量插圖應用程式中進行後製,「列印視窗」可以派上用場。* + +* **Close All Tabs of All Open Fonts / 關閉所有字型檔的編輯分頁:** 關閉目前在應用程式中開啟字型檔的所有編輯分頁。 +* **Copy Download URL for Current App Version / 複製目前應用程式版本的下載連結:** 將目前 Glyphs 應用程式版本的下載連結放入剪貼簿以便於貼上。 +* **Decrease and Increase Line Height / 減少和增加行高:** 將「編輯畫面」的行高增加四分之一或減少五分之一。如果您需要在行高之間頻繁切換,推薦將它們設定到快捷鍵。 +* **Method Reporter / 方法報告器:** 圖形使用者介面用於過濾 Glyphs 中可用的 Python 和 PyObjC 類的方法名稱。您可以使用多個空格分隔檢索詞(用於 AND 串接)和星號作為未知字元(可放在開頭、中間和結尾)。按兩下可將方法名稱放入剪貼簿,然後在巨集視窗中打開説明。對寫程式的人很有用。 *需要 Vanilla JavaScript* +* **Navigate - Activate next and previous glyph / :** 啟動下一個或上一個字符的編輯模式。 +* **Parameter Reporter / 參數報告器:** 類似於方法報告器,但用於自定義參數。按兩下以複製剪貼簿中的參數,準備貼到字型資訊中。 *需要 Vanilla JavaScript* +* **Print Window / 列印視窗:** 列印當前視窗。用於保存視窗內容的向量 PDF,包括檢視器外掛的渲染(“顯示”選單的擴展)。 *成果困惑* +* **Resetter / 重置器:** 重置快速查看預覽、鍵盤快捷鍵和清除偏好設定、已儲存的應用程式狀態和自動儲存。 *需要 Vanilla JavaScript* +* **Set Export Paths to Adobe Fonts Folder / 將匯出路徑設置為 Adobe Fonts 資料夾:** 將 OpenType 字型和可變字型的匯出位置設定為 Adobe 字型資料夾。 +* **Set Hidden App Preferences / 設定隱藏的應用程式偏好設定:** GUI for reading and setting ‘hidden’ app preferences, which are not listed in the GUI.一個用於讀取和設定「隱藏」的應用程式偏好設定的圖形使用者介面,這些偏好設定未在圖形使用者介面中列出。 *需要 Vanilla JavaScript* *翻譯困惑* +* **Set Label Colors / 設定標籤顏色:** 覆蓋預設應用程式標籤顏色。 *需要 Vanilla JavaScript* +* **Set Tool Shortcuts / 設定工具快捷鍵:** 為工具列中的工具設置鍵盤快捷鍵。 *需要 Vanilla JavaScript* +* **Toggle Horizontal-Vertical / 切換 橫排-直排:** 在當前分頁切換橫排(左起)-直排書寫方向。推薦在「系統偏好設定」中設定快捷鍵使用。 +* **Toggle RTL-LTR / 切換 右起-左起:** 在當前分頁切換右起-左起書寫方向。推薦在「系統偏好設定」中設定快捷鍵使用。 +* **Update git Repositories in Scripts Folder / 更新文本資料夾中的 git 儲存庫:** 對 Glyphs 腳本資料夾中的所有子資料夾執行「git pull」指令。如果腳本資料夾中有很多 git 儲存庫就很有用。 *功能困惑* ## 建構字符 @@ -100,21 +102,21 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Build APL Greek:** Create APL Greek glyphs. * **Build careof and cadauna:** Builds `cadauna` and `careof` from your `c`, `o`, `u` and `fraction` glyphs. -* **Build Circled Glyphs:** Builds circled numbers and letters (U+24B6...24EA and U+2460...2473) from `_part.circle` and your letters and figures. *Needs Vanilla.* +* **Build Circled Glyphs:** Builds circled numbers and letters (U+24B6...24EA and U+2460...2473) from `_part.circle` and your letters and figures. *需要 Vanilla JavaScript* * **Build Dotted Numbers:** Build dotted numbers from your default figures and the period. * **Build ellipsis from period components:** Inserts exit and entry anchors in the period glyph and rebuilds ellipsis with auto-aligned components of period. Attention: decomposes all period components used in other glyphs (e.g., colon). * **Build Extra Math Symbols:** Builds `lessoverequal`, `greateroverequal`, `bulletoperator`, `rightanglearc`, `righttriangle`, `sphericalangle`, `measuredangle`, `sunWithRays`, `positionIndicator`, `diameterSign`, `viewdataSquare`, `control`. * **Build Ldot and ldot:** Builds `Ldot`, `ldot` and `ldot.sc` from existing `L` and `periodcentered.loclCAT` (`.case`/`.sc`). Assumes that you have already created and properly spaced `L`-`periodcentered.loclCAT`-`L`, etc. * **Build Parenthesized Glyphs:** Creates parenthesized letters and numbers: `one.paren`, `two.paren`, `three.paren`, `four.paren`, `five.paren`, `six.paren`, `seven.paren`, `eight.paren`, `nine.paren`, `one_zero.paren`, `one_one.paren`, `one_two.paren`, `one_three.paren`, `one_four.paren`, `one_five.paren`, `one_six.paren`, `one_seven.paren`, `one_eight.paren`, `one_nine.paren`, `two_zero.paren`, `a.paren`, `b.paren`, `c.paren`, `d.paren`, `e.paren`, `f.paren`, `g.paren`, `h.paren`, `i.paren`, `j.paren`, `k.paren`, `l.paren`, `m.paren`, `n.paren`, `o.paren`, `p.paren`, `q.paren`, `r.paren`, `s.paren`, `t.paren`, `u.paren`, `v.paren`, `w.paren`, `x.paren`, `y.paren`, `z.paren`. * **Build Q from O and _tail.Q:** Run this script *after* doing *Component from Selection* on the Q tail and naming it `_tail.Q`. -* **Build Rare Symbols:** Builds white and black, small and large, circles, triangles and squares. *Needs Vanilla.* +* **Build Rare Symbols:** Builds white and black, small and large, circles, triangles and squares. *需要 Vanilla JavaScript* * **Build rtlm Alternates:** Creates horizontally mirrored composites for selected glyphs and updates the rtlm OpenType feature. Auto-aligns the components, but also adds metrics keys that kick in in case you decompose. * **Build Small Figures:** Takes a default set of figures (e.g., `.dnom`), and derives the others (`.numr`, `superior`/`.sups`, `inferior`/`.sinf`, `.subs`) as component copies. Respects the italic angle. *Need Vanilla.* * **Build small letter SM, TEL:** Creates the glyphs: `servicemark`, `telephone`. * **Build space glyphs:** Creates `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`. -* **Build Symbols:** Creates symbol glyphs such as `.notdef` (based on the boldest available `question` mark), an `estimated` glyph, as well as `bar` and `brokenbar` (for which it respects standard stems and italic angle). *Needs Vanilla.* +* **Build Symbols:** Creates symbol glyphs such as `.notdef` (based on the boldest available `question` mark), an `estimated` glyph, as well as `bar` and `brokenbar` (for which it respects standard stems and italic angle). *需要 Vanilla JavaScript* * **Fix Punctuation Dots and Heights:** Syncs punctuation dots between ¡!¿? (and their SC+CASE variants). Will use dot from exclam in all other glyphs, and shift ¡¿ in SC and CASE variants. Assumes that ¡¿ are components in !?. Detailed report in Macro Window.. -* **Quote Manager:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. *Needs Vanilla.* +* **Quote Manager:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. *需要 Vanilla JavaScript* ## 彩色字型 @@ -125,8 +127,8 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Convert Layerfont to CPAL+COLR Font:** Turns a layered color font into a single-master font with a CPAL and COLR layers in each glyph. It will take the first master as default. * **Delete Non-Color Layers in Selected Glyphs:** Deletes all sublayers in all glyphs that are not of type "Color X" (CPAL/COLR layers). * **Merge All Other Masters in Current Master:** In selected glyphs, copies all paths from other masters onto the current master layer. -* **Merge Suffixed Glyphs into Color Layers:** Merges x.shadow, x.body and x.front into separate CPAL Color layers of x. *Needs Vanilla.* -* **sbix Spacer:** Batch-set sbix positions and glyph widths. *Needs Vanilla.* +* **Merge Suffixed Glyphs into Color Layers:** Merges x.shadow, x.body and x.front into separate CPAL Color layers of x. *需要 Vanilla JavaScript* +* **sbix Spacer:** Batch-set sbix positions and glyph widths. *需要 Vanilla JavaScript* ## 比較 Frontmost 字型 @@ -139,7 +141,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Compare Anchors:** Compares anchor structure and anchor heights between the two frontmost fonts. * **Compare Composites:** Reports diverging component structures of composite glyphs, e.g., `iacute` built with `acutecomb` in one font, and `acutecomb.narrow` in the other. * **Compare Glyph Heights:** Lists all glyphs that differ from the second font in height beyond a given threshold. -* **Compare Glyph Info:** Compares open fonts and builds a lits of differing glyph info, including Unicode values and categorisation. *Needs Vanilla.* +* **Compare Glyph Info:** Compares open fonts and builds a lits of differing glyph info, including Unicode values and categorisation. *需要 Vanilla JavaScript* * **Compare Glyphsets:** Compares the glyph set of the two frontmost fonts and outputs a report in the Macro window. * **Compare Kerning Groups:** Compares kerning groups between frontmost fonts, outputs a table of glyph names with unmatching groups. * **Compare Metrics:** Compare widths of two frontmost fonts. @@ -149,19 +151,19 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *Populate Backgrounds with Components is very useful when you build letters based on other, e.g., ae or oe can take an e in the background. The script puts the e in the background of each master, and the UI has an option to align selected points with the e in the background. If you use corner components for serifs in a multiple-master font, the Propagate script will save you a lot of time.* -* **Alignment Manager:** Enables or disables automatic alignment for all components on visible layers in selected glyphs. Does the same as the command in the context menu, but you can do it in one step for many glyphs. *Needs Vanilla.* -* **Component Problem Finder:** Find possible issues with components and corner components: composable glyphs consisting of paths; locked, nested, orphaned, mirrored, shifted, rotated and scaled components; composite glyphs with an unusual component order or an unorthodox component structure. Also, disconnected and scaled corner components. *Needs Vanilla.* +* **Alignment Manager:** Enables or disables automatic alignment for all components on visible layers in selected glyphs. Does the same as the command in the context menu, but you can do it in one step for many glyphs. *需要 Vanilla JavaScript* +* **Component Problem Finder:** Find possible issues with components and corner components: composable glyphs consisting of paths; locked, nested, orphaned, mirrored, shifted, rotated and scaled components; composite glyphs with an unusual component order or an unorthodox component structure. Also, disconnected and scaled corner components. *需要 Vanilla JavaScript* * **Decompose Components in Background:** Decomposes background layers of selected glyphs. Works on the current master or all masters, or all masters of all fonts. * **Decompose Corner and Cap Components:** Decomposes all corner and cap components in selected glyphs. Reports to Macro window. -* **Find and Replace Components:** Relinks components in selected glyphs to a new source glyph. *Needs Vanilla.* -* **Find and Replace Cap and Corner Components:** Relinks `_cap.*` and `_corner.*` components in selected glyphs to a different corner/cap component. *Needs Vanilla.* -* **Find and Replace Corner Components at Certain Angles:** Replace Corner Components at blunt or acute angles. *Needs Vanilla.* -* **Move Paths to Component:** Moves paths to a separate glyph and insert them as auto-aligned, anchored components in the source glyph. Perfect for making path-component mixtures into pure composites. *Needs Vanilla.* -* **Populate Backgrounds with Components:** Removes the specified component from all glyphs or all selected glyphs. *Needs Vanilla.* +* **Find and Replace Components:** Relinks components in selected glyphs to a new source glyph. *需要 Vanilla JavaScript* +* **Find and Replace Cap and Corner Components:** Relinks `_cap.*` and `_corner.*` components in selected glyphs to a different corner/cap component. *需要 Vanilla JavaScript* +* **Find and Replace Corner Components at Certain Angles:** Replace Corner Components at blunt or acute angles. *需要 Vanilla JavaScript* +* **Move Paths to Component:** Moves paths to a separate glyph and insert them as auto-aligned, anchored components in the source glyph. Perfect for making path-component mixtures into pure composites. *需要 Vanilla JavaScript* +* **Populate Backgrounds with Components:** Removes the specified component from all glyphs or all selected glyphs. *需要 Vanilla JavaScript* * **Propagate Corner Components to Other Masters:** Tries to recreate the corner components of the current master layer in all other masters of the same glyph. Make sure your outlines are compatible. * **Remove Components:** Removes the specified component from all (selected) glyphs. * **Remove Detached Corners:** Removes detached corner component from all (selected) glyphs. -* **Stitcher:** In selected glyphs, the Stitcher inserts components on your paths at fixed intervals. Useful for turning open paths (monolines) into dotted lines. Use an anchor called 'origin' for determining the component position in stitched letters. Consider using the [Stitcher plug-in](glyphsapp3://showplugin/Stitcher) instead. *Needs Vanilla.* +* **Stitcher:** In selected glyphs, the Stitcher inserts components on your paths at fixed intervals. Useful for turning open paths (monolines) into dotted lines. Use an anchor called 'origin' for determining the component position in stitched letters. Consider using the [Stitcher plug-in](glyphsapp3://showplugin/Stitcher) instead. *需要 Vanilla JavaScript* * **Sync Components Across Masters:** Takes the current layer’s components, and resets all other masters to the same component structure. Ignores paths and anchors. Hold down Option key to *delete* all paths and anchors. ## 特性 @@ -170,52 +172,52 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Activate Default Features:** In the current Edit tab, activates all OT features that are recommended to be on by default (according to the spec). * **Build ccmp for Hebrew Presentation Forms:** Builds the ccmp feature for precomposed `uniFBxx` glyphs, e.g. if you have pedagesh, you get 'sub pe dagesh by pedagesh' in your ccmp. -* **Build Italic Shift Feature:** Creates and inserts GPOS feature code for shifting glyphs, e.g., parentheses and punctuation for the case feature. *Needs Vanilla.* -* **Build Positional Feature:** Looks for `.init`, `.medi`, `.fina`, and `.isol` glyphs, and injects positional substitution code into your `calt` feature (or any other feature you specify). If run again, will *update* class and feature code. See this tutorial for more info: https://glyphsapp.com/learn/features-part-4-positional-alternates *Needs Vanilla.* -* **Build rand Feature:** Build rand (random) feature from .cvXX or another (numbered) suffix. *Needs Vanilla.* -* **Feature Code Tweaks:** Adds tweaks to OT feature code. Reports in Macro window. Careful: if you do not understand an option, do not use it. *Needs Vanilla.* -* **Find in Features:** Finds expressions (glyph, lookup or class names) in OT Features, Prefixes and Classes. *Needs Vanilla.* -* **Floating Features:** Floating palettes for activating and deactivating OT features. Same functionality as the pop-up menu. *Needs Vanilla.* +* **Build Italic Shift Feature:** Creates and inserts GPOS feature code for shifting glyphs, e.g., parentheses and punctuation for the case feature. *需要 Vanilla JavaScript* +* **Build Positional Feature:** Looks for `.init`, `.medi`, `.fina`, and `.isol` glyphs, and injects positional substitution code into your `calt` feature (or any other feature you specify). If run again, will *update* class and feature code. See this tutorial for more info: https://glyphsapp.com/learn/features-part-4-positional-alternates *需要 Vanilla JavaScript* +* **Build rand Feature:** Build rand (random) feature from .cvXX or another (numbered) suffix. *需要 Vanilla JavaScript* +* **Feature Code Tweaks:** Adds tweaks to OT feature code. Reports in Macro window. Careful: if you do not understand an option, do not use it. *需要 Vanilla JavaScript* +* **Find in Features:** Finds expressions (glyph, lookup or class names) in OT Features, Prefixes and Classes. *需要 Vanilla JavaScript* +* **Floating Features:** Floating palettes for activating and deactivating OT features. Same functionality as the pop-up menu. *需要 Vanilla JavaScript* * **Fraction Fever 2:** Insert Tal Leming’s Fraction Fever 2 code into the font. Read more in this tutorial: https://glyphsapp.com/learn/fractions -* **New OT Class with Selected Glyphs:** GUI for creating a new OT class with the selected glyphs. *Needs Vanilla.* -* **New Tab with OT Class:** GUI for opening all glyphs in an OT class (listed in *File > Font Info > Features > Classes*) in a new tab. *Needs Vanilla.* +* **New OT Class with Selected Glyphs:** GUI for creating a new OT class with the selected glyphs. *需要 Vanilla JavaScript* +* **New Tab with OT Class:** GUI for opening all glyphs in an OT class (listed in *File > Font Info > Features > Classes*) in a new tab. *需要 Vanilla JavaScript* * **Update Features without Reordering:** Goes through the existing features in the font and refreshes each one of them. Does neither add nor reorder features. * * **Stylistic Sets > Synchronize ssXX glyphs:** Creates missing ssXX glyphs so that you have synchronous groups of ssXX glyphs. E.g. you have *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> the script creates *b.ss02* * * **Stylistic Sets > Create ssXX from layer:** Takes the current layer and copies it to the primary layer of a new .ssXX glyph. * * **Stylistic Sets > Create pseudorandom calt feature:** Creates pseudorandom calt (contextual alternatives) feature based on number of existing ssXX glyphs in the font. Also includes the default class in the rotation algorithm. -* * **Stylistic Sets > Set ssXX Names:** Prefills names for ssXX features with ‘Alternate’ or another chosen text, plus the name of the first substituted glyph, e.g., ‘Alternate a’. Option to preserve existing namings.*Needs Vanilla.* +* * **Stylistic Sets > Set ssXX Names:** Prefills names for ssXX features with ‘Alternate’ or another chosen text, plus the name of the first substituted glyph, e.g., ‘Alternate a’. Option to preserve existing namings.*需要 Vanilla JavaScript* ## 字型資訊 *Vertical Metrics is useful for finding and syncing the vertical metric parameters in Font Info > Font and Font Info > Masters. Clean Version String is very useful too. Font Info Batch Setter is a must for syncing Font Info settings across many fonts. Careful about Set WWS/Preferred Names scripts: The app usually takes care of naming automatically, so their use cases are very rare.* * **Clean Version String:** Adds a clean versionString parameter, and disables ttfAutohint info in the version string. The exported font will have a version string consisting only of ‘Version X.XXX’. -* **Find and Replace in Font Info:** Finds and replaces names in *Font Info > Font* and *Font Info > Instances.* *Needs Vanilla.* +* **Find and Replace in Font Info:** Finds and replaces names in *Font Info > Font* and *Font Info > Instances.* *需要 Vanilla JavaScript* * **Find and Replace In Instance Parameters:** Finds and Replace in Custom Parameters of selected instances of the current font or project file. -* **Font Info Batch Setter:** Batch-apply settings in *Font Info > Font* to open fonts: designer, designer URL, manufacturer, manufacturer URL, copyright, version number, date and time. Useful for syncing Font Info settings across many fonts. *Needs Vanilla.* +* **Font Info Batch Setter:** Batch-apply settings in *Font Info > Font* to open fonts: designer, designer URL, manufacturer, manufacturer URL, copyright, version number, date and time. Useful for syncing Font Info settings across many fonts. *需要 Vanilla JavaScript* * **Font Info Overview:** Lists some Font Info values for all opened fonts. -* **Prepare Font Info:** Prepare open fonts for a modern font production and git workflow by setting certain custom parameters. *Needs Vanilla.* -* **Remove Custom Parameters:** Removes all parameters of one kind from Font Info > Font, Masters, Instances. Useful if you have many masters or instances. *Needs Vanilla.* +* **Prepare Font Info:** Prepare open fonts for a modern font production and git workflow by setting certain custom parameters. *需要 Vanilla JavaScript* +* **Remove Custom Parameters:** Removes all parameters of one kind from Font Info > Font, Masters, Instances. Useful if you have many masters or instances. *需要 Vanilla JavaScript* * **Set Preferred Names (Name IDs 16 and 17) for Width Variants:** Sets Preferred Names custom parameters (Name IDs 16 and 17) for all instances, so that width variants will appear in separate menus in Adobe apps. * **Set Style Linking:** Attempts to set the Bold/Italic bits. -* **Set Subscript and Superscript Parameters:** Measures your superior and inferior figures and derives subscript/superscript X/Y offset/size parameters. *Needs Vanilla.* +* **Set Subscript and Superscript Parameters:** Measures your superior and inferior figures and derives subscript/superscript X/Y offset/size parameters. *需要 Vanilla JavaScript* * **Set WWS Names (Name IDs 21 and 22):** Sets WWS custom parameters (Name IDs 21 and 22) for all instances where necessary: Puts all info except RIBBI into the WWSFamilyName, and only keeps RIBBI for the WWSSubfamilyName. -* **Style Renamer:** Batch-add a name particle to your style names, or batch-remove it from them. Useful for switching all your styles from italic to roman naming and vice versa. *Needs Vanilla.* -* **Vertical Metrics Manager:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics). *Needs Vanilla.* +* **Style Renamer:** Batch-add a name particle to your style names, or batch-remove it from them. Useful for switching all your styles from italic to roman naming and vice versa. *需要 Vanilla JavaScript* +* **Vertical Metrics Manager:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics). *需要 Vanilla JavaScript* ## 字形名稱、註釋和 Unicode *Most scripts make managing glyph names and Unicodes a little easier. Garbage Collection is useful for cleaning up the mess of the reporter scripts, or other annotations before you hand the files over to a third party.* -* **Add PUA Unicode Values to Selected Glyphs:** Iterates through selected glyphs and incrementally applies custom Unicode values, starting at a user-specified value. *Needs Vanilla.* +* **Add PUA Unicode Values to Selected Glyphs:** Iterates through selected glyphs and incrementally applies custom Unicode values, starting at a user-specified value. *需要 Vanilla JavaScript* * **Color Composites in Shade of Base Glyph:** Color composites in a lighter shade of the base glyph. E.g., if your A is has a red label color, then ÄÁÀĂ... will have a lighter shade of red. * **Convert to Uppercase:** Turns lowercase names into uppercase names, e.g., `a` → `A`, `ccaron` → `Ccaron`, `aeacute` → `AEacute`, etc. * **Convert to Lowercase:** Turns the names of selected glyphs lowercase. -* **Encoding Converter:** Converts old expert 8-bit encodings into Glyphs nice names, based on a importable/exportable text with renaming scheme. Default is an AXt converting scheme. *Needs Vanilla.* +* **Encoding Converter:** Converts old expert 8-bit encodings into Glyphs nice names, based on a importable/exportable text with renaming scheme. Default is an AXt converting scheme. *需要 Vanilla JavaScript* * **Garbage Collection:** Removes markers in glyphs, such as node names, glyph names or annotations, as well as guides. * **New Tab with Uppercase-Lowercase Inconsistencies:** Opens a new Edit tab containing all glyphs without consistent case folding. Writes a detailed report in Macro Window. -* **Production Namer:** Override default production names. Default are the usual subjects which create problems in legacy PDF workflows: mu, onesuperior, twosuperior, threesuperior. *Needs Vanilla.* -* **Rename Glyphs:** Takes a list of `oldglyphname=newglyphname` pairs and renames glyphs in the font accordingly, much like the *Rename Glyphs* custom parameter. *Needs Vanilla.* +* **Production Namer:** Override default production names. Default are the usual subjects which create problems in legacy PDF workflows: mu, onesuperior, twosuperior, threesuperior. *需要 Vanilla JavaScript* +* **Rename Glyphs:** Takes a list of `oldglyphname=newglyphname` pairs and renames glyphs in the font accordingly, much like the *Rename Glyphs* custom parameter. *需要 Vanilla JavaScript* * **Reorder Unicodes of Selected Glyphs:** Reorders Unicodes so that default Unicode comes first. * **Switch Mirrored Characters:** In the current Edit View, switch mirrored BiDi characters, e.g. () → )(. Useful for switching parentheses and quotes after switching writing direction in a tab. @@ -233,22 +235,22 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.* -* **Add Alignment Zones for Selected Glyphs:** Creates fitting zones for the selected glyphs in all masters. *Needs Vanilla.* +* **Add Alignment Zones for Selected Glyphs:** Creates fitting zones for the selected glyphs in all masters. *需要 Vanilla JavaScript* * **Add Hints for Selected Nodes:** Adds hints for the selected nodes. Tries to guess whether it should be H or V. If exactly one node inside a zone is selected, it will add a Ghost Hint. Useful for setting a shortcut in System Prefs. -* **Add TTF Autohint Control Instructions for Current Glyph:** Adds a touch line for a given up/down amount to the Control Instructions of the current instance. *Needs Vanilla.* -* **BlueFuzzer:** Extends all alignment zones by the specified value. Similar to what the blueFuzz value used to do, hence the name. *Needs Vanilla.* +* **Add TTF Autohint Control Instructions for Current Glyph:** Adds a touch line for a given up/down amount to the Control Instructions of the current instance. *需要 Vanilla JavaScript* +* **BlueFuzzer:** Extends all alignment zones by the specified value. Similar to what the blueFuzz value used to do, hence the name. *需要 Vanilla JavaScript* * **Keep Only First Master Hints:** In selected glyphs, deletes all hints in all layers except for whatever is ordered as first master. Respects Bracket Layers. E.g., if your first master is 'Regular', then the script will delete hints in 'Bold', 'Bold [120]', but keep them in 'Regular' and 'Regular [100]'. * **New Tab with Glyphs in Alignment Zones:** Opens a new tab and lists all glyphs that reach into alignment zones. -* **New Tabs with Glyphs Not Reaching Into Zones:** Opens a new tab with all glyphs that do NOT reach into any top or bottom alignment zone. Only counts glyphs that contain paths in the current master. Ignores empty glyphs and compounds. *Needs Vanilla.* +* **New Tabs with Glyphs Not Reaching Into Zones:** Opens a new tab with all glyphs that do NOT reach into any top or bottom alignment zone. Only counts glyphs that contain paths in the current master. Ignores empty glyphs and compounds. *需要 Vanilla JavaScript* * **New Tab with Layers with TTDeltas:** Opens a new tab with all layers that have defined TTDeltas. -* **Remove PS Hints:** Deletes all stem and/or ghost hints throughout the current font, the selected master and/or the selected glyphs. *Needs Vanilla.* -* **Remove TT Hints:** Deletes a user-specified set of TT instructions throughout the current font, the selected master and/or the selected glyphs. *Needs Vanilla.* +* **Remove PS Hints:** Deletes all stem and/or ghost hints throughout the current font, the selected master and/or the selected glyphs. *需要 Vanilla JavaScript* +* **Remove TT Hints:** Deletes a user-specified set of TT instructions throughout the current font, the selected master and/or the selected glyphs. *需要 Vanilla JavaScript* * **Remove Zero Deltas in Selected Glyphs:** Goes through all layers of each selected glyph, and deletes all TT Delta Hints with an offset of zero. Detailed Report in Macro window. * **Set blueScale:** Sets maximum blueScale value (determining max size for overshoot suppression) possible in Font Info > Font. Outputs other options in Macro window. -* **Set Family Alignment Zones:** Pick an instance and set its zones as Family Alignment Zones in *Font Info > Font > Custom Parameters.* *Needs Vanilla.* +* **Set Family Alignment Zones:** Pick an instance and set its zones as Family Alignment Zones in *Font Info > Font > Custom Parameters.* *需要 Vanilla JavaScript* * **Set TT Stem Hints to Auto:** Sets all TT stem hints to ‘auto’ in selected glyphs. * **Set TT Stem Hints to No Stem:** Sets all TT stem hints to ‘no stem’ in selected glyphs. In complex paths, it can improve rendering on Windows. -* **Set TTF Autohint Options:** Set options for existing 'TTF Autohint Options' Custom Parameters. *Needs Vanilla.* +* **Set TTF Autohint Options:** Set options for existing 'TTF Autohint Options' Custom Parameters. *需要 Vanilla JavaScript* * **Transfer Hints to First Master:** Copies PS hints from the current layer to the first master layer, provided the paths are compatible. Reports errors to the Macro window. * **TT Autoinstruct:** Automatically add Glyphs TT instructions to the selected glyphs in the selected master. (Should be the first master.) Attention: this is NOT Werner Lemberg's ttfAutohint, but the manual TT hints that the TT Instruction tool (I) would add through the context menu item of the same name. Useful for adding hints in many glyphs at once. @@ -257,44 +259,44 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *Mainly intended for curing the headaches you may undergo when handling a lot of (background) images.* * **Add Same Image to Selected Glyphs:** Asks you for an image, and then inserts it into all currently selected glyphs as background image. -* **Adjust Image Alpha:** Slider for setting the alpha of all images in selected glyphs. *Needs Vanilla.* +* **Adjust Image Alpha:** Slider for setting the alpha of all images in selected glyphs. *需要 Vanilla JavaScript* * **Delete All Images in Font:** Deletes all placed images throughout the entire font. * **Delete Images:** Deletes all images placed in the visible layers of selected glyphs. * **Reset Image Transformation:** Resets all image transformations (x/y offset, scale, and distortion) back to default in the visible layers of selected glyphs. * **Set New Path for Images:** Resets the path for placed images in selected glyphs. Useful if you have moved your images. -* **Toggle Image Lock:** Lock or unlock all images in all selected glyphs. *Needs Vanilla.* -* **Transform Images:** GUI for batch-transforming images (x/y offset and x/y scale) in the visible layers of selected glyphs. *Needs Vanilla.* +* **Toggle Image Lock:** Lock or unlock all images in all selected glyphs. *需要 Vanilla JavaScript* +* **Transform Images:** GUI for batch-transforming images (x/y offset and x/y scale) in the visible layers of selected glyphs. *需要 Vanilla JavaScript* ## 插值 *Most important: Insert Instances (for determining your instances and their style linking), Kink Finder and Find Shapeshifting Glyphs. I use Show Next/Previous Instance with the keyboard shortcut ctrl-up/down a lot.* -* **Axis Location Setter:** Batch-set axis locations for all instances with a certain name particle. E.g., set an axis location for all Condensed instances. *Needs Vanilla.* -* **Axis Mapper:** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. *Needs Vanilla.* -* **Brace and Bracket Manager:** Find and replace brace or bracket layer coordinates in Glyphs 3 and later. *Needs Vanilla.* -* **Composite Variabler:** Reduplicates Brace and Bracket layers of components in the compounds in which they are used. Makes bracket layers work in composites. *Needs Vanilla.* -* **Copy Layer to Layer:** Copies paths (and optionally, also components, anchors and metrics) from one Master to another. *Needs Vanilla.* +* **Axis Location Setter:** Batch-set axis locations for all instances with a certain name particle. E.g., set an axis location for all Condensed instances. *需要 Vanilla JavaScript* +* **Axis Mapper:** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. *需要 Vanilla JavaScript* +* **Brace and Bracket Manager:** Find and replace brace or bracket layer coordinates in Glyphs 3 and later. *需要 Vanilla JavaScript* +* **Composite Variabler:** Reduplicates Brace and Bracket layers of components in the compounds in which they are used. Makes bracket layers work in composites. *需要 Vanilla JavaScript* +* **Copy Layer to Layer:** Copies paths (and optionally, also components, anchors and metrics) from one Master to another. *需要 Vanilla JavaScript* * **Dekink Masters:** Dekinks your smooth point triplets in all compatible layers (useful if they are not horizontal or vertical). Select a point in one or more smooth point triplets, and run this script to move the corresponding nodes in all other masters to the same relative position. Thus you achieve the same point ratio in all masters and avoid interpolation kinks, when the angle of the triplet changes. There is a [video describing it.](http://tinyurl.com/dekink-py) The triplet problem is [described in this tutorial](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible). -* **Fill up Empty Masters:** Copies paths from one Master to another. But only if target master is empty. *Needs Vanilla.* -* **Find and Replace in Layer Names:** Replaces text in all layer names (except Master layers) of selected glyphs. Useful if you use the bracket trick in many glyphs. *Needs Vanilla.* -* **Find Shapeshifting Glyphs:** Finds glyphs that change the number of paths while interpolating. Opens a new tab and reports to Macro window. *Needs Vanilla.* -* **Insert Brace Layers for Component Rotation:** Inserts a number of Brace Layers with continuously scaled and rotated components. Useful for OTVar interpolations with rotating elements. *Needs Vanilla.* +* **Fill up Empty Masters:** Copies paths from one Master to another. But only if target master is empty. *需要 Vanilla JavaScript* +* **Find and Replace in Layer Names:** Replaces text in all layer names (except Master layers) of selected glyphs. Useful if you use the bracket trick in many glyphs. *需要 Vanilla JavaScript* +* **Find Shapeshifting Glyphs:** Finds glyphs that change the number of paths while interpolating. Opens a new tab and reports to Macro window. *需要 Vanilla JavaScript* +* **Insert Brace Layers for Component Rotation:** Inserts a number of Brace Layers with continuously scaled and rotated components. Useful for OTVar interpolations with rotating elements. *需要 Vanilla JavaScript* * **Insert Brace Layers for Movement along Background Path:** Inserts a number of Brace Layers with copies of the first layer, shifted according to the first path in the background. Useful for OTVar interpolations with moving elements. -* **Insert Instances:** GUI for calculating and inserting weight instances. It is described in this tutorial: https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances *Needs Vanilla.* -* **Insert Layers:** Batch-insert brace or bracket layers in selected glyphs. *Needs Vanilla.* -* **Instance Cooker:** Insert many instances at once with a recipe. *Needs Vanilla.* -* **Kink Finder:** Finds kinks in outlines or the interpolation space, reports them in the Macro window and opens a new tab with affected glyphs. Kinks are described in this tutorial: https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible *Needs Vanilla.* +* **Insert Instances:** GUI for calculating and inserting weight instances. It is described in this tutorial: https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances *需要 Vanilla JavaScript* +* **Insert Layers:** Batch-insert brace or bracket layers in selected glyphs. *需要 Vanilla JavaScript* +* **Instance Cooker:** Insert many instances at once with a recipe. *需要 Vanilla JavaScript* +* **Kink Finder:** Finds kinks in outlines or the interpolation space, reports them in the Macro window and opens a new tab with affected glyphs. Kinks are described in this tutorial: https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible *需要 Vanilla JavaScript* * **New Tab with Dangerous Glyphs for Interpolation:** Opens a tab with all glyphs in the font that contain at least two compatible elements. I.e., glyphs where an element (a path or a component) could interpolate with the wrong element, like the equals sign. For a detailed description, see section *Be suspicious* in this tutorial: . * **New Tab with Special Layers:** Quickly adds a new edit tab with all glyphs containing brace and bracket layers. -* **New Tab with Uneven Handle Distributions:** Finds glyphs where handle distributions change too much (e.g., from balanced to harmonised). *Needs Vanilla.* -* **OTVar Player:** Animates the current glyph with a loop along the weight axis. *Needs Vanilla.* +* **New Tab with Uneven Handle Distributions:** Finds glyphs where handle distributions change too much (e.g., from balanced to harmonised). *需要 Vanilla JavaScript* +* **OTVar Player:** Animates the current glyph with a loop along the weight axis. *需要 Vanilla JavaScript* * **Remove All Non-Master Layers:** Deletes all layers which are neither master layers, nor brace layers, nor bracket layers. Useful for getting rid of backup layers. * **Report Instance Interpolations:** Outputs master coefficients for each instance in Macro Window. Tells you which masters are involved in interpolating a specific instance, and to which extent. * **Reset Axis Mappings:** Inserts (or resets) a default Axis Mappings parameter for all style values currently present in the font. Ignores style values outside the designspace bounds defined by the masters. * **Set Weight Axis Locations in Instances:** Will set weight axis location parameters for all instances, and sync them with their respective usWeightClass. Will set the width axis coordinates to the spec defaults for usWidthClass, if they have not been set yet. Otherwise will keep them as is. -* **Short Segment Finder:** Goes through all interpolations and finds segments shorter than a user-specified threshold length. *Needs Vanilla.* -* **Travel Tracker:** Finds interpolations in which points travel more than they should, i.e., can find wrongly hooked-up asterisks and slashes. The results are incomplete, and usually have many false positives, but it sometimes finds cases that the Shapeshifter script misses. *Needs Vanilla.* -* **Variation Interpolator:** Creates a user-defined number of glyph variations with a user-defined suffix, containing interpolations between the layers and their respective backgrounds. Overwrites glyphs with same name. Similar to Pablo Impallari’s SimplePolator. Useful for e.g. length variants of Devanagari Matra, see José Nicolás Silva Schwarzenberg’s sample video: . *Needs Vanilla.* +* **Short Segment Finder:** Goes through all interpolations and finds segments shorter than a user-specified threshold length. *需要 Vanilla JavaScript* +* **Travel Tracker:** Finds interpolations in which points travel more than they should, i.e., can find wrongly hooked-up asterisks and slashes. The results are incomplete, and usually have many false positives, but it sometimes finds cases that the Shapeshifter script misses. *需要 Vanilla JavaScript* +* **Variation Interpolator:** Creates a user-defined number of glyph variations with a user-defined suffix, containing interpolations between the layers and their respective backgrounds. Overwrites glyphs with same name. Similar to Pablo Impallari’s SimplePolator. Useful for e.g. length variants of Devanagari Matra, see José Nicolás Silva Schwarzenberg’s sample video: . *需要 Vanilla JavaScript* * * **Other > Lines by Master:** Reduplicates your edit text across masters, will add one line per master in Edit view. Careful, ignores everything after the first newline. Intended for adding a keyboard in System Preferences. * * **Other > New Tab with Masters of Selected Glyphs:** Opens a new Edit tab containing all masters of selected glyphs. * * **Other > Show Masters of Next/Previous Glyph:** Allows you to step through one glyph after another, but with all masters. Combines the show next/previous glyph function (fn+left/right) with the *Edit > Show All Masters* function. Handy for attaching a keyboard shortcut in System Preferences. @@ -304,24 +306,24 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *Most important: Auto Bumper, KernCrasher, GapFinder, Sample String Maker. If you have too much kerning, consider Exception Cleaner.* -* **Adjust Kerning in Master:** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. *Needs Vanilla.* -* **Auto Bumper:** Specify a minimum distance, left and right glyphs, and Auto Bumper will add the minimum necessary kerning for the current master. *Needs Vanilla.* -* **BBox Bumper:** Like Auto Bumper, but with the bounding box of a group of glyphs, and the kerning inserted as GPOS feature code in Font Info > Features > kern. Useful if you want to do group kerning with classes that are different from the kerning groups. Needs Vanilla. +* **Adjust Kerning in Master:** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. *需要 Vanilla JavaScript* +* **Auto Bumper:** Specify a minimum distance, left and right glyphs, and Auto Bumper will add the minimum necessary kerning for the current master. *需要 Vanilla JavaScript* +* **BBox Bumper:** Like Auto Bumper, but with the bounding box of a group of glyphs, and the kerning inserted as GPOS feature code in Font Info > Features > kern. Useful if you want to do group kerning with classes that are different from the kerning groups. 需要 Vanilla JavaScript * **Convert RTL Kerning from Glyphs 2 to 3:** Convert RTL kerning from Glyphs 2 to Glyphs 3 format and switches the kerning classes. (Hold down OPTION and SHIFT to convert from Glyphs 3 back to Glyphs 2.) Detailed report in Macro Window. * **Copy Kerning Exceptions to Double Accents:** Copies Kerning exceptions with abreve, `acircumflex`, `ecircumflex`, `ocircumflex`, `udieresis` into Vietnamese and Pinyin double accents. -* **Exception Cleaner:** Compares every exception to the group kerning available for the same pair. If the difference is below a threshold, remove the kerning exception. *Needs Vanilla.* -* **Find and Replace in Kerning Groups:** GUI for searching and replacing text in the L and R Kerning Groups, e.g. replace 'O' by 'O.alt'. Leave the search field blank for appending. *Needs Vanilla.* -* **GapFinder:** Opens a new tab with kerning combos that have large gaps in the current fontmaster. *Needs Vanilla.* +* **Exception Cleaner:** Compares every exception to the group kerning available for the same pair. If the difference is below a threshold, remove the kerning exception. *需要 Vanilla JavaScript* +* **Find and Replace in Kerning Groups:** GUI for searching and replacing text in the L and R Kerning Groups, e.g. replace 'O' by 'O.alt'. Leave the search field blank for appending. *需要 Vanilla JavaScript* +* **GapFinder:** Opens a new tab with kerning combos that have large gaps in the current fontmaster. *需要 Vanilla JavaScript* * **Import Kerning from .fea File:** Choose an .fea file containing a kern feature in AFDKO code, and this script will attempt to import the kerning values into the frontmost font master (see *Window > Kerning*). * **KernCrash Current Glyph:** Opens a new tab containing kerning combos with the current glyph that collide in the current fontmaster. -* **KernCrasher:** Opens a new tab with Kerning Combos that crash in the current fontmaster. *Needs Vanilla.* +* **KernCrasher:** Opens a new tab with Kerning Combos that crash in the current fontmaster. *需要 Vanilla JavaScript* * **Kern Flattener:** Duplicates your font, flattens kerning to glyph-to-glyph kerning only, deletes all group kerning and keeps only relevant pairs (it has a built-in list), adds a *Export kern Table* parameter (and some other parameters) to each instance. Warning: do this only for making your kerning compatible with outdated and broken software like PowerPoint. No guarantee it works, though. -* **Kern String Mixer:** Intersect two sets of glyphs (tokens are possible) with each other in order to get all possible glyph combinations. *Needs Vanilla.* +* **Kern String Mixer:** Intersect two sets of glyphs (tokens are possible) with each other in order to get all possible glyph combinations. *需要 Vanilla JavaScript* * **New Tab with All Group Members:** Select two glyphs, e.g. ‘Ta’, run the script, and it will open a new tab with all combinations of the right kerning group of T with the left kerning group of a. * **New Tab with Glyphs of Same Kerning Groups:** Opens a new tab containing all members of the left and right kerning groups of the current glyph. * **New Tab with Kerning Missing in Masters:** Opens New Tabs for each master showing kerning missing in this master but present in other masters. -* **New Tab with Large Kerning Pairs:** Lists all positive and negative kerning pairs beyond a given threshold. *Needs Vanilla.* -* **New Tab with Overkerned Pairs:** Asks a threshold percentage, and opens a new tab with all negative kern pairs going beyond the width threshold. Example: With a threshold of 40%, and a comma with width 160, the script will report any negative kern pair with comma larger than 64 (=40% of 160). Assume that r-comma is kerned -60, and P-comma is kerned -70. In this case, it would report the latter, but not the former. *Needs Vanilla.* +* **New Tab with Large Kerning Pairs:** Lists all positive and negative kerning pairs beyond a given threshold. *需要 Vanilla JavaScript* +* **New Tab with Overkerned Pairs:** Asks a threshold percentage, and opens a new tab with all negative kern pairs going beyond the width threshold. Example: With a threshold of 40%, and a comma with width 160, the script will report any negative kern pair with comma larger than 64 (=40% of 160). Assume that r-comma is kerned -60, and P-comma is kerned -70. In this case, it would report the latter, but not the former. *需要 Vanilla JavaScript* * **New Tab with Right Groups:** Creates a new tab with one glyph of each right group. Useful for checking the consistency of right kerning groups. * **New Tab with all Selected Glyph Combinations:** Takes your selected glyphs and opens a new tab with all possible combinations of the letters. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. * **New Tab with Uneven Symmetric Kernings:** Finds kern pairs for symmetric letters like ATA AVA TOT WIW etc. and sees if AT is the same as TA, etc. @@ -330,42 +332,42 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Remove Kerning Between Categories:** Removes kerning between glyphs, categories, subcategories, scripts. *Requires Vanilla.* * **Remove Kerning Pairs for Selected Glyphs:** Deletes all kerning pairs with the selected glyphs, for the current master only. * **Remove Orphaned Group Kerning:** Deletes all group kernings referring to groups that are not in the font. -* **Remove Small Kerning Pairs:** Removes all kerning pairs in the current font master with a value smaller than specified, or a value equal to zero. Be careful. *Needs Vanilla.* +* **Remove Small Kerning Pairs:** Removes all kerning pairs in the current font master with a value smaller than specified, or a value equal to zero. Be careful. *需要 Vanilla JavaScript* * **Report Kerning Mistakes:** Tries to find unnecessary kernings and groupings. Reports in Macro window, for reviewing. -* **Sample String Maker:** Creates kern strings for user-defined categories and adds them to the Sample Strings. Group kerning only, glyphs without groups are ignored. *Needs Vanilla.* +* **Sample String Maker:** Creates kern strings for user-defined categories and adds them to the Sample Strings. Group kerning only, glyphs without groups are ignored. *需要 Vanilla JavaScript* * **Set Kerning Groups:** Sets left and right kerning groups for all selected glyphs. In the case of compounds, will use the groups of the base components, otherwise makes an informed guess based on a built-in dictionary. * **Steal Kerning from InDesign:** Steals the kerning from text set in InDesign. Useful for extracting InDesign’s [Optical Kerning](https://web.archive.org/web/20160414170915/http://blog.extensis.com/adobe/about-adobe’s-optical-kerning.php) values. -* **Steal Kerning Groups from Font:** Steals left/right kerning groups for all selected glyphs from a 2nd font. *Needs Vanilla.* -* **Zero Kerner:** Add group kernings with value zero for pairs that are missing in one master but present in others. Helps preserve interpolatable kerning in OTVar exports. *Needs Vanilla.* +* **Steal Kerning Groups from Font:** Steals left/right kerning groups for all selected glyphs from a 2nd font. *需要 Vanilla JavaScript* +* **Zero Kerner:** Add group kernings with value zero for pairs that are missing in one master but present in others. Helps preserve interpolatable kerning in OTVar exports. *需要 Vanilla JavaScript* ## 路徑 *I use Rotate Around Anchor for my asterisks. Important for outline checking: Path Problem Finder, Find Near Vertical Misses and the Green Blue Manager. Rewire Fire has become important in OTVar production, because it helps reduce duplicate outline segments at shape edges (which create dark spots in anti-aliasing).* * **Align Selected Nodes with Background:** Align selected nodes with the nearest background node unless it is already taken by a previously moved node. Like Cmd-Shift-A for aligning a single node with the background, but for multiple nodes. -* **Batch-Set Path Attributes:** Set path attributes of all paths in selected glyphs, the master, the font, etc. *Needs Vanilla.* -* **Copy Glyphs from Other Font into Backup Layers:** Creates backup layers for selected glyphs in target font, and fills them with the respective glyphs from source font. Useful if you want to add glyphs from one font as bracket layers in another. *Needs Vanilla.* +* **Batch-Set Path Attributes:** Set path attributes of all paths in selected glyphs, the master, the font, etc. *需要 Vanilla JavaScript* +* **Copy Glyphs from Other Font into Backup Layers:** Creates backup layers for selected glyphs in target font, and fills them with the respective glyphs from source font. Useful if you want to add glyphs from one font as bracket layers in another. *需要 Vanilla JavaScript* * **Distribute Nodes:** Horizontally or vertically distributes nodes (depends on the width/height ratio of the selection bounding box). * **Enlarge Single-Unit Segments:** Doubles the length of line segments shorter than one unit. * **Fill Up with Rectangles:** Goes through your selected glyphs, and if it finds an empty one, inserts a placeholder rectangle. Useful for quickly building a dummy font for testing. -* **Find Close Encounters of Orthogonal Line Segments:** Goes through all vertical and horizontal line segments, and finds pairs that are close, but do not align completely. *Needs Vanilla.* -* **Find Near Vertical Misses:** Finds nodes that are close but not exactly on vertical metrics. *Needs Vanilla.* -* **Green Blue Manager:** Define an angle above which a node will be set to blue, below which it will be set to green. *Needs Vanilla.* -* **Grid Switcher:** Toggles grid between two user-definable gridstep values with the click of a floating button. *Needs Vanilla.* +* **Find Close Encounters of Orthogonal Line Segments:** Goes through all vertical and horizontal line segments, and finds pairs that are close, but do not align completely. *需要 Vanilla JavaScript* +* **Find Near Vertical Misses:** Finds nodes that are close but not exactly on vertical metrics. *需要 Vanilla JavaScript* +* **Green Blue Manager:** Define an angle above which a node will be set to blue, below which it will be set to green. *需要 Vanilla JavaScript* +* **Grid Switcher:** Toggles grid between two user-definable gridstep values with the click of a floating button. *需要 Vanilla JavaScript* * **Harmonise Curve to Line:** Will rearrange handles on (selected) curve segments with a following line segment, in such a way that the transition between the two segments is smooth (harmonized). * **Interpolate two paths:** Select two paths and run this script, it will replace them with their interpolation at 50%. * **New Tab with Small Paths:** Opens a new tab containing paths that are smaller than a user-definable threshold size in square units. -* **Path Problem Finder:** Finds all kinds of potential problems in outlines, and opens a new tab with affected layers. *Needs Vanilla.* -* **Position Clicker:** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping. *Needs Vanilla.* +* **Path Problem Finder:** Finds all kinds of potential problems in outlines, and opens a new tab with affected layers. *需要 Vanilla JavaScript* +* **Position Clicker:** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping. *需要 Vanilla JavaScript* * **Realign BCPs:** Realigns all BCPs in all selected glyphs. Useful if handles got out of sync, e.g. after nudging or some other transformation, or after interpolation. Hold down Option to apply to all layers of the selected glyph(s). * **Remove all Open Paths:** Deletes all *open* paths in the visible layers of all selected glyphs. * **Remove Nodes and Try to Keep Shape:** Deletes selected on-curve nodes and tries to keep the shape as much as possible. Similar to what happens when you delete a single node, but for a selection of multiple nodes. Pro tip: Hold down the Shift key while running the script, and it will also balance the remaining handles as much as possible, which is exactly what happens when you delete a single node. * **Remove Short Segments:** Deletes segments shorter than one unit. * **Remove Stray Points:** Deletes stray points (single node paths) in selected glyphs. Careful: a stray point can be used as a quick hack to disable automatic alignment. Reports in detail to the Macro window. -* **Rewire Fire:** Finds, selects and marks duplicate coordinates. Two nodes on the same position typically can be rewired with Reconnect Nodes. *Needs Vanilla.* -* **Rotate Around Anchor:** GUI for rotating glyphs or selections of nodes and components around a 'rotate' anchor. Allows to step and repeat. *Needs Vanilla.* -* **Set Transform Origin:** Simple GUI for setting the Transform Origin of the Rotate tool numerically. Should also have an effect on the Scale tool. *Needs Vanilla.* -* **Straight Stem Cruncher:** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. *Needs Vanilla.* +* **Rewire Fire:** Finds, selects and marks duplicate coordinates. Two nodes on the same position typically can be rewired with Reconnect Nodes. *需要 Vanilla JavaScript* +* **Rotate Around Anchor:** GUI for rotating glyphs or selections of nodes and components around a 'rotate' anchor. Allows to step and repeat. *需要 Vanilla JavaScript* +* **Set Transform Origin:** Simple GUI for setting the Transform Origin of the Rotate tool numerically. Should also have an effect on the Scale tool. *需要 Vanilla JavaScript* +* **Straight Stem Cruncher:** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. *需要 Vanilla JavaScript* * **Tunnify:** Looks for all path segments where at least one handle is selected. Then, evens out the handles of the segments, i.e., they will both have the same Fit Curve percentage. Can fix Adobe Illustrator's zero-handles (segments with one handle retracted into the nearest node). The idea for this script came from Eduardo Tunni (as colported by Pablo Impallari), hence the title of the script. I have never seen Eduardo's algorithm though, so my implementation might be a little different to his, especially the treatment of zero-handles. ## 點陣字型 @@ -389,36 +391,36 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *Most important: Fix Math Operator Spacing, Bracket Metrics Manager and, if you have arrows, Fix Arrow Positioning. The New Tab scripts are useful when creating figures.* -* **Add Metrics Keys for Symmetric Glyphs:** Will add RSB =| if the RSB is the same as the LSB in all masters. *Needs Vanilla.* -* **Bracket Metrics Manager:** Manage the sidebearings and widths of bracket layers, e.g., dollar and cent. *Needs Vanilla.* +* **Add Metrics Keys for Symmetric Glyphs:** Will add RSB =| if the RSB is the same as the LSB in all masters. *需要 Vanilla JavaScript* +* **Bracket Metrics Manager:** Manage the sidebearings and widths of bracket layers, e.g., dollar and cent. *需要 Vanilla JavaScript* * **Center Glyphs:** Centers all selected glyphs inside their width, so that LSB=RSB. -* **Change Metrics by Percentage:** Change LSB/RSB of selected glyphs by a percentage value. Undo with the Revert button. *Needs Vanilla.* +* **Change Metrics by Percentage:** Change LSB/RSB of selected glyphs by a percentage value. Undo with the Revert button. *需要 Vanilla JavaScript* * **Find and Replace in Metrics Keys:** GUI for searching and replacing text in the L and R metrics keys, e.g. replace '=X+15' by '=X'. Leave the search field blank for appending. -* **Fix Arrow Positioning:** Fixes the placement and metrics keys of arrows, dependent on a specified default arrow. Adds metric keys and moves arrows vertically. Does not create new glyphs, only works on existing ones. *Needs Vanilla.* -* **Fix Math Operator Spacing:** Syncs widths and centers glyphs for +−×÷=≠±≈¬, optionally also lesser/greater symbols and asciicircum/asciitilde. *Needs Vanilla.* +* **Fix Arrow Positioning:** Fixes the placement and metrics keys of arrows, dependent on a specified default arrow. Adds metric keys and moves arrows vertically. Does not create new glyphs, only works on existing ones. *需要 Vanilla JavaScript* +* **Fix Math Operator Spacing:** Syncs widths and centers glyphs for +−×÷=≠±≈¬, optionally also lesser/greater symbols and asciicircum/asciitilde. *需要 Vanilla JavaScript* * **Freeze Placeholders:** In the current Edit tab, will change all inserted placeholders for the current glyph, thus 'freeze' the placeholders. -* **Metrics Key Manager:** Batch apply metrics keys to the current font. *Needs Vanilla.* -* **Monospace Checker:** Checks if all glyph widths in the frontmost font are actually monospaced. Reports in Macro Window and opens a tab with affected layers. *Needs Vanilla.* +* **Metrics Key Manager:** Batch apply metrics keys to the current font. *需要 Vanilla JavaScript* +* **Monospace Checker:** Checks if all glyph widths in the frontmost font are actually monospaced. Reports in Macro Window and opens a tab with affected layers. *需要 Vanilla JavaScript* * **New Tab with all Figure Combinations:** Opens a new tab with all possible figure combos. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. * **New Tab with Fraction Figure Combinations:** Opens an Edit tab with fraction figure combos for spacing and kerning. * **Remove Layer-Specific Metrics Keys:** Deletes left and right metrics keys specific to layers (==), in all layers of all selected glyphs. Also simplifies glyph metrics keys (i.e., turns "=H" into "H"). * **Remove Metrics Keys:** Deletes both left and right metrics keys in all selected glyphs. Affects all masters and all layers. * **Reset Alternate Glyph Widths:** Resets the width of suffixed glyphs to the width of their unsuffixed counterparts. E.g., `Adieresis.ss01` will be reset to the width of `Adieresis`. -* **Spacing Checker:** Look for glyphs with unusual spacings and open them in a new tab. *Needs Vanilla.* -* **Steal Metrics:** Steals the sidebearing or width values for all selected glyphs from a 2nd font. Optionally also transfers metrics keys like '=x+20'. *Needs Vanilla.* -* **Tabular Checker:** Goes through tabular glyphs and checks if they are monospaced. Reports exceptions. *Needs Vanilla.* +* **Spacing Checker:** Look for glyphs with unusual spacings and open them in a new tab. *需要 Vanilla JavaScript* +* **Steal Metrics:** Steals the sidebearing or width values for all selected glyphs from a 2nd font. Optionally also transfers metrics keys like '=x+20'. *需要 Vanilla JavaScript* +* **Tabular Checker:** Goes through tabular glyphs and checks if they are monospaced. Reports exceptions. *需要 Vanilla JavaScript* ## 測試 -*推薦腳本:測試用 HTML 腳本。如果您在 Adobe 或 Apple 應用程式中發現選取框異常的高或低,可以執行「最高和最低點字符報告」查詢找出導致狀況發生的字符。「拉丁字母支援語言報告」提供的資訊是參考性的建議,不是絕對要遵守的規範。* +*推薦「測試用 HTML 腳本」。如果您在 Adobe 或 Apple 應用程式中發現選取框異常的高或低,可以執行「最高和最低點字符報告」查詢找出導致狀況發生的字符。「拉丁字母支援語言報告」提供的資訊是參考性的建議,不是絕對要遵守的規範。* -* **Copy InDesign Test Text / 複製 InDesign 測試文字:** 將 InDesign 的測試文字複製到剪貼簿。 -* **Copy Word Test Text / 複製 Word 測試文字:** 將 Word 的測試文字複製到剪貼簿。 +* **Copy InDesign Test Text / 複製 InDesign 測試文字:** 將 InDesign 的測試文字複製到剪貼簿。 *無軟體測試 功能困惑* +* **Copy Word Test Text / 複製 Word 測試文字:** 將 Word 的測試文字複製到剪貼簿。 *無軟體測試 功能困惑* * **Language Report / 拉丁字母支援語言報告:** 在巨集視窗輸出讓您初步了解您的拉丁字符支持多少種語言以及哪些語言的資訊。基於 Underware's Latin-Plus 列表,並進行了修改。 -* **Pangram Helper / 全字母句小幫手:** 幫助您編寫歐文的全字母句,您可以將其複製到剪貼簿或放入新分頁中。 *需要 Vanilla JavaScript* +* **Pangram Helper / 全字母句小幫手:** 幫助您編寫歐文的全字母句,您可以將其複製到剪貼簿或放入新分頁中。 *需要 Vanilla JavaScript* *其他字母句要自己添加? 成果困惑* * **Report Highest and Lowest Glyphs / 最高和最低點字符報告:** 讀取所有母版的所有字符,在巨集視窗輸出最高和最低點字符的資訊。 * **Variable Font Test HTML / 可變字型測試 HTML:** 為目前已輸出到資料夾的可變字型在預設瀏覽器開啟一個測試用的 HTML。 -* **Webfont Test HTML / 網路用字型測試 HTML:** 為目前已輸出到資料夾的網路用字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 +* **Webfont Test HTML / 網頁字型測試 HTML:** 為目前已輸出到資料夾的網頁字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 # License From 621ef8671be37de68edddc36a68977016e69b0f8 Mon Sep 17 00:00:00 2001 From: yintzuyuan Date: Sat, 19 Nov 2022 02:19:16 +0800 Subject: [PATCH 04/18] =?UTF-8?q?=E5=9B=B0=E6=83=91=E6=A8=99=E7=A4=BA?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 41619e01..62a33630 100644 --- a/README.md +++ b/README.md @@ -86,19 +86,19 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Method Reporter / 方法報告器:** 圖形使用者介面用於過濾 Glyphs 中可用的 Python 和 PyObjC 類的方法名稱。您可以使用多個空格分隔檢索詞(用於 AND 串接)和星號作為未知字元(可放在開頭、中間和結尾)。按兩下可將方法名稱放入剪貼簿,然後在巨集視窗中打開説明。對寫程式的人很有用。 *需要 Vanilla JavaScript* * **Navigate - Activate next and previous glyph / :** 啟動下一個或上一個字符的編輯模式。 * **Parameter Reporter / 參數報告器:** 類似於方法報告器,但用於自定義參數。按兩下以複製剪貼簿中的參數,準備貼到字型資訊中。 *需要 Vanilla JavaScript* -* **Print Window / 列印視窗:** 列印當前視窗。用於保存視窗內容的向量 PDF,包括檢視器外掛的渲染(“顯示”選單的擴展)。 *成果困惑* +* **Print Window / 列印視窗:** 列印當前視窗。用於保存視窗內容的向量 PDF,包括檢視器外掛的渲染(“顯示”選單的擴展)。 *:question:成果* * **Resetter / 重置器:** 重置快速查看預覽、鍵盤快捷鍵和清除偏好設定、已儲存的應用程式狀態和自動儲存。 *需要 Vanilla JavaScript* * **Set Export Paths to Adobe Fonts Folder / 將匯出路徑設置為 Adobe Fonts 資料夾:** 將 OpenType 字型和可變字型的匯出位置設定為 Adobe 字型資料夾。 -* **Set Hidden App Preferences / 設定隱藏的應用程式偏好設定:** GUI for reading and setting ‘hidden’ app preferences, which are not listed in the GUI.一個用於讀取和設定「隱藏」的應用程式偏好設定的圖形使用者介面,這些偏好設定未在圖形使用者介面中列出。 *需要 Vanilla JavaScript* *翻譯困惑* +* **Set Hidden App Preferences / 設定隱藏的應用程式偏好設定:** GUI for reading and setting ‘hidden’ app preferences, which are not listed in the GUI.一個用於讀取和設定「隱藏」的應用程式偏好設定的圖形使用者介面,這些偏好設定未在圖形使用者介面中列出。 *需要 Vanilla JavaScript* *:question:翻譯* * **Set Label Colors / 設定標籤顏色:** 覆蓋預設應用程式標籤顏色。 *需要 Vanilla JavaScript* * **Set Tool Shortcuts / 設定工具快捷鍵:** 為工具列中的工具設置鍵盤快捷鍵。 *需要 Vanilla JavaScript* * **Toggle Horizontal-Vertical / 切換 橫排-直排:** 在當前分頁切換橫排(左起)-直排書寫方向。推薦在「系統偏好設定」中設定快捷鍵使用。 * **Toggle RTL-LTR / 切換 右起-左起:** 在當前分頁切換右起-左起書寫方向。推薦在「系統偏好設定」中設定快捷鍵使用。 -* **Update git Repositories in Scripts Folder / 更新文本資料夾中的 git 儲存庫:** 對 Glyphs 腳本資料夾中的所有子資料夾執行「git pull」指令。如果腳本資料夾中有很多 git 儲存庫就很有用。 *功能困惑* +* **Update git Repositories in Scripts Folder / 更新文本資料夾中的 git 儲存庫:** 對 Glyphs 腳本資料夾中的所有子資料夾執行「git pull」指令。如果腳本資料夾中有很多 git 儲存庫就很有用。 *:question:功能* ## 建構字符 -*Most important: Quote Manager, and the Build scripts for Small Figures, Symbols, Ldot. The other scripts are mainly intended to give you a quick head start for covering certain Unicode ranges if requested by the client.* +*推薦腳本:「引用符管理器」,以及用於小型大寫數字、符號和 ​​Ldot 的「構建腳本」。其他腳本主要是為了讓您快速開始覆蓋某些 Unicode 範圍如果客戶有需求。* * **Build APL Greek:** Create APL Greek glyphs. * **Build careof and cadauna:** Builds `cadauna` and `careof` from your `c`, `o`, `u` and `fraction` glyphs. @@ -116,11 +116,11 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Build space glyphs:** Creates `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`. * **Build Symbols:** Creates symbol glyphs such as `.notdef` (based on the boldest available `question` mark), an `estimated` glyph, as well as `bar` and `brokenbar` (for which it respects standard stems and italic angle). *需要 Vanilla JavaScript* * **Fix Punctuation Dots and Heights:** Syncs punctuation dots between ¡!¿? (and their SC+CASE variants). Will use dot from exclam in all other glyphs, and shift ¡¿ in SC and CASE variants. Assumes that ¡¿ are components in !?. Detailed report in Macro Window.. -* **Quote Manager:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. *需要 Vanilla JavaScript* +* **Quote Manager / 引用符管理器:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. *需要 Vanilla JavaScript* ## 彩色字型 -*These scripts are for situations you will encounter in a Color Font workflow. The Merge script is mainly for creating a fallback glyph for CPAL/COLR fonts. This way the fallback has the full bbox, and no clipping will occur in Chrome.* +*These scripts are for situations you will encounter in a Color Font workflow. The Merge script is mainly for creating a fallback glyph for CPAL/COLR fonts. This way the fallback has the full bbox, and no clipping will occur in Chrome.這些腳本能幫助您在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型創建後備字符。這樣後備具有完整的 bbox,並且不會在 Chrome 瀏覽器中發生裁切。* * **Add All Missing Color Layers to Selected Glyphs:** Adds a duplicate of the fallback layer for each (CPAL/COLR) color defined in the Color Palettes parameter, for each selected glyph. Only adds colors that are still missing in the glyph. * **Add sbix Images to Font:** Will get all PNG, GIF, JPG files in a folder and create iColor layers with them in the current font and master. File name convention: ‘glyphname pixelsize.suffix’, e.g., ‘Adieresis 128.png’. @@ -130,9 +130,9 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Merge Suffixed Glyphs into Color Layers:** Merges x.shadow, x.body and x.front into separate CPAL Color layers of x. *需要 Vanilla JavaScript* * **sbix Spacer:** Batch-set sbix positions and glyph widths. *需要 Vanilla JavaScript* -## 比較 Frontmost 字型 +## 比較當前字型 -*These scripts are intended for syncing uprights with their italics. Open two fonts, and run the scripts. They do not change your fonts, but report in detail in the Macro window.* +*These scripts are intended for syncing uprights with their italics. Open two fonts, and run the scripts. They do not change your fonts, but report in detail in the Macro window.這些腳本用於同步正斜體和斜體。打開兩種字體,然後運行腳本。它們不會更改您的字體,但會在宏窗口中詳細報告。* * **Compare Font Info > Font:** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. * **Compare Font Info > Masters:** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. @@ -149,7 +149,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 部件 -*Populate Backgrounds with Components is very useful when you build letters based on other, e.g., ae or oe can take an e in the background. The script puts the e in the background of each master, and the UI has an option to align selected points with the e in the background. If you use corner components for serifs in a multiple-master font, the Propagate script will save you a lot of time.* +*Populate Backgrounds with Components is very useful when you build letters based on other, e.g., ae or oe can take an e in the background. The script puts the e in the background of each master, and the UI has an option to align selected points with the e in the background. If you use corner components for serifs in a multiple-master font, the Propagate script will save you a lot of time.當您基於其他字母構建字母時,使用組件填充背景非常有用,例如,ae 或 oe 可以在背景中使用 e。該腳本將 e 放在每個母版的背景中,UI 有一個選項可以將選定的點與背景中的 e 對齊。如果您在多母版字體中為襯線使用角組件,傳播腳本將為您節省大量時間。* * **Alignment Manager:** Enables or disables automatic alignment for all components on visible layers in selected glyphs. Does the same as the command in the context menu, but you can do it in one step for many glyphs. *需要 Vanilla JavaScript* * **Component Problem Finder:** Find possible issues with components and corner components: composable glyphs consisting of paths; locked, nested, orphaned, mirrored, shifted, rotated and scaled components; composite glyphs with an unusual component order or an unorthodox component structure. Also, disconnected and scaled corner components. *需要 Vanilla JavaScript* @@ -168,7 +168,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 特性 -*In script typefaces, you may often need the Build Positional calt script. If you find yourself turning OT features on and off a lot, take a look at the Activate Default Features and Floating Features scripts. And check out the Set Palette from Window > Plugin Manager.* +*In script typefaces, you may often need the Build Positional calt script. If you find yourself turning OT features on and off a lot, take a look at the Activate Default Features and Floating Features scripts. And check out the Set Palette from Window > Plugin Manager.在腳本字體中,您可能經常需要 Build Positional calt 腳本。如果您發現自己經常打開和關閉 OT 功能,請查看激活默認功能和浮動功能腳本。並從 Window > Plugin Manager 查看 Set Palette。* * **Activate Default Features:** In the current Edit tab, activates all OT features that are recommended to be on by default (according to the spec). * **Build ccmp for Hebrew Presentation Forms:** Builds the ccmp feature for precomposed `uniFBxx` glyphs, e.g. if you have pedagesh, you get 'sub pe dagesh by pedagesh' in your ccmp. @@ -189,7 +189,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 字型資訊 -*Vertical Metrics is useful for finding and syncing the vertical metric parameters in Font Info > Font and Font Info > Masters. Clean Version String is very useful too. Font Info Batch Setter is a must for syncing Font Info settings across many fonts. Careful about Set WWS/Preferred Names scripts: The app usually takes care of naming automatically, so their use cases are very rare.* +*Vertical Metrics is useful for finding and syncing the vertical metric parameters in Font Info > Font and Font Info > Masters. Clean Version String is very useful too. Font Info Batch Setter is a must for syncing Font Info settings across many fonts. Careful about Set WWS/Preferred Names scripts: The app usually takes care of naming automatically, so their use cases are very rare.Vertical Metrics 對於在 Font Info > Font and Font Info > Masters 中查找和同步垂直度量參數很有用。Clean Version String 也非常有用。Font Info Batch Setter 是跨多種字體同步字體信息設置的必備工具。注意 Set WWS/Preferred Names 腳本:該應用程序通常會自動處理命名,因此它們的用例非常少。* * **Clean Version String:** Adds a clean versionString parameter, and disables ttfAutohint info in the version string. The exported font will have a version string consisting only of ‘Version X.XXX’. * **Find and Replace in Font Info:** Finds and replaces names in *Font Info > Font* and *Font Info > Instances.* *需要 Vanilla JavaScript* @@ -207,7 +207,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 字形名稱、註釋和 Unicode -*Most scripts make managing glyph names and Unicodes a little easier. Garbage Collection is useful for cleaning up the mess of the reporter scripts, or other annotations before you hand the files over to a third party.* +*Most scripts make managing glyph names and Unicodes a little easier. Garbage Collection is useful for cleaning up the mess of the reporter scripts, or other annotations before you hand the files over to a third party.大多數腳本使管理字形名稱和 Unicode 更容易一些。垃圾收集對於在將文件移交給第三方之前清理記者腳本或其他註釋的混亂很有用。* * **Add PUA Unicode Values to Selected Glyphs:** Iterates through selected glyphs and incrementally applies custom Unicode values, starting at a user-specified value. *需要 Vanilla JavaScript* * **Color Composites in Shade of Base Glyph:** Color composites in a lighter shade of the base glyph. E.g., if your A is has a red label color, then ÄÁÀĂ... will have a lighter shade of red. @@ -223,7 +223,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 指南 -*These scripts are mostly intended for cleaning up the plethora of guides I see when working on third-party fonts.* +*These scripts are mostly intended for cleaning up the plethora of guides I see when working on third-party fonts.這些腳本主要用於清理我在處理第三方字體時看到的過多指南。* * **Guides through All Selected Nodes:** Lays guides through all selected nodes in current glyph. Tries to avoid duplicate guides. * **Remove Global Guides in Current Master:** Deletes all global (red) guides in the current master. @@ -233,7 +233,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 字體微調 -*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.* +*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.最重要的是:設置 blueScale,為 PostScript 提示設置系列對齊區域。如果您要進行大的更改,Transfer 和 Keep Only 腳本可以為您節省大量工作。新標籤腳本有助於找到字形缺失區域。為此,還可以考慮路徑 > 查找近垂直未命中。* * **Add Alignment Zones for Selected Glyphs:** Creates fitting zones for the selected glyphs in all masters. *需要 Vanilla JavaScript* * **Add Hints for Selected Nodes:** Adds hints for the selected nodes. Tries to guess whether it should be H or V. If exactly one node inside a zone is selected, it will add a Ghost Hint. Useful for setting a shortcut in System Prefs. @@ -256,7 +256,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 圖片 -*Mainly intended for curing the headaches you may undergo when handling a lot of (background) images.* +*Mainly intended for curing the headaches you may undergo when handling a lot of (background) images.主要用於解決處理大量(背景)圖像時可能遇到的頭痛問題。* * **Add Same Image to Selected Glyphs:** Asks you for an image, and then inserts it into all currently selected glyphs as background image. * **Adjust Image Alpha:** Slider for setting the alpha of all images in selected glyphs. *需要 Vanilla JavaScript* @@ -269,7 +269,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 插值 -*Most important: Insert Instances (for determining your instances and their style linking), Kink Finder and Find Shapeshifting Glyphs. I use Show Next/Previous Instance with the keyboard shortcut ctrl-up/down a lot.* +*Most important: Insert Instances (for determining your instances and their style linking), Kink Finder and Find Shapeshifting Glyphs. I use Show Next/Previous Instance with the keyboard shortcut ctrl-up/down a lot.最重要的是:Insert Instances(用於確定您的實例及其樣式鏈接)、Kink Finder 和 Find Shapeshifting Glyphs。我經常使用 Show Next/Previous Instance 和鍵盤快捷鍵 ctrl-up/down。* * **Axis Location Setter:** Batch-set axis locations for all instances with a certain name particle. E.g., set an axis location for all Condensed instances. *需要 Vanilla JavaScript* * **Axis Mapper:** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. *需要 Vanilla JavaScript* @@ -304,7 +304,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## Kerning -*Most important: Auto Bumper, KernCrasher, GapFinder, Sample String Maker. If you have too much kerning, consider Exception Cleaner.* +*Most important: Auto Bumper, KernCrasher, GapFinder, Sample String Maker. If you have too much kerning, consider Exception Cleaner.最重要的:Auto Bumper、KernCrasher、GapFinder、Sample String Maker。如果字距調整太多,請考慮 Exception Cleaner。* * **Adjust Kerning in Master:** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. *需要 Vanilla JavaScript* * **Auto Bumper:** Specify a minimum distance, left and right glyphs, and Auto Bumper will add the minimum necessary kerning for the current master. *需要 Vanilla JavaScript* @@ -342,7 +342,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 路徑 -*I use Rotate Around Anchor for my asterisks. Important for outline checking: Path Problem Finder, Find Near Vertical Misses and the Green Blue Manager. Rewire Fire has become important in OTVar production, because it helps reduce duplicate outline segments at shape edges (which create dark spots in anti-aliasing).* +*I use Rotate Around Anchor for my asterisks. Important for outline checking: Path Problem Finder, Find Near Vertical Misses and the Green Blue Manager. Rewire Fire has become important in OTVar production, because it helps reduce duplicate outline segments at shape edges (which create dark spots in anti-aliasing).我為我的星號使用 Rotate Around Anchor。對於輪廓檢查很重要:Path Problem Finder、Find Near Vertical Misses 和 Green Blue Manager。Rewire Fire 在 OTVar 製作中變得很重要,因為它有助於減少形狀邊緣處的重複輪廓段(這會在抗鋸齒中產生暗點)。* * **Align Selected Nodes with Background:** Align selected nodes with the nearest background node unless it is already taken by a previously moved node. Like Cmd-Shift-A for aligning a single node with the background, but for multiple nodes. * **Batch-Set Path Attributes:** Set path attributes of all paths in selected glyphs, the master, the font, etc. *需要 Vanilla JavaScript* @@ -372,7 +372,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 點陣字型 -*These scripts are useful for a pixelfont workflow, where you place a pixel component in a coarser grid. If you are doing pixel designs, take a look at the pixel-related plug-ins available in Window > Plugin Manager.* +*These scripts are useful for a pixelfont workflow, where you place a pixel component in a coarser grid. If you are doing pixel designs, take a look at the pixel-related plug-ins available in Window > Plugin Manager.這些腳本對於 pixelfont 工作流程很有用,您可以在其中將像素組件放置在較粗糙的網格中。如果您正在進行像素設計,請查看窗口 > 插件管理器中可用的像素相關插件。* * **Align Anchors to Grid:** Snaps diacritic anchors onto the font grid. * **Delete Components out of Bounds:** If a component is placed far outside the usual coordinates (happens when you cmd-arrow components with a high grid step), this script will delete them. @@ -382,14 +382,14 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 小體大寫字母 -*When I have Smallcaps in my font, I always run Check Smallcap Consistency. Take its report with a grain of salt though: it lists a lot of false positives, and not every warning is equally important.* +*When I have Smallcaps in my font, I always run Check Smallcap Consistency. Take its report with a grain of salt though: it lists a lot of false positives, and not every warning is equally important.當我的字體中有 Smallcaps 時,我總是運行 Check Smallcap Consistency。不過,對它的報告持保留態度:它列出了很多誤報,而且並非每個警告都同樣重要。* * **Check Smallcap Consistency:** Performs a few tests on your SC set and reports into the Macro window, especially kerning groups and glyph set. * **Copy Kerning from Caps to Smallcaps:** Looks for cap kerning pairs and reduplicates their kerning for corresponding .sc glyphs, if they are available in the font. Please be careful: Will overwrite existing SC kerning pairs. ## 間距 -*Most important: Fix Math Operator Spacing, Bracket Metrics Manager and, if you have arrows, Fix Arrow Positioning. The New Tab scripts are useful when creating figures.* +*Most important: Fix Math Operator Spacing, Bracket Metrics Manager and, if you have arrows, Fix Arrow Positioning. The New Tab scripts are useful when creating figures.最重要的是:修復數學運算符間距、括號度量管理器,如果有箭頭,修復箭頭定位。新建標籤腳本在創建圖形時很有用。* * **Add Metrics Keys for Symmetric Glyphs:** Will add RSB =| if the RSB is the same as the LSB in all masters. *需要 Vanilla JavaScript* * **Bracket Metrics Manager:** Manage the sidebearings and widths of bracket layers, e.g., dollar and cent. *需要 Vanilla JavaScript* @@ -414,10 +414,10 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *推薦「測試用 HTML 腳本」。如果您在 Adobe 或 Apple 應用程式中發現選取框異常的高或低,可以執行「最高和最低點字符報告」查詢找出導致狀況發生的字符。「拉丁字母支援語言報告」提供的資訊是參考性的建議,不是絕對要遵守的規範。* -* **Copy InDesign Test Text / 複製 InDesign 測試文字:** 將 InDesign 的測試文字複製到剪貼簿。 *無軟體測試 功能困惑* -* **Copy Word Test Text / 複製 Word 測試文字:** 將 Word 的測試文字複製到剪貼簿。 *無軟體測試 功能困惑* +* **Copy InDesign Test Text / 複製 InDesign 測試文字:** 將 InDesign 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* +* **Copy Word Test Text / 複製 Word 測試文字:** 將 Word 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* * **Language Report / 拉丁字母支援語言報告:** 在巨集視窗輸出讓您初步了解您的拉丁字符支持多少種語言以及哪些語言的資訊。基於 Underware's Latin-Plus 列表,並進行了修改。 -* **Pangram Helper / 全字母句小幫手:** 幫助您編寫歐文的全字母句,您可以將其複製到剪貼簿或放入新分頁中。 *需要 Vanilla JavaScript* *其他字母句要自己添加? 成果困惑* +* **Pangram Helper / 全字母句小幫手:** 幫助您編寫歐文的全字母句,您可以將其複製到剪貼簿或放入新分頁中。 *需要 Vanilla JavaScript* *:question:成果 其他字母句要自己添加?* * **Report Highest and Lowest Glyphs / 最高和最低點字符報告:** 讀取所有母版的所有字符,在巨集視窗輸出最高和最低點字符的資訊。 * **Variable Font Test HTML / 可變字型測試 HTML:** 為目前已輸出到資料夾的可變字型在預設瀏覽器開啟一個測試用的 HTML。 * **Webfont Test HTML / 網頁字型測試 HTML:** 為目前已輸出到資料夾的網頁字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 From 35db65d7809e087443b46bfd4d5e400145e4c22a Mon Sep 17 00:00:00 2001 From: yintzuyuan Date: Sat, 19 Nov 2022 11:46:19 +0800 Subject: [PATCH 05/18] =?UTF-8?q?=E5=89=8D=E5=B0=8E=20=E5=92=8C=E5=90=84?= =?UTF-8?q?=E5=A4=A7=E9=A0=85=E5=BC=95=E8=A8=80=E7=BF=BB=E8=AD=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 600 +++++++++++++++++++++++++++--------------------------- 1 file changed, 300 insertions(+), 300 deletions(-) diff --git a/README.md b/README.md index 62a33630..3e934cba 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -# ABOUT +# 關於 -These are Python scripts intended for font production in the [Glyphs font editor](http://glyphsapp.com/). +這是在 [字型編輯軟體 Glyphs](http://glyphsapp.com/) 中製作字型時使用的 Python 腳本集。 -# INSTALLATION +# 安裝 ## Glyphs 3 -1. **Install the modules:** In *Window > Plugin Manager,* click on the *Modules* tab, and make sure at least the [Python](glyphsapp3://showplugin/python) and [Vanilla](glyphsapp3://showplugin/vanilla) modules are installed. If they were not installed before, restart the app. -2. **Install the scripts:** Go to *Window > Plugin Manager* and click on the *Scripts* tab. Scroll down to [mekkablue scripts](glyphsapp3://showplugin/mekkablue%20scripts) and click on the *Install* button next to it. +1. **安裝模組:** 在 *視窗 > 外掛程式管理員* 點擊 *模組* 分頁,確保安裝了最新版本的 [Python](glyphsapp3://showplugin/python) 和 [Vanilla](glyphsapp3://showplugin/vanilla) 模組。如果之前從未安裝過,請在完成安裝後重新啟動程式。 +2. **安裝腳本:** 前往 *視窗 > 外掛程式管理員* 點擊上方的 *腳本* 分頁。往下捲動到 [mekkablue scripts](glyphsapp3://showplugin/mekkablue%20scripts) 後點擊 *安裝* 按鈕下載它。 -Now the scripts are available in *Script > mekkablue.* If the mekkablue scripts do not show up in the *Script* menu, hold down the Option key and choose *Script > Reload Scripts* (Cmd-Opt-Shift-Y). +現在該腳本集已被安裝在 *腳本 > mekkablue*。如果你沒有在 *腳本* 選單看到該腳本集,請按著 Option 鍵選擇 *腳本 > 重新載入腳本* (Cmd-Opt-Shift-Y)。 ## Glyphs 2 @@ -54,27 +54,27 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *「錨點移動器」用於批次處理錨點位置,在調整 x 高度之後會很有用。 輕而易舉:我總是在我的組合標記上使用「重新定位」腳本,因此就算在斜體角度也能維持一致。* -* **Anchor Mover / 錨點移動器:** GUI for batch-processing anchor positions in multiple glyphs. *需要 Vanilla JavaScript* -* **Batch Insert Anchors:** GUI for batch-inserting anchors of the same name at the same approximate position in multiple glyphs. *需要 Vanilla JavaScript* -* **Find and Replace in Anchor Names:** GUI for replacing text in the names of anchors in selected glyphs. Processes all layers. *需要 Vanilla JavaScript* -* **Fix Arabic Anchor Order in Ligatures:** Fixes the order of *top_X* and *bottom_X* anchors to RTL. In files converted from a different format, it sometimes happens that *top_1* is left of *top_2*, but it should be the other way around, otherwise your mark2liga will mess up. This script goes through your selected glyphs, and if they are Arabic ligatures, reorders all anchors to RTL order, at the same time not touching their coordinates. -* **Insert All Anchors in All Layers:** On each layer of a selected glyph, adds all missing anchors (but present in other layers of that glyph). Puts anchors at an averaged position. -* **Insert exit and entry Anchors to Selected Positional Glyphs:** Adds entry and exit anchors for cursive attachment in selected glyphs. By default, it places the exit at (0, 0) and the entry at a node at RSB if such a node exists. Please adjust for your own needs. -* **Mark Mover / 標記移動器:** Move marks to their respective heights, e.g. …comb.case to cap height, …comb to x-height, etc. Also allows you to set left and right metrics keys. *需要 Vanilla JavaScript* -* **Move ogonek Anchors to Baseline Intersection:** Moves all ogonek and _ogonek anchors to the rightmost intersection of the outline with the baseline. -* **Move topright Anchors for Vertical Carons:** Moves all topright and _topright anchors to the rightmost intersection of the outline with the x-height. Useful for building Czech/Slovak letters with vertical caron. -* **Move Vietnamese Marks to top_viet Anchor in Circumflex:** Moves *acute*, *grave* and *hookabovecomb* to the *top_viet* anchor in every layer of selected glyphs. Useful for Vietnamese double accents. Assumes that you have *top_viet* anchors in all layers of *circumflexcomb*. -* **New Tab with Glyphs Containing Anchor:** Opens a new tab with all glyphs containing a specific anchor. -* **New Tab with top and bottom Anchors Not on Metric Lines:** Report the y positions of all *top* and *bottom* anchors into the Macro Panel, and opens new tabs with all glyphs that have a stray anchor on any of the master, bracket or brace layers of any glyph in the font. Ignores the user selection, and analyses all glyphs, exporting and non-exporting. Useful to see if a top anchor is not exactly where it should be. -* **Prefix all exit/entry anchors with a hashtag:** Looks for all exit and entry anchors anywhere in the font, and disables `curs` feature generation by prefixing their anchor names with `#`. -* **Realign Stacking Anchors:** In stacking combining accents, moves top and bottom anchors exactly above or below the respective _top and _bottom anchors, respecting the italic angle. This way, stacking multiple nonspacing accents will always stay in line. *需要 Vanilla JavaScript* -* **Remove Anchors in Suffixed Glyphs:** Removes all anchors from glyphs with one of the user-specified suffix. Useful for removing left-over anchors in sups/subs/sinf/ordn variants of glyphs after copying, scaling and editing. *需要 Vanilla JavaScript* -* **Remove Anchors:** Deletes anchors with a specified name in selected glyphs (or the whole font). *需要 Vanilla JavaScript* -* **Remove Non-Standard Anchors from Selected Glyphs:** Removes all anchors from a glyph that should not be there by default, e.g., `ogonek` from `J`. Potentially dangerous, because it may delete false positives. So, first use the report script below. -* **Replicate Anchors:** Batch-add anchors to selected glyphs. Specify a source glyph to replicate the anchors from. *需要 Vanilla JavaScript* -* **Replicate Anchors in Suffixed Glyphs:** Goes through selected dot-suffixed glyphs and duplicates anchors from their respective base glyphs. E.g. will recreate anchors of *X* in *X.ss01*, *X.swsh* and *X.alt*. -* **Report Non-Standard Anchors to Macro window:** Goes through all glyphs in the font and reports in the Macro window if it finds non-default anchors. Lines are copy-pasteable in Edit view. -* **Shine Through Anchors:** In all layers of selected glyphs, inserts ‘traversing’ anchors from components. +* **Anchor Mover / 錨點移動器:** GUI for batch-processing anchor positions in multiple glyphs. *需要 香草JS* +* **Batch Insert Anchors / (翻譯名稱):** GUI for batch-inserting anchors of the same name at the same approximate position in multiple glyphs. *需要 香草JS* +* **Find and Replace in Anchor Names / (翻譯名稱):** GUI for replacing text in the names of anchors in selected glyphs. Processes all layers. *需要 香草JS* +* **Fix Arabic Anchor Order in Ligatures / (翻譯名稱):** Fixes the order of *top_X* and *bottom_X* anchors to RTL. In files converted from a different format, it sometimes happens that *top_1* is left of *top_2*, but it should be the other way around, otherwise your mark2liga will mess up. This script goes through your selected glyphs, and if they are Arabic ligatures, reorders all anchors to RTL order, at the same time not touching their coordinates. +* **Insert All Anchors in All Layers / (翻譯名稱):** On each layer of a selected glyph, adds all missing anchors (but present in other layers of that glyph). Puts anchors at an averaged position. +* **Insert exit and entry Anchors to Selected Positional Glyphs / (翻譯名稱):** Adds entry and exit anchors for cursive attachment in selected glyphs. By default, it places the exit at (0, 0) and the entry at a node at RSB if such a node exists. Please adjust for your own needs. +* **Mark Mover / 標記移動器:** Move marks to their respective heights, e.g. …comb.case to cap height, …comb to x-height, etc. Also allows you to set left and right metrics keys. *需要 香草JS* +* **Move ogonek Anchors to Baseline Intersection / (翻譯名稱):** Moves all ogonek and _ogonek anchors to the rightmost intersection of the outline with the baseline. +* **Move topright Anchors for Vertical Carons / (翻譯名稱):** Moves all topright and _topright anchors to the rightmost intersection of the outline with the x-height. Useful for building Czech/Slovak letters with vertical caron. +* **Move Vietnamese Marks to top_viet Anchor in Circumflex / (翻譯名稱):** Moves *acute*, *grave* and *hookabovecomb* to the *top_viet* anchor in every layer of selected glyphs. Useful for Vietnamese double accents. Assumes that you have *top_viet* anchors in all layers of *circumflexcomb*. +* **New Tab with Glyphs Containing Anchor / (翻譯名稱):** Opens a new tab with all glyphs containing a specific anchor. +* **New Tab with top and bottom Anchors Not on Metric Lines / (翻譯名稱):** Report the y positions of all *top* and *bottom* anchors into the Macro Panel, and opens new tabs with all glyphs that have a stray anchor on any of the master, bracket or brace layers of any glyph in the font. Ignores the user selection, and analyses all glyphs, exporting and non-exporting. Useful to see if a top anchor is not exactly where it should be. +* **Prefix all exit/entry anchors with a hashtag / (翻譯名稱):** Looks for all exit and entry anchors anywhere in the font, and disables `curs` feature generation by prefixing their anchor names with `#`. +* **Realign Stacking Anchors / (翻譯名稱):** In stacking combining accents, moves top and bottom anchors exactly above or below the respective _top and _bottom anchors, respecting the italic angle. This way, stacking multiple nonspacing accents will always stay in line. *需要 香草JS* +* **Remove Anchors in Suffixed Glyphs / (翻譯名稱):** Removes all anchors from glyphs with one of the user-specified suffix. Useful for removing left-over anchors in sups/subs/sinf/ordn variants of glyphs after copying, scaling and editing. *需要 香草JS* +* **Remove Anchors / (翻譯名稱):** Deletes anchors with a specified name in selected glyphs (or the whole font). *需要 香草JS* +* **Remove Non-Standard Anchors from Selected Glyphs / (翻譯名稱):** Removes all anchors from a glyph that should not be there by default, e.g., `ogonek` from `J`. Potentially dangerous, because it may delete false positives. So, first use the report script below. +* **Replicate Anchors / (翻譯名稱):** Batch-add anchors to selected glyphs. Specify a source glyph to replicate the anchors from. *需要 香草JS* +* **Replicate Anchors in Suffixed Glyphs / (翻譯名稱):** Goes through selected dot-suffixed glyphs and duplicates anchors from their respective base glyphs. E.g. will recreate anchors of *X* in *X.ss01*, *X.swsh* and *X.alt*. +* **Report Non-Standard Anchors to Macro window / (翻譯名稱):** Goes through all glyphs in the font and reports in the Macro window if it finds non-default anchors. Lines are copy-pasteable in Edit view. +* **Shine Through Anchors / (翻譯名稱):** In all layers of selected glyphs, inserts ‘traversing’ anchors from components. ## 應用程式 @@ -83,15 +83,15 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Close All Tabs of All Open Fonts / 關閉所有字型檔的編輯分頁:** 關閉目前在應用程式中開啟字型檔的所有編輯分頁。 * **Copy Download URL for Current App Version / 複製目前應用程式版本的下載連結:** 將目前 Glyphs 應用程式版本的下載連結放入剪貼簿以便於貼上。 * **Decrease and Increase Line Height / 減少和增加行高:** 將「編輯畫面」的行高增加四分之一或減少五分之一。如果您需要在行高之間頻繁切換,推薦將它們設定到快捷鍵。 -* **Method Reporter / 方法報告器:** 圖形使用者介面用於過濾 Glyphs 中可用的 Python 和 PyObjC 類的方法名稱。您可以使用多個空格分隔檢索詞(用於 AND 串接)和星號作為未知字元(可放在開頭、中間和結尾)。按兩下可將方法名稱放入剪貼簿,然後在巨集視窗中打開説明。對寫程式的人很有用。 *需要 Vanilla JavaScript* +* **Method Reporter / 方法報告器:** 圖形使用者介面用於過濾 Glyphs 中可用的 Python 和 PyObjC 類的方法名稱。您可以使用多個空格分隔檢索詞(用於 AND 串接)和星號作為未知字元(可放在開頭、中間和結尾)。按兩下可將方法名稱放入剪貼簿,然後在巨集視窗中打開説明。對寫程式的人很有用。 *需要 香草JS* * **Navigate - Activate next and previous glyph / :** 啟動下一個或上一個字符的編輯模式。 -* **Parameter Reporter / 參數報告器:** 類似於方法報告器,但用於自定義參數。按兩下以複製剪貼簿中的參數,準備貼到字型資訊中。 *需要 Vanilla JavaScript* +* **Parameter Reporter / 參數報告器:** 類似於方法報告器,但用於自定義參數。按兩下以複製剪貼簿中的參數,準備貼到字型資訊中。 *需要 香草JS* * **Print Window / 列印視窗:** 列印當前視窗。用於保存視窗內容的向量 PDF,包括檢視器外掛的渲染(“顯示”選單的擴展)。 *:question:成果* -* **Resetter / 重置器:** 重置快速查看預覽、鍵盤快捷鍵和清除偏好設定、已儲存的應用程式狀態和自動儲存。 *需要 Vanilla JavaScript* +* **Resetter / 重置器:** 重置快速查看預覽、鍵盤快捷鍵和清除偏好設定、已儲存的應用程式狀態和自動儲存。 *需要 香草JS* * **Set Export Paths to Adobe Fonts Folder / 將匯出路徑設置為 Adobe Fonts 資料夾:** 將 OpenType 字型和可變字型的匯出位置設定為 Adobe 字型資料夾。 -* **Set Hidden App Preferences / 設定隱藏的應用程式偏好設定:** GUI for reading and setting ‘hidden’ app preferences, which are not listed in the GUI.一個用於讀取和設定「隱藏」的應用程式偏好設定的圖形使用者介面,這些偏好設定未在圖形使用者介面中列出。 *需要 Vanilla JavaScript* *:question:翻譯* -* **Set Label Colors / 設定標籤顏色:** 覆蓋預設應用程式標籤顏色。 *需要 Vanilla JavaScript* -* **Set Tool Shortcuts / 設定工具快捷鍵:** 為工具列中的工具設置鍵盤快捷鍵。 *需要 Vanilla JavaScript* +* **Set Hidden App Preferences / 設定隱藏的應用程式偏好設定:** GUI for reading and setting ‘hidden’ app preferences, which are not listed in the GUI.一個用於讀取和設定「隱藏」的應用程式偏好設定的圖形使用者介面,這些偏好設定未在圖形使用者介面中列出。 *需要 香草JS* *:question:翻譯* +* **Set Label Colors / 設定標籤顏色:** 覆蓋預設應用程式標籤顏色。 *需要 香草JS* +* **Set Tool Shortcuts / 設定工具快捷鍵:** 為工具列中的工具設置鍵盤快捷鍵。 *需要 香草JS* * **Toggle Horizontal-Vertical / 切換 橫排-直排:** 在當前分頁切換橫排(左起)-直排書寫方向。推薦在「系統偏好設定」中設定快捷鍵使用。 * **Toggle RTL-LTR / 切換 右起-左起:** 在當前分頁切換右起-左起書寫方向。推薦在「系統偏好設定」中設定快捷鍵使用。 * **Update git Repositories in Scripts Folder / 更新文本資料夾中的 git 儲存庫:** 對 Glyphs 腳本資料夾中的所有子資料夾執行「git pull」指令。如果腳本資料夾中有很多 git 儲存庫就很有用。 *:question:功能* @@ -100,315 +100,315 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *推薦腳本:「引用符管理器」,以及用於小型大寫數字、符號和 ​​Ldot 的「構建腳本」。其他腳本主要是為了讓您快速開始覆蓋某些 Unicode 範圍如果客戶有需求。* -* **Build APL Greek:** Create APL Greek glyphs. -* **Build careof and cadauna:** Builds `cadauna` and `careof` from your `c`, `o`, `u` and `fraction` glyphs. -* **Build Circled Glyphs:** Builds circled numbers and letters (U+24B6...24EA and U+2460...2473) from `_part.circle` and your letters and figures. *需要 Vanilla JavaScript* -* **Build Dotted Numbers:** Build dotted numbers from your default figures and the period. -* **Build ellipsis from period components:** Inserts exit and entry anchors in the period glyph and rebuilds ellipsis with auto-aligned components of period. Attention: decomposes all period components used in other glyphs (e.g., colon). -* **Build Extra Math Symbols:** Builds `lessoverequal`, `greateroverequal`, `bulletoperator`, `rightanglearc`, `righttriangle`, `sphericalangle`, `measuredangle`, `sunWithRays`, `positionIndicator`, `diameterSign`, `viewdataSquare`, `control`. -* **Build Ldot and ldot:** Builds `Ldot`, `ldot` and `ldot.sc` from existing `L` and `periodcentered.loclCAT` (`.case`/`.sc`). Assumes that you have already created and properly spaced `L`-`periodcentered.loclCAT`-`L`, etc. -* **Build Parenthesized Glyphs:** Creates parenthesized letters and numbers: `one.paren`, `two.paren`, `three.paren`, `four.paren`, `five.paren`, `six.paren`, `seven.paren`, `eight.paren`, `nine.paren`, `one_zero.paren`, `one_one.paren`, `one_two.paren`, `one_three.paren`, `one_four.paren`, `one_five.paren`, `one_six.paren`, `one_seven.paren`, `one_eight.paren`, `one_nine.paren`, `two_zero.paren`, `a.paren`, `b.paren`, `c.paren`, `d.paren`, `e.paren`, `f.paren`, `g.paren`, `h.paren`, `i.paren`, `j.paren`, `k.paren`, `l.paren`, `m.paren`, `n.paren`, `o.paren`, `p.paren`, `q.paren`, `r.paren`, `s.paren`, `t.paren`, `u.paren`, `v.paren`, `w.paren`, `x.paren`, `y.paren`, `z.paren`. -* **Build Q from O and _tail.Q:** Run this script *after* doing *Component from Selection* on the Q tail and naming it `_tail.Q`. -* **Build Rare Symbols:** Builds white and black, small and large, circles, triangles and squares. *需要 Vanilla JavaScript* -* **Build rtlm Alternates:** Creates horizontally mirrored composites for selected glyphs and updates the rtlm OpenType feature. Auto-aligns the components, but also adds metrics keys that kick in in case you decompose. -* **Build Small Figures:** Takes a default set of figures (e.g., `.dnom`), and derives the others (`.numr`, `superior`/`.sups`, `inferior`/`.sinf`, `.subs`) as component copies. Respects the italic angle. *Need Vanilla.* -* **Build small letter SM, TEL:** Creates the glyphs: `servicemark`, `telephone`. -* **Build space glyphs:** Creates `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`. -* **Build Symbols:** Creates symbol glyphs such as `.notdef` (based on the boldest available `question` mark), an `estimated` glyph, as well as `bar` and `brokenbar` (for which it respects standard stems and italic angle). *需要 Vanilla JavaScript* -* **Fix Punctuation Dots and Heights:** Syncs punctuation dots between ¡!¿? (and their SC+CASE variants). Will use dot from exclam in all other glyphs, and shift ¡¿ in SC and CASE variants. Assumes that ¡¿ are components in !?. Detailed report in Macro Window.. -* **Quote Manager / 引用符管理器:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. *需要 Vanilla JavaScript* +* **Build APL Greek / (翻譯名稱):** Create APL Greek glyphs. +* **Build careof and cadauna / (翻譯名稱):** Builds `cadauna` and `careof` from your `c`, `o`, `u` and `fraction` glyphs. +* **Build Circled Glyphs / (翻譯名稱):** Builds circled numbers and letters (U+24B6...24EA and U+2460...2473) from `_part.circle` and your letters and figures. *需要 香草JS* +* **Build Dotted Numbers / (翻譯名稱):** Build dotted numbers from your default figures and the period. +* **Build ellipsis from period components / (翻譯名稱):** Inserts exit and entry anchors in the period glyph and rebuilds ellipsis with auto-aligned components of period. Attention: decomposes all period components used in other glyphs (e.g., colon). +* **Build Extra Math Symbols / (翻譯名稱):** Builds `lessoverequal`, `greateroverequal`, `bulletoperator`, `rightanglearc`, `righttriangle`, `sphericalangle`, `measuredangle`, `sunWithRays`, `positionIndicator`, `diameterSign`, `viewdataSquare`, `control`. +* **Build Ldot and ldot / (翻譯名稱):** Builds `Ldot`, `ldot` and `ldot.sc` from existing `L` and `periodcentered.loclCAT` (`.case`/`.sc`). Assumes that you have already created and properly spaced `L`-`periodcentered.loclCAT`-`L`, etc. +* **Build Parenthesized Glyphs / (翻譯名稱):** Creates parenthesized letters and numbers: `one.paren`, `two.paren`, `three.paren`, `four.paren`, `five.paren`, `six.paren`, `seven.paren`, `eight.paren`, `nine.paren`, `one_zero.paren`, `one_one.paren`, `one_two.paren`, `one_three.paren`, `one_four.paren`, `one_five.paren`, `one_six.paren`, `one_seven.paren`, `one_eight.paren`, `one_nine.paren`, `two_zero.paren`, `a.paren`, `b.paren`, `c.paren`, `d.paren`, `e.paren`, `f.paren`, `g.paren`, `h.paren`, `i.paren`, `j.paren`, `k.paren`, `l.paren`, `m.paren`, `n.paren`, `o.paren`, `p.paren`, `q.paren`, `r.paren`, `s.paren`, `t.paren`, `u.paren`, `v.paren`, `w.paren`, `x.paren`, `y.paren`, `z.paren`. +* **Build Q from O and _tail.Q / (翻譯名稱):** Run this script *after* doing *Component from Selection* on the Q tail and naming it `_tail.Q`. +* **Build Rare Symbols / (翻譯名稱):** Builds white and black, small and large, circles, triangles and squares. *需要 香草JS* +* **Build rtlm Alternates / (翻譯名稱):** Creates horizontally mirrored composites for selected glyphs and updates the rtlm OpenType feature. Auto-aligns the components, but also adds metrics keys that kick in in case you decompose. +* **Build Small Figures / (翻譯名稱):** Takes a default set of figures (e.g., `.dnom`), and derives the others (`.numr`, `superior`/`.sups`, `inferior`/`.sinf`, `.subs`) as component copies. Respects the italic angle. *Need Vanilla.* +* **Build small letter SM, TEL / (翻譯名稱):** Creates the glyphs: `servicemark`, `telephone`. +* **Build space glyphs / (翻譯名稱):** Creates `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`. +* **Build Symbols / (翻譯名稱):** Creates symbol glyphs such as `.notdef` (based on the boldest available `question` mark), an `estimated` glyph, as well as `bar` and `brokenbar` (for which it respects standard stems and italic angle). *需要 香草JS* +* **Fix Punctuation Dots and Heights / (翻譯名稱):** Syncs punctuation dots between ¡!¿? (and their SC+CASE variants). Will use dot from exclam in all other glyphs, and shift ¡¿ in SC and CASE variants. Assumes that ¡¿ are components in !?. Detailed report in Macro Window.. +* **Quote Manager / 引用符管理器:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. *需要 香草JS* ## 彩色字型 -*These scripts are for situations you will encounter in a Color Font workflow. The Merge script is mainly for creating a fallback glyph for CPAL/COLR fonts. This way the fallback has the full bbox, and no clipping will occur in Chrome.這些腳本能幫助您在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型創建後備字符。這樣後備具有完整的 bbox,並且不會在 Chrome 瀏覽器中發生裁切。* +*這些腳本能幫助您在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型創建後備字符。這個方式產生的後備字符將會填滿編輯框,且不會在 Chrome 瀏覽器中發生裁切。* -* **Add All Missing Color Layers to Selected Glyphs:** Adds a duplicate of the fallback layer for each (CPAL/COLR) color defined in the Color Palettes parameter, for each selected glyph. Only adds colors that are still missing in the glyph. -* **Add sbix Images to Font:** Will get all PNG, GIF, JPG files in a folder and create iColor layers with them in the current font and master. File name convention: ‘glyphname pixelsize.suffix’, e.g., ‘Adieresis 128.png’. -* **Convert Layerfont to CPAL+COLR Font:** Turns a layered color font into a single-master font with a CPAL and COLR layers in each glyph. It will take the first master as default. -* **Delete Non-Color Layers in Selected Glyphs:** Deletes all sublayers in all glyphs that are not of type "Color X" (CPAL/COLR layers). -* **Merge All Other Masters in Current Master:** In selected glyphs, copies all paths from other masters onto the current master layer. -* **Merge Suffixed Glyphs into Color Layers:** Merges x.shadow, x.body and x.front into separate CPAL Color layers of x. *需要 Vanilla JavaScript* -* **sbix Spacer:** Batch-set sbix positions and glyph widths. *需要 Vanilla JavaScript* +* **Add All Missing Color Layers to Selected Glyphs / (翻譯名稱):** Adds a duplicate of the fallback layer for each (CPAL/COLR) color defined in the Color Palettes parameter, for each selected glyph. Only adds colors that are still missing in the glyph. +* **Add sbix Images to Font / (翻譯名稱):** Will get all PNG, GIF, JPG files in a folder and create iColor layers with them in the current font and master. File name convention: ‘glyphname pixelsize.suffix’, e.g., ‘Adieresis 128.png’. +* **Convert Layerfont to CPAL+COLR Font / (翻譯名稱):** Turns a layered color font into a single-master font with a CPAL and COLR layers in each glyph. It will take the first master as default. +* **Delete Non-Color Layers in Selected Glyphs / (翻譯名稱):** Deletes all sublayers in all glyphs that are not of type "Color X" (CPAL/COLR layers). +* **Merge All Other Masters in Current Master / (翻譯名稱):** In selected glyphs, copies all paths from other masters onto the current master layer. +* **Merge Suffixed Glyphs into Color Layers / (翻譯名稱):** Merges x.shadow, x.body and x.front into separate CPAL Color layers of x. *需要 香草JS* +* **sbix Spacer / (翻譯名稱):** Batch-set sbix positions and glyph widths. *需要 香草JS* ## 比較當前字型 -*These scripts are intended for syncing uprights with their italics. Open two fonts, and run the scripts. They do not change your fonts, but report in detail in the Macro window.這些腳本用於同步正斜體和斜體。打開兩種字體,然後運行腳本。它們不會更改您的字體,但會在宏窗口中詳細報告。* - -* **Compare Font Info > Font:** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. -* **Compare Font Info > Masters:** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. -* **Compare Font Info > Instances:** Detailed report of Font Info > Instances for the two frontmost fonts and outputs a report in the Macro window. -* **Compare Font Info > Features:** Compares the OT features set of the two frontmost fonts and outputs a report in the Macro window. -* **Compare Anchors:** Compares anchor structure and anchor heights between the two frontmost fonts. -* **Compare Composites:** Reports diverging component structures of composite glyphs, e.g., `iacute` built with `acutecomb` in one font, and `acutecomb.narrow` in the other. -* **Compare Glyph Heights:** Lists all glyphs that differ from the second font in height beyond a given threshold. -* **Compare Glyph Info:** Compares open fonts and builds a lits of differing glyph info, including Unicode values and categorisation. *需要 Vanilla JavaScript* -* **Compare Glyphsets:** Compares the glyph set of the two frontmost fonts and outputs a report in the Macro window. -* **Compare Kerning Groups:** Compares kerning groups between frontmost fonts, outputs a table of glyph names with unmatching groups. -* **Compare Metrics:** Compare widths of two frontmost fonts. -* **Compare Sidebearings:** Compare sidebearings of two frontmost fonts. - -## 部件 - -*Populate Backgrounds with Components is very useful when you build letters based on other, e.g., ae or oe can take an e in the background. The script puts the e in the background of each master, and the UI has an option to align selected points with the e in the background. If you use corner components for serifs in a multiple-master font, the Propagate script will save you a lot of time.當您基於其他字母構建字母時,使用組件填充背景非常有用,例如,ae 或 oe 可以在背景中使用 e。該腳本將 e 放在每個母版的背景中,UI 有一個選項可以將選定的點與背景中的 e 對齊。如果您在多母版字體中為襯線使用角組件,傳播腳本將為您節省大量時間。* - -* **Alignment Manager:** Enables or disables automatic alignment for all components on visible layers in selected glyphs. Does the same as the command in the context menu, but you can do it in one step for many glyphs. *需要 Vanilla JavaScript* -* **Component Problem Finder:** Find possible issues with components and corner components: composable glyphs consisting of paths; locked, nested, orphaned, mirrored, shifted, rotated and scaled components; composite glyphs with an unusual component order or an unorthodox component structure. Also, disconnected and scaled corner components. *需要 Vanilla JavaScript* -* **Decompose Components in Background:** Decomposes background layers of selected glyphs. Works on the current master or all masters, or all masters of all fonts. -* **Decompose Corner and Cap Components:** Decomposes all corner and cap components in selected glyphs. Reports to Macro window. -* **Find and Replace Components:** Relinks components in selected glyphs to a new source glyph. *需要 Vanilla JavaScript* -* **Find and Replace Cap and Corner Components:** Relinks `_cap.*` and `_corner.*` components in selected glyphs to a different corner/cap component. *需要 Vanilla JavaScript* -* **Find and Replace Corner Components at Certain Angles:** Replace Corner Components at blunt or acute angles. *需要 Vanilla JavaScript* -* **Move Paths to Component:** Moves paths to a separate glyph and insert them as auto-aligned, anchored components in the source glyph. Perfect for making path-component mixtures into pure composites. *需要 Vanilla JavaScript* -* **Populate Backgrounds with Components:** Removes the specified component from all glyphs or all selected glyphs. *需要 Vanilla JavaScript* -* **Propagate Corner Components to Other Masters:** Tries to recreate the corner components of the current master layer in all other masters of the same glyph. Make sure your outlines are compatible. -* **Remove Components:** Removes the specified component from all (selected) glyphs. -* **Remove Detached Corners:** Removes detached corner component from all (selected) glyphs. -* **Stitcher:** In selected glyphs, the Stitcher inserts components on your paths at fixed intervals. Useful for turning open paths (monolines) into dotted lines. Use an anchor called 'origin' for determining the component position in stitched letters. Consider using the [Stitcher plug-in](glyphsapp3://showplugin/Stitcher) instead. *需要 Vanilla JavaScript* -* **Sync Components Across Masters:** Takes the current layer’s components, and resets all other masters to the same component structure. Ignores paths and anchors. Hold down Option key to *delete* all paths and anchors. +*這些腳本用於同步正體和它們的斜體。打開兩個字型檔,然後運行腳本。它們不會更改您的字型,但會在巨集視窗中顯示詳細的報告。* + +* **Compare Font Info > Font / (翻譯名稱):** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. +* **Compare Font Info > Masters / (翻譯名稱):** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. +* **Compare Font Info > Instances / (翻譯名稱):** Detailed report of Font Info > Instances for the two frontmost fonts and outputs a report in the Macro window. +* **Compare Font Info > Features / (翻譯名稱):** Compares the OT features set of the two frontmost fonts and outputs a report in the Macro window. +* **Compare Anchors / (翻譯名稱):** Compares anchor structure and anchor heights between the two frontmost fonts. +* **Compare Composites / (翻譯名稱):** Reports diverging component structures of composite glyphs, e.g., `iacute` built with `acutecomb` in one font, and `acutecomb.narrow` in the other. +* **Compare Glyph Heights / (翻譯名稱):** Lists all glyphs that differ from the second font in height beyond a given threshold. +* **Compare Glyph Info / (翻譯名稱):** Compares open fonts and builds a lits of differing glyph info, including Unicode values and categorisation. *需要 香草JS* +* **Compare Glyphsets / (翻譯名稱):** Compares the glyph set of the two frontmost fonts and outputs a report in the Macro window. +* **Compare Kerning Groups / (翻譯名稱):** Compares kerning groups between frontmost fonts, outputs a table of glyph names with unmatching groups. +* **Compare Metrics / (翻譯名稱):** Compare widths of two frontmost fonts. +* **Compare Sidebearings / (翻譯名稱):** Compare sidebearings of two frontmost fonts. + +## 組件 + +*當您使用其他字母構建字母時「使用組件填充背景」非常有用,例如:ae 或 oe,該腳本將會把 e 放在每個母版的背景中,且使用者介面有一個選項可以將選定的點與背景中的 e 對齊。如果您正在使用角落組件製作多母版的襯線字體,「傳播角落組件到其他主板」將為您節省大量時間。* + +* **Alignment Manager / (翻譯名稱):** Enables or disables automatic alignment for all components on visible layers in selected glyphs. Does the same as the command in the context menu, but you can do it in one step for many glyphs. *需要 香草JS* +* **Component Problem Finder / (翻譯名稱):** Find possible issues with components and corner components: composable glyphs consisting of paths; locked, nested, orphaned, mirrored, shifted, rotated and scaled components; composite glyphs with an unusual component order or an unorthodox component structure. Also, disconnected and scaled corner components. *需要 香草JS* +* **Decompose Components in Background / (翻譯名稱):** Decomposes background layers of selected glyphs. Works on the current master or all masters, or all masters of all fonts. +* **Decompose Corner and Cap Components / (翻譯名稱):** Decomposes all corner and cap components in selected glyphs. Reports to Macro window. +* **Find and Replace Components / (翻譯名稱):** Relinks components in selected glyphs to a new source glyph. *需要 香草JS* +* **Find and Replace Cap and Corner Components / (翻譯名稱):** Relinks `_cap.*` and `_corner.*` components in selected glyphs to a different corner/cap component. *需要 香草JS* +* **Find and Replace Corner Components at Certain Angles / (翻譯名稱):** Replace Corner Components at blunt or acute angles. *需要 香草JS* +* **Move Paths to Component / (翻譯名稱):** Moves paths to a separate glyph and insert them as auto-aligned, anchored components in the source glyph. Perfect for making path-component mixtures into pure composites. *需要 香草JS* +* **Populate Backgrounds with Components / 使用組件填充背景:** Removes the specified component from all glyphs or all selected glyphs. *需要 香草JS* +* **Propagate Corner Components to Other Masters / 傳播角落組件到其他主板:** Tries to recreate the corner components of the current master layer in all other masters of the same glyph. Make sure your outlines are compatible. +* **Remove Components / (翻譯名稱):** Removes the specified component from all (selected) glyphs. +* **Remove Detached Corners / (翻譯名稱):** Removes detached corner component from all (selected) glyphs. +* **Stitcher / (翻譯名稱):** In selected glyphs, the Stitcher inserts components on your paths at fixed intervals. Useful for turning open paths (monolines) into dotted lines. Use an anchor called 'origin' for determining the component position in stitched letters. Consider using the [Stitcher plug-in](glyphsapp3://showplugin/Stitcher) instead. *需要 香草JS* +* **Sync Components Across Masters / (翻譯名稱):** Takes the current layer’s components, and resets all other masters to the same component structure. Ignores paths and anchors. Hold down Option key to *delete* all paths and anchors. ## 特性 -*In script typefaces, you may often need the Build Positional calt script. If you find yourself turning OT features on and off a lot, take a look at the Activate Default Features and Floating Features scripts. And check out the Set Palette from Window > Plugin Manager.在腳本字體中,您可能經常需要 Build Positional calt 腳本。如果您發現自己經常打開和關閉 OT 功能,請查看激活默認功能和浮動功能腳本。並從 Window > Plugin Manager 查看 Set Palette。* - -* **Activate Default Features:** In the current Edit tab, activates all OT features that are recommended to be on by default (according to the spec). -* **Build ccmp for Hebrew Presentation Forms:** Builds the ccmp feature for precomposed `uniFBxx` glyphs, e.g. if you have pedagesh, you get 'sub pe dagesh by pedagesh' in your ccmp. -* **Build Italic Shift Feature:** Creates and inserts GPOS feature code for shifting glyphs, e.g., parentheses and punctuation for the case feature. *需要 Vanilla JavaScript* -* **Build Positional Feature:** Looks for `.init`, `.medi`, `.fina`, and `.isol` glyphs, and injects positional substitution code into your `calt` feature (or any other feature you specify). If run again, will *update* class and feature code. See this tutorial for more info: https://glyphsapp.com/learn/features-part-4-positional-alternates *需要 Vanilla JavaScript* -* **Build rand Feature:** Build rand (random) feature from .cvXX or another (numbered) suffix. *需要 Vanilla JavaScript* -* **Feature Code Tweaks:** Adds tweaks to OT feature code. Reports in Macro window. Careful: if you do not understand an option, do not use it. *需要 Vanilla JavaScript* -* **Find in Features:** Finds expressions (glyph, lookup or class names) in OT Features, Prefixes and Classes. *需要 Vanilla JavaScript* -* **Floating Features:** Floating palettes for activating and deactivating OT features. Same functionality as the pop-up menu. *需要 Vanilla JavaScript* -* **Fraction Fever 2:** Insert Tal Leming’s Fraction Fever 2 code into the font. Read more in this tutorial: https://glyphsapp.com/learn/fractions -* **New OT Class with Selected Glyphs:** GUI for creating a new OT class with the selected glyphs. *需要 Vanilla JavaScript* -* **New Tab with OT Class:** GUI for opening all glyphs in an OT class (listed in *File > Font Info > Features > Classes*) in a new tab. *需要 Vanilla JavaScript* -* **Update Features without Reordering:** Goes through the existing features in the font and refreshes each one of them. Does neither add nor reorder features. -* * **Stylistic Sets > Synchronize ssXX glyphs:** Creates missing ssXX glyphs so that you have synchronous groups of ssXX glyphs. E.g. you have *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> the script creates *b.ss02* -* * **Stylistic Sets > Create ssXX from layer:** Takes the current layer and copies it to the primary layer of a new .ssXX glyph. -* * **Stylistic Sets > Create pseudorandom calt feature:** Creates pseudorandom calt (contextual alternatives) feature based on number of existing ssXX glyphs in the font. Also includes the default class in the rotation algorithm. -* * **Stylistic Sets > Set ssXX Names:** Prefills names for ssXX features with ‘Alternate’ or another chosen text, plus the name of the first substituted glyph, e.g., ‘Alternate a’. Option to preserve existing namings.*需要 Vanilla JavaScript* +*在製作手寫風格字體時,您可能經常需要「建構位置變體」的腳本。如果您發現自己經常開關 OT 功能,請用看看「啟動預設特性」和「浮動特性」腳本。並到 視窗 > 外掛程式管理員 看看 Set Palette 這個外掛。* + +* **Activate Default Features / 啟動預設特性:** In the current Edit tab, activates all OT features that are recommended to be on by default (according to the spec). +* **Build ccmp for Hebrew Presentation Forms / (翻譯名稱):** Builds the ccmp feature for precomposed `uniFBxx` glyphs, e.g. if you have pedagesh, you get 'sub pe dagesh by pedagesh' in your ccmp. +* **Build Italic Shift Feature / (翻譯名稱):** Creates and inserts GPOS feature code for shifting glyphs, e.g., parentheses and punctuation for the case feature. *需要 香草JS* +* **Build Positional Feature / 建構位置變體特性:** Looks for `.init`, `.medi`, `.fina`, and `.isol` glyphs, and injects positional substitution code into your `calt` feature (or any other feature you specify). If run again, will *update* class and feature code. See this tutorial for more info: https://glyphsapp.com/learn/features-part-4-positional-alternates *需要 香草JS* +* **Build rand Feature / (翻譯名稱):** Build rand (random) feature from .cvXX or another (numbered) suffix. *需要 香草JS* +* **Feature Code Tweaks / (翻譯名稱):** Adds tweaks to OT feature code. Reports in Macro window. Careful: if you do not understand an option, do not use it. *需要 香草JS* +* **Find in Features / (翻譯名稱):** Finds expressions (glyph, lookup or class names) in OT Features, Prefixes and Classes. *需要 香草JS* +* **Floating Features / 浮動特性:** Floating palettes for activating and deactivating OT features. Same functionality as the pop-up menu. *需要 香草JS* +* **Fraction Fever 2 / (翻譯名稱):** Insert Tal Leming’s Fraction Fever 2 code into the font. Read more in this tutorial: https://glyphsapp.com/learn/fractions +* **New OT Class with Selected Glyphs / (翻譯名稱):** GUI for creating a new OT class with the selected glyphs. *需要 香草JS* +* **New Tab with OT Class / (翻譯名稱):** GUI for opening all glyphs in an OT class (listed in *File > Font Info > Features > Classes*) in a new tab. *需要 香草JS* +* **Update Features without Reordering / (翻譯名稱):** Goes through the existing features in the font and refreshes each one of them. Does neither add nor reorder features. +* * **Stylistic Sets > Synchronize ssXX glyphs / (翻譯名稱):** Creates missing ssXX glyphs so that you have synchronous groups of ssXX glyphs. E.g. you have *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> the script creates *b.ss02* +* * **Stylistic Sets > Create ssXX from layer / (翻譯名稱):** Takes the current layer and copies it to the primary layer of a new .ssXX glyph. +* * **Stylistic Sets > Create pseudorandom calt feature / (翻譯名稱):** Creates pseudorandom calt (contextual alternatives) feature based on number of existing ssXX glyphs in the font. Also includes the default class in the rotation algorithm. +* * **Stylistic Sets > Set ssXX Names / (翻譯名稱):** Prefills names for ssXX features with ‘Alternate’ or another chosen text, plus the name of the first substituted glyph, e.g., ‘Alternate a’. Option to preserve existing namings.*需要 香草JS* ## 字型資訊 -*Vertical Metrics is useful for finding and syncing the vertical metric parameters in Font Info > Font and Font Info > Masters. Clean Version String is very useful too. Font Info Batch Setter is a must for syncing Font Info settings across many fonts. Careful about Set WWS/Preferred Names scripts: The app usually takes care of naming automatically, so their use cases are very rare.Vertical Metrics 對於在 Font Info > Font and Font Info > Masters 中查找和同步垂直度量參數很有用。Clean Version String 也非常有用。Font Info Batch Setter 是跨多種字體同步字體信息設置的必備工具。注意 Set WWS/Preferred Names 腳本:該應用程序通常會自動處理命名,因此它們的用例非常少。* - -* **Clean Version String:** Adds a clean versionString parameter, and disables ttfAutohint info in the version string. The exported font will have a version string consisting only of ‘Version X.XXX’. -* **Find and Replace in Font Info:** Finds and replaces names in *Font Info > Font* and *Font Info > Instances.* *需要 Vanilla JavaScript* -* **Find and Replace In Instance Parameters:** Finds and Replace in Custom Parameters of selected instances of the current font or project file. -* **Font Info Batch Setter:** Batch-apply settings in *Font Info > Font* to open fonts: designer, designer URL, manufacturer, manufacturer URL, copyright, version number, date and time. Useful for syncing Font Info settings across many fonts. *需要 Vanilla JavaScript* -* **Font Info Overview:** Lists some Font Info values for all opened fonts. -* **Prepare Font Info:** Prepare open fonts for a modern font production and git workflow by setting certain custom parameters. *需要 Vanilla JavaScript* -* **Remove Custom Parameters:** Removes all parameters of one kind from Font Info > Font, Masters, Instances. Useful if you have many masters or instances. *需要 Vanilla JavaScript* -* **Set Preferred Names (Name IDs 16 and 17) for Width Variants:** Sets Preferred Names custom parameters (Name IDs 16 and 17) for all instances, so that width variants will appear in separate menus in Adobe apps. -* **Set Style Linking:** Attempts to set the Bold/Italic bits. -* **Set Subscript and Superscript Parameters:** Measures your superior and inferior figures and derives subscript/superscript X/Y offset/size parameters. *需要 Vanilla JavaScript* -* **Set WWS Names (Name IDs 21 and 22):** Sets WWS custom parameters (Name IDs 21 and 22) for all instances where necessary: Puts all info except RIBBI into the WWSFamilyName, and only keeps RIBBI for the WWSSubfamilyName. -* **Style Renamer:** Batch-add a name particle to your style names, or batch-remove it from them. Useful for switching all your styles from italic to roman naming and vice versa. *需要 Vanilla JavaScript* -* **Vertical Metrics Manager:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics). *需要 Vanilla JavaScript* +*「垂直度量管理器」對於在 字型資訊 視窗的 字型 和 主板 分頁中尋找和同步垂直度量參數很好用。「清除版本字串」也非常好用。「字型資訊批量設定器」是在多個字型檔之間同步字型資訊設定的必備工具。留意「設定 WWS/Preferred 名稱」腳本:Glyphs 通常會自動處理命名,因此使用它們的機會非常少。* + +* **Clean Version String / 清除版本字串:** Adds a clean versionString parameter, and disables ttfAutohint info in the version string. The exported font will have a version string consisting only of ‘Version X.XXX’. +* **Find and Replace in Font Info / 尋找與取代字型資訊:** Finds and replaces names in *Font Info > Font* and *Font Info > Instances.* *需要 香草JS* +* **Find and Replace In Instance Parameters / (翻譯名稱):** Finds and Replace in Custom Parameters of selected instances of the current font or project file. +* **Font Info Batch Setter / 字型資訊批量設定器:** Batch-apply settings in *Font Info > Font* to open fonts: designer, designer URL, manufacturer, manufacturer URL, copyright, version number, date and time. Useful for syncing Font Info settings across many fonts. *需要 香草JS* +* **Font Info Overview / (翻譯名稱):** Lists some Font Info values for all opened fonts. +* **Prepare Font Info / (翻譯名稱):** Prepare open fonts for a modern font production and git workflow by setting certain custom parameters. *需要 香草JS* +* **Remove Custom Parameters / (翻譯名稱):** Removes all parameters of one kind from Font Info > Font, Masters, Instances. Useful if you have many masters or instances. *需要 香草JS* +* **Set Preferred Names (Name IDs 16 and 17) for Width Variants / (翻譯名稱):** Sets Preferred Names custom parameters (Name IDs 16 and 17) for all instances, so that width variants will appear in separate menus in Adobe apps. +* **Set Style Linking / (翻譯名稱):** Attempts to set the Bold/Italic bits. +* **Set Subscript and Superscript Parameters / (翻譯名稱):** Measures your superior and inferior figures and derives subscript/superscript X/Y offset/size parameters. *需要 香草JS* +* **Set WWS Names (Name IDs 21 and 22) / (翻譯名稱):** Sets WWS custom parameters (Name IDs 21 and 22) for all instances where necessary: Puts all info except RIBBI into the WWSFamilyName, and only keeps RIBBI for the WWSSubfamilyName. +* **Style Renamer / (翻譯名稱):** Batch-add a name particle to your style names, or batch-remove it from them. Useful for switching all your styles from italic to roman naming and vice versa. *需要 香草JS* +* **Vertical Metrics Manager / 垂直度量管理器:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics). *需要 香草JS* ## 字形名稱、註釋和 Unicode -*Most scripts make managing glyph names and Unicodes a little easier. Garbage Collection is useful for cleaning up the mess of the reporter scripts, or other annotations before you hand the files over to a third party.大多數腳本使管理字形名稱和 Unicode 更容易一些。垃圾收集對於在將文件移交給第三方之前清理記者腳本或其他註釋的混亂很有用。* +*大多數腳本使管理字符名稱和 Unicode 更簡單一點。「垃圾收集」對於在將文件移交給第三方之前清理回報器腳本或其他註釋的雜亂很有用。* -* **Add PUA Unicode Values to Selected Glyphs:** Iterates through selected glyphs and incrementally applies custom Unicode values, starting at a user-specified value. *需要 Vanilla JavaScript* -* **Color Composites in Shade of Base Glyph:** Color composites in a lighter shade of the base glyph. E.g., if your A is has a red label color, then ÄÁÀĂ... will have a lighter shade of red. -* **Convert to Uppercase:** Turns lowercase names into uppercase names, e.g., `a` → `A`, `ccaron` → `Ccaron`, `aeacute` → `AEacute`, etc. -* **Convert to Lowercase:** Turns the names of selected glyphs lowercase. -* **Encoding Converter:** Converts old expert 8-bit encodings into Glyphs nice names, based on a importable/exportable text with renaming scheme. Default is an AXt converting scheme. *需要 Vanilla JavaScript* -* **Garbage Collection:** Removes markers in glyphs, such as node names, glyph names or annotations, as well as guides. -* **New Tab with Uppercase-Lowercase Inconsistencies:** Opens a new Edit tab containing all glyphs without consistent case folding. Writes a detailed report in Macro Window. -* **Production Namer:** Override default production names. Default are the usual subjects which create problems in legacy PDF workflows: mu, onesuperior, twosuperior, threesuperior. *需要 Vanilla JavaScript* -* **Rename Glyphs:** Takes a list of `oldglyphname=newglyphname` pairs and renames glyphs in the font accordingly, much like the *Rename Glyphs* custom parameter. *需要 Vanilla JavaScript* -* **Reorder Unicodes of Selected Glyphs:** Reorders Unicodes so that default Unicode comes first. -* **Switch Mirrored Characters:** In the current Edit View, switch mirrored BiDi characters, e.g. () → )(. Useful for switching parentheses and quotes after switching writing direction in a tab. +* **Add PUA Unicode Values to Selected Glyphs / (翻譯名稱):** Iterates through selected glyphs and incrementally applies custom Unicode values, starting at a user-specified value. *需要 香草JS* +* **Color Composites in Shade of Base Glyph / (翻譯名稱):** Color composites in a lighter shade of the base glyph. E.g., if your A is has a red label color, then ÄÁÀĂ... will have a lighter shade of red. +* **Convert to Uppercase / (翻譯名稱):** Turns lowercase names into uppercase names, e.g., `a` → `A`, `ccaron` → `Ccaron`, `aeacute` → `AEacute`, etc. +* **Convert to Lowercase / (翻譯名稱):** Turns the names of selected glyphs lowercase. +* **Encoding Converter / (翻譯名稱):** Converts old expert 8-bit encodings into Glyphs nice names, based on a importable/exportable text with renaming scheme. Default is an AXt converting scheme. *需要 香草JS* +* **Garbage Collection / 垃圾收集:** Removes markers in glyphs, such as node names, glyph names or annotations, as well as guides. +* **New Tab with Uppercase-Lowercase Inconsistencies / (翻譯名稱):** Opens a new Edit tab containing all glyphs without consistent case folding. Writes a detailed report in Macro Window. +* **Production Namer / (翻譯名稱):** Override default production names. Default are the usual subjects which create problems in legacy PDF workflows: mu, onesuperior, twosuperior, threesuperior. *需要 香草JS* +* **Rename Glyphs / (翻譯名稱):** Takes a list of `oldglyphname=newglyphname` pairs and renames glyphs in the font accordingly, much like the *Rename Glyphs* custom parameter. *需要 香草JS* +* **Reorder Unicodes of Selected Glyphs / (翻譯名稱):** Reorders Unicodes so that default Unicode comes first. +* **Switch Mirrored Characters / (翻譯名稱):** In the current Edit View, switch mirrored BiDi characters, e.g. () → )(. Useful for switching parentheses and quotes after switching writing direction in a tab. -## 指南 +## 參考線 -*These scripts are mostly intended for cleaning up the plethora of guides I see when working on third-party fonts.這些腳本主要用於清理我在處理第三方字體時看到的過多指南。* +*這些腳本主要用於清理在處理第三方字體時看到的過多參考線。* -* **Guides through All Selected Nodes:** Lays guides through all selected nodes in current glyph. Tries to avoid duplicate guides. -* **Remove Global Guides in Current Master:** Deletes all global (red) guides in the current master. -* **Remove Local Guides in Selected Glyphs:** Deletes all local (blue) guides in selected glyphs. -* **Select All Global Guides:** Selects all global (red) guides in Edit view. Useful if you have many and need to batch-transform them. -* **Select All Local Guides:** Selects all local (blue) guides (in all selected glyphs). +* **Guides through All Selected Nodes / (翻譯名稱):** Lays guides through all selected nodes in current glyph. Tries to avoid duplicate guides. +* **Remove Global Guides in Current Master / (翻譯名稱):** Deletes all global (red) guides in the current master. +* **Remove Local Guides in Selected Glyphs / (翻譯名稱):** Deletes all local (blue) guides in selected glyphs. +* **Select All Global Guides / (翻譯名稱):** Selects all global (red) guides in Edit view. Useful if you have many and need to batch-transform them. +* **Select All Local Guides / (翻譯名稱):** Selects all local (blue) guides (in all selected glyphs). ## 字體微調 -*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.最重要的是:設置 blueScale,為 PostScript 提示設置系列對齊區域。如果您要進行大的更改,Transfer 和 Keep Only 腳本可以為您節省大量工作。新標籤腳本有助於找到字形缺失區域。為此,還可以考慮路徑 > 查找近垂直未命中。* - -* **Add Alignment Zones for Selected Glyphs:** Creates fitting zones for the selected glyphs in all masters. *需要 Vanilla JavaScript* -* **Add Hints for Selected Nodes:** Adds hints for the selected nodes. Tries to guess whether it should be H or V. If exactly one node inside a zone is selected, it will add a Ghost Hint. Useful for setting a shortcut in System Prefs. -* **Add TTF Autohint Control Instructions for Current Glyph:** Adds a touch line for a given up/down amount to the Control Instructions of the current instance. *需要 Vanilla JavaScript* -* **BlueFuzzer:** Extends all alignment zones by the specified value. Similar to what the blueFuzz value used to do, hence the name. *需要 Vanilla JavaScript* -* **Keep Only First Master Hints:** In selected glyphs, deletes all hints in all layers except for whatever is ordered as first master. Respects Bracket Layers. E.g., if your first master is 'Regular', then the script will delete hints in 'Bold', 'Bold [120]', but keep them in 'Regular' and 'Regular [100]'. -* **New Tab with Glyphs in Alignment Zones:** Opens a new tab and lists all glyphs that reach into alignment zones. -* **New Tabs with Glyphs Not Reaching Into Zones:** Opens a new tab with all glyphs that do NOT reach into any top or bottom alignment zone. Only counts glyphs that contain paths in the current master. Ignores empty glyphs and compounds. *需要 Vanilla JavaScript* -* **New Tab with Layers with TTDeltas:** Opens a new tab with all layers that have defined TTDeltas. -* **Remove PS Hints:** Deletes all stem and/or ghost hints throughout the current font, the selected master and/or the selected glyphs. *需要 Vanilla JavaScript* -* **Remove TT Hints:** Deletes a user-specified set of TT instructions throughout the current font, the selected master and/or the selected glyphs. *需要 Vanilla JavaScript* -* **Remove Zero Deltas in Selected Glyphs:** Goes through all layers of each selected glyph, and deletes all TT Delta Hints with an offset of zero. Detailed Report in Macro window. -* **Set blueScale:** Sets maximum blueScale value (determining max size for overshoot suppression) possible in Font Info > Font. Outputs other options in Macro window. -* **Set Family Alignment Zones:** Pick an instance and set its zones as Family Alignment Zones in *Font Info > Font > Custom Parameters.* *需要 Vanilla JavaScript* -* **Set TT Stem Hints to Auto:** Sets all TT stem hints to ‘auto’ in selected glyphs. -* **Set TT Stem Hints to No Stem:** Sets all TT stem hints to ‘no stem’ in selected glyphs. In complex paths, it can improve rendering on Windows. -* **Set TTF Autohint Options:** Set options for existing 'TTF Autohint Options' Custom Parameters. *需要 Vanilla JavaScript* -* **Transfer Hints to First Master:** Copies PS hints from the current layer to the first master layer, provided the paths are compatible. Reports errors to the Macro window. -* **TT Autoinstruct:** Automatically add Glyphs TT instructions to the selected glyphs in the selected master. (Should be the first master.) Attention: this is NOT Werner Lemberg's ttfAutohint, but the manual TT hints that the TT Instruction tool (I) would add through the context menu item of the same name. Useful for adding hints in many glyphs at once. +*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.推薦腳本:「設定 blueScale」「為 PostScript 提示設置系列對齊區域」。如果您要進行大的更改,「Transfer」和「Keep Only」腳本可以為您節省大量工作。「新標籤」腳本有助於找到字形缺失區域。為此,還可以考慮路徑 > 查找近垂直未命中。* + +* **Add Alignment Zones for Selected Glyphs / (翻譯名稱):** Creates fitting zones for the selected glyphs in all masters. *需要 香草JS* +* **Add Hints for Selected Nodes / (翻譯名稱):** Adds hints for the selected nodes. Tries to guess whether it should be H or V. If exactly one node inside a zone is selected, it will add a Ghost Hint. Useful for setting a shortcut in System Prefs. +* **Add TTF Autohint Control Instructions for Current Glyph / (翻譯名稱):** Adds a touch line for a given up/down amount to the Control Instructions of the current instance. *需要 香草JS* +* **BlueFuzzer / (翻譯名稱):** Extends all alignment zones by the specified value. Similar to what the blueFuzz value used to do, hence the name. *需要 香草JS* +* **Keep Only First Master Hints / (翻譯名稱):** In selected glyphs, deletes all hints in all layers except for whatever is ordered as first master. Respects Bracket Layers. E.g., if your first master is 'Regular', then the script will delete hints in 'Bold', 'Bold [120]', but keep them in 'Regular' and 'Regular [100]'. +* **New Tab with Glyphs in Alignment Zones / (翻譯名稱):** Opens a new tab and lists all glyphs that reach into alignment zones. +* **New Tabs with Glyphs Not Reaching Into Zones / (翻譯名稱):** Opens a new tab with all glyphs that do NOT reach into any top or bottom alignment zone. Only counts glyphs that contain paths in the current master. Ignores empty glyphs and compounds. *需要 香草JS* +* **New Tab with Layers with TTDeltas / (翻譯名稱):** Opens a new tab with all layers that have defined TTDeltas. +* **Remove PS Hints / (翻譯名稱):** Deletes all stem and/or ghost hints throughout the current font, the selected master and/or the selected glyphs. *需要 香草JS* +* **Remove TT Hints / (翻譯名稱):** Deletes a user-specified set of TT instructions throughout the current font, the selected master and/or the selected glyphs. *需要 香草JS* +* **Remove Zero Deltas in Selected Glyphs / (翻譯名稱):** Goes through all layers of each selected glyph, and deletes all TT Delta Hints with an offset of zero. Detailed Report in Macro window. +* **Set blueScale / (翻譯名稱):** Sets maximum blueScale value (determining max size for overshoot suppression) possible in Font Info > Font. Outputs other options in Macro window. +* **Set Family Alignment Zones / (翻譯名稱):** Pick an instance and set its zones as Family Alignment Zones in *Font Info > Font > Custom Parameters.* *需要 香草JS* +* **Set TT Stem Hints to Auto / (翻譯名稱):** Sets all TT stem hints to ‘auto’ in selected glyphs. +* **Set TT Stem Hints to No Stem / (翻譯名稱):** Sets all TT stem hints to ‘no stem’ in selected glyphs. In complex paths, it can improve rendering on Windows. +* **Set TTF Autohint Options / (翻譯名稱):** Set options for existing 'TTF Autohint Options' Custom Parameters. *需要 香草JS* +* **Transfer Hints to First Master / (翻譯名稱):** Copies PS hints from the current layer to the first master layer, provided the paths are compatible. Reports errors to the Macro window. +* **TT Autoinstruct / (翻譯名稱):** Automatically add Glyphs TT instructions to the selected glyphs in the selected master. (Should be the first master.) Attention: this is NOT Werner Lemberg's ttfAutohint, but the manual TT hints that the TT Instruction tool (I) would add through the context menu item of the same name. Useful for adding hints in many glyphs at once. ## 圖片 -*Mainly intended for curing the headaches you may undergo when handling a lot of (background) images.主要用於解決處理大量(背景)圖像時可能遇到的頭痛問題。* +*主要用於解決處理大量(背景)圖像時可能遇到的頭痛問題。* -* **Add Same Image to Selected Glyphs:** Asks you for an image, and then inserts it into all currently selected glyphs as background image. -* **Adjust Image Alpha:** Slider for setting the alpha of all images in selected glyphs. *需要 Vanilla JavaScript* -* **Delete All Images in Font:** Deletes all placed images throughout the entire font. -* **Delete Images:** Deletes all images placed in the visible layers of selected glyphs. -* **Reset Image Transformation:** Resets all image transformations (x/y offset, scale, and distortion) back to default in the visible layers of selected glyphs. -* **Set New Path for Images:** Resets the path for placed images in selected glyphs. Useful if you have moved your images. -* **Toggle Image Lock:** Lock or unlock all images in all selected glyphs. *需要 Vanilla JavaScript* -* **Transform Images:** GUI for batch-transforming images (x/y offset and x/y scale) in the visible layers of selected glyphs. *需要 Vanilla JavaScript* +* **Add Same Image to Selected Glyphs / (翻譯名稱):** Asks you for an image, and then inserts it into all currently selected glyphs as background image. +* **Adjust Image Alpha / (翻譯名稱):** Slider for setting the alpha of all images in selected glyphs. *需要 香草JS* +* **Delete All Images in Font / (翻譯名稱):** Deletes all placed images throughout the entire font. +* **Delete Images / (翻譯名稱):** Deletes all images placed in the visible layers of selected glyphs. +* **Reset Image Transformation / (翻譯名稱):** Resets all image transformations (x/y offset, scale, and distortion) back to default in the visible layers of selected glyphs. +* **Set New Path for Images / (翻譯名稱):** Resets the path for placed images in selected glyphs. Useful if you have moved your images. +* **Toggle Image Lock / (翻譯名稱):** Lock or unlock all images in all selected glyphs. *需要 香草JS* +* **Transform Images / (翻譯名稱):** GUI for batch-transforming images (x/y offset and x/y scale) in the visible layers of selected glyphs. *需要 香草JS* ## 插值 -*Most important: Insert Instances (for determining your instances and their style linking), Kink Finder and Find Shapeshifting Glyphs. I use Show Next/Previous Instance with the keyboard shortcut ctrl-up/down a lot.最重要的是:Insert Instances(用於確定您的實例及其樣式鏈接)、Kink Finder 和 Find Shapeshifting Glyphs。我經常使用 Show Next/Previous Instance 和鍵盤快捷鍵 ctrl-up/down。* - -* **Axis Location Setter:** Batch-set axis locations for all instances with a certain name particle. E.g., set an axis location for all Condensed instances. *需要 Vanilla JavaScript* -* **Axis Mapper:** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. *需要 Vanilla JavaScript* -* **Brace and Bracket Manager:** Find and replace brace or bracket layer coordinates in Glyphs 3 and later. *需要 Vanilla JavaScript* -* **Composite Variabler:** Reduplicates Brace and Bracket layers of components in the compounds in which they are used. Makes bracket layers work in composites. *需要 Vanilla JavaScript* -* **Copy Layer to Layer:** Copies paths (and optionally, also components, anchors and metrics) from one Master to another. *需要 Vanilla JavaScript* -* **Dekink Masters:** Dekinks your smooth point triplets in all compatible layers (useful if they are not horizontal or vertical). Select a point in one or more smooth point triplets, and run this script to move the corresponding nodes in all other masters to the same relative position. Thus you achieve the same point ratio in all masters and avoid interpolation kinks, when the angle of the triplet changes. There is a [video describing it.](http://tinyurl.com/dekink-py) The triplet problem is [described in this tutorial](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible). -* **Fill up Empty Masters:** Copies paths from one Master to another. But only if target master is empty. *需要 Vanilla JavaScript* -* **Find and Replace in Layer Names:** Replaces text in all layer names (except Master layers) of selected glyphs. Useful if you use the bracket trick in many glyphs. *需要 Vanilla JavaScript* -* **Find Shapeshifting Glyphs:** Finds glyphs that change the number of paths while interpolating. Opens a new tab and reports to Macro window. *需要 Vanilla JavaScript* -* **Insert Brace Layers for Component Rotation:** Inserts a number of Brace Layers with continuously scaled and rotated components. Useful for OTVar interpolations with rotating elements. *需要 Vanilla JavaScript* -* **Insert Brace Layers for Movement along Background Path:** Inserts a number of Brace Layers with copies of the first layer, shifted according to the first path in the background. Useful for OTVar interpolations with moving elements. -* **Insert Instances:** GUI for calculating and inserting weight instances. It is described in this tutorial: https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances *需要 Vanilla JavaScript* -* **Insert Layers:** Batch-insert brace or bracket layers in selected glyphs. *需要 Vanilla JavaScript* -* **Instance Cooker:** Insert many instances at once with a recipe. *需要 Vanilla JavaScript* -* **Kink Finder:** Finds kinks in outlines or the interpolation space, reports them in the Macro window and opens a new tab with affected glyphs. Kinks are described in this tutorial: https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible *需要 Vanilla JavaScript* -* **New Tab with Dangerous Glyphs for Interpolation:** Opens a tab with all glyphs in the font that contain at least two compatible elements. I.e., glyphs where an element (a path or a component) could interpolate with the wrong element, like the equals sign. For a detailed description, see section *Be suspicious* in this tutorial: . -* **New Tab with Special Layers:** Quickly adds a new edit tab with all glyphs containing brace and bracket layers. -* **New Tab with Uneven Handle Distributions:** Finds glyphs where handle distributions change too much (e.g., from balanced to harmonised). *需要 Vanilla JavaScript* -* **OTVar Player:** Animates the current glyph with a loop along the weight axis. *需要 Vanilla JavaScript* -* **Remove All Non-Master Layers:** Deletes all layers which are neither master layers, nor brace layers, nor bracket layers. Useful for getting rid of backup layers. -* **Report Instance Interpolations:** Outputs master coefficients for each instance in Macro Window. Tells you which masters are involved in interpolating a specific instance, and to which extent. -* **Reset Axis Mappings:** Inserts (or resets) a default Axis Mappings parameter for all style values currently present in the font. Ignores style values outside the designspace bounds defined by the masters. -* **Set Weight Axis Locations in Instances:** Will set weight axis location parameters for all instances, and sync them with their respective usWeightClass. Will set the width axis coordinates to the spec defaults for usWidthClass, if they have not been set yet. Otherwise will keep them as is. -* **Short Segment Finder:** Goes through all interpolations and finds segments shorter than a user-specified threshold length. *需要 Vanilla JavaScript* -* **Travel Tracker:** Finds interpolations in which points travel more than they should, i.e., can find wrongly hooked-up asterisks and slashes. The results are incomplete, and usually have many false positives, but it sometimes finds cases that the Shapeshifter script misses. *需要 Vanilla JavaScript* -* **Variation Interpolator:** Creates a user-defined number of glyph variations with a user-defined suffix, containing interpolations between the layers and their respective backgrounds. Overwrites glyphs with same name. Similar to Pablo Impallari’s SimplePolator. Useful for e.g. length variants of Devanagari Matra, see José Nicolás Silva Schwarzenberg’s sample video: . *需要 Vanilla JavaScript* -* * **Other > Lines by Master:** Reduplicates your edit text across masters, will add one line per master in Edit view. Careful, ignores everything after the first newline. Intended for adding a keyboard in System Preferences. -* * **Other > New Tab with Masters of Selected Glyphs:** Opens a new Edit tab containing all masters of selected glyphs. -* * **Other > Show Masters of Next/Previous Glyph:** Allows you to step through one glyph after another, but with all masters. Combines the show next/previous glyph function (fn+left/right) with the *Edit > Show All Masters* function. Handy for attaching a keyboard shortcut in System Preferences. -* * **Other > Show Next/Previous Instance:** Jumps to next/previous instance in the preview section of the current Edit tab. Handy for attaching a keyboard shortcut in System Preferences. +*推薦腳本:「插入實體」(用於確認您的實體及其樣式正確的對應)、「拗折尋找」 和 「尋找變形字符」。作者經常搭配快捷鍵使用「顯示上/下一個實體」這個腳本。* + +* **Axis Location Setter / (翻譯名稱):** Batch-set axis locations for all instances with a certain name particle. E.g., set an axis location for all Condensed instances. *需要 香草JS* +* **Axis Mapper / (翻譯名稱):** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. *需要 香草JS* +* **Brace and Bracket Manager / (翻譯名稱):** Find and replace brace or bracket layer coordinates in Glyphs 3 and later. *需要 香草JS* +* **Composite Variabler / (翻譯名稱):** Reduplicates Brace and Bracket layers of components in the compounds in which they are used. Makes bracket layers work in composites. *需要 香草JS* +* **Copy Layer to Layer / (翻譯名稱):** Copies paths (and optionally, also components, anchors and metrics) from one Master to another. *需要 香草JS* +* **Dekink Masters / (翻譯名稱):** Dekinks your smooth point triplets in all compatible layers (useful if they are not horizontal or vertical). Select a point in one or more smooth point triplets, and run this script to move the corresponding nodes in all other masters to the same relative position. Thus you achieve the same point ratio in all masters and avoid interpolation kinks, when the angle of the triplet changes. There is a [video describing it.](http://tinyurl.com/dekink-py) The triplet problem is [described in this tutorial](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible). +* **Fill up Empty Masters / (翻譯名稱):** Copies paths from one Master to another. But only if target master is empty. *需要 香草JS* +* **Find and Replace in Layer Names / 尋找和取代圖層名稱:** Replaces text in all layer names (except Master layers) of selected glyphs. Useful if you use the bracket trick in many glyphs. *需要 香草JS* +* **Find Shapeshifting Glyphs / 尋找變形字符:** Finds glyphs that change the number of paths while interpolating. Opens a new tab and reports to Macro window. *需要 香草JS* +* **Insert Brace Layers for Component Rotation / (翻譯名稱):** Inserts a number of Brace Layers with continuously scaled and rotated components. Useful for OTVar interpolations with rotating elements. *需要 香草JS* +* **Insert Brace Layers for Movement along Background Path / (翻譯名稱):** Inserts a number of Brace Layers with copies of the first layer, shifted according to the first path in the background. Useful for OTVar interpolations with moving elements. +* **Insert Instances / 插入實體:** GUI for calculating and inserting weight instances. It is described in this tutorial: https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances *需要 香草JS* +* **Insert Layers / 插入圖層:** Batch-insert brace or bracket layers in selected glyphs. *需要 香草JS* +* **Instance Cooker / (翻譯名稱):** Insert many instances at once with a recipe. *需要 香草JS* +* **Kink Finder / 拗折尋找:** Finds kinks in outlines or the interpolation space, reports them in the Macro window and opens a new tab with affected glyphs. Kinks are described in this tutorial: https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible *需要 香草JS* +* **New Tab with Dangerous Glyphs for Interpolation / (翻譯名稱):** Opens a tab with all glyphs in the font that contain at least two compatible elements. I.e., glyphs where an element (a path or a component) could interpolate with the wrong element, like the equals sign. For a detailed description, see section *Be suspicious* in this tutorial: . +* **New Tab with Special Layers / (翻譯名稱):** Quickly adds a new edit tab with all glyphs containing brace and bracket layers. +* **New Tab with Uneven Handle Distributions / (翻譯名稱):** Finds glyphs where handle distributions change too much (e.g., from balanced to harmonised). *需要 香草JS* +* **OTVar Player / (翻譯名稱):** Animates the current glyph with a loop along the weight axis. *需要 香草JS* +* **Remove All Non-Master Layers / (翻譯名稱):** Deletes all layers which are neither master layers, nor brace layers, nor bracket layers. Useful for getting rid of backup layers. +* **Report Instance Interpolations / (翻譯名稱):** Outputs master coefficients for each instance in Macro Window. Tells you which masters are involved in interpolating a specific instance, and to which extent. +* **Reset Axis Mappings / (翻譯名稱):** Inserts (or resets) a default Axis Mappings parameter for all style values currently present in the font. Ignores style values outside the designspace bounds defined by the masters. +* **Set Weight Axis Locations in Instances / (翻譯名稱):** Will set weight axis location parameters for all instances, and sync them with their respective usWeightClass. Will set the width axis coordinates to the spec defaults for usWidthClass, if they have not been set yet. Otherwise will keep them as is. +* **Short Segment Finder / (翻譯名稱):** Goes through all interpolations and finds segments shorter than a user-specified threshold length. *需要 香草JS* +* **Travel Tracker / (翻譯名稱):** Finds interpolations in which points travel more than they should, i.e., can find wrongly hooked-up asterisks and slashes. The results are incomplete, and usually have many false positives, but it sometimes finds cases that the Shapeshifter script misses. *需要 香草JS* +* **Variation Interpolator / (翻譯名稱):** Creates a user-defined number of glyph variations with a user-defined suffix, containing interpolations between the layers and their respective backgrounds. Overwrites glyphs with same name. Similar to Pablo Impallari’s SimplePolator. Useful for e.g. length variants of Devanagari Matra, see José Nicolás Silva Schwarzenberg’s sample video: . *需要 香草JS* +* * **Other > Lines by Master / (翻譯名稱):** Reduplicates your edit text across masters, will add one line per master in Edit view. Careful, ignores everything after the first newline. Intended for adding a keyboard in System Preferences. +* * **Other > New Tab with Masters of Selected Glyphs / (翻譯名稱):** Opens a new Edit tab containing all masters of selected glyphs. +* * **Other > Show Masters of Next/Previous Glyph / (翻譯名稱):** Allows you to step through one glyph after another, but with all masters. Combines the show next/previous glyph function (fn+left/right) with the *Edit > Show All Masters* function. Handy for attaching a keyboard shortcut in System Preferences. +* * **Other > Show Next/Previous Instance / 其他 > 顯示上/下一個實體:** Jumps to next/previous instance in the preview section of the current Edit tab. Handy for attaching a keyboard shortcut in System Preferences. ## Kerning -*Most important: Auto Bumper, KernCrasher, GapFinder, Sample String Maker. If you have too much kerning, consider Exception Cleaner.最重要的:Auto Bumper、KernCrasher、GapFinder、Sample String Maker。如果字距調整太多,請考慮 Exception Cleaner。* - -* **Adjust Kerning in Master:** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. *需要 Vanilla JavaScript* -* **Auto Bumper:** Specify a minimum distance, left and right glyphs, and Auto Bumper will add the minimum necessary kerning for the current master. *需要 Vanilla JavaScript* -* **BBox Bumper:** Like Auto Bumper, but with the bounding box of a group of glyphs, and the kerning inserted as GPOS feature code in Font Info > Features > kern. Useful if you want to do group kerning with classes that are different from the kerning groups. 需要 Vanilla JavaScript -* **Convert RTL Kerning from Glyphs 2 to 3:** Convert RTL kerning from Glyphs 2 to Glyphs 3 format and switches the kerning classes. (Hold down OPTION and SHIFT to convert from Glyphs 3 back to Glyphs 2.) Detailed report in Macro Window. -* **Copy Kerning Exceptions to Double Accents:** Copies Kerning exceptions with abreve, `acircumflex`, `ecircumflex`, `ocircumflex`, `udieresis` into Vietnamese and Pinyin double accents. -* **Exception Cleaner:** Compares every exception to the group kerning available for the same pair. If the difference is below a threshold, remove the kerning exception. *需要 Vanilla JavaScript* -* **Find and Replace in Kerning Groups:** GUI for searching and replacing text in the L and R Kerning Groups, e.g. replace 'O' by 'O.alt'. Leave the search field blank for appending. *需要 Vanilla JavaScript* -* **GapFinder:** Opens a new tab with kerning combos that have large gaps in the current fontmaster. *需要 Vanilla JavaScript* -* **Import Kerning from .fea File:** Choose an .fea file containing a kern feature in AFDKO code, and this script will attempt to import the kerning values into the frontmost font master (see *Window > Kerning*). -* **KernCrash Current Glyph:** Opens a new tab containing kerning combos with the current glyph that collide in the current fontmaster. -* **KernCrasher:** Opens a new tab with Kerning Combos that crash in the current fontmaster. *需要 Vanilla JavaScript* -* **Kern Flattener:** Duplicates your font, flattens kerning to glyph-to-glyph kerning only, deletes all group kerning and keeps only relevant pairs (it has a built-in list), adds a *Export kern Table* parameter (and some other parameters) to each instance. Warning: do this only for making your kerning compatible with outdated and broken software like PowerPoint. No guarantee it works, though. -* **Kern String Mixer:** Intersect two sets of glyphs (tokens are possible) with each other in order to get all possible glyph combinations. *需要 Vanilla JavaScript* -* **New Tab with All Group Members:** Select two glyphs, e.g. ‘Ta’, run the script, and it will open a new tab with all combinations of the right kerning group of T with the left kerning group of a. -* **New Tab with Glyphs of Same Kerning Groups:** Opens a new tab containing all members of the left and right kerning groups of the current glyph. -* **New Tab with Kerning Missing in Masters:** Opens New Tabs for each master showing kerning missing in this master but present in other masters. -* **New Tab with Large Kerning Pairs:** Lists all positive and negative kerning pairs beyond a given threshold. *需要 Vanilla JavaScript* -* **New Tab with Overkerned Pairs:** Asks a threshold percentage, and opens a new tab with all negative kern pairs going beyond the width threshold. Example: With a threshold of 40%, and a comma with width 160, the script will report any negative kern pair with comma larger than 64 (=40% of 160). Assume that r-comma is kerned -60, and P-comma is kerned -70. In this case, it would report the latter, but not the former. *需要 Vanilla JavaScript* -* **New Tab with Right Groups:** Creates a new tab with one glyph of each right group. Useful for checking the consistency of right kerning groups. -* **New Tab with all Selected Glyph Combinations:** Takes your selected glyphs and opens a new tab with all possible combinations of the letters. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. -* **New Tab with Uneven Symmetric Kernings:** Finds kern pairs for symmetric letters like ATA AVA TOT WIW etc. and sees if AT is the same as TA, etc. -* **New Tabs with Punctuation Kern Strings:** Outputs several tabs with kern strings with punctuation. -* **Remove all Kerning Exceptions:** Removes all kerning for the current master, except for group-to-group kerning. Be careful. -* **Remove Kerning Between Categories:** Removes kerning between glyphs, categories, subcategories, scripts. *Requires Vanilla.* -* **Remove Kerning Pairs for Selected Glyphs:** Deletes all kerning pairs with the selected glyphs, for the current master only. -* **Remove Orphaned Group Kerning:** Deletes all group kernings referring to groups that are not in the font. -* **Remove Small Kerning Pairs:** Removes all kerning pairs in the current font master with a value smaller than specified, or a value equal to zero. Be careful. *需要 Vanilla JavaScript* -* **Report Kerning Mistakes:** Tries to find unnecessary kernings and groupings. Reports in Macro window, for reviewing. -* **Sample String Maker:** Creates kern strings for user-defined categories and adds them to the Sample Strings. Group kerning only, glyphs without groups are ignored. *需要 Vanilla JavaScript* -* **Set Kerning Groups:** Sets left and right kerning groups for all selected glyphs. In the case of compounds, will use the groups of the base components, otherwise makes an informed guess based on a built-in dictionary. -* **Steal Kerning from InDesign:** Steals the kerning from text set in InDesign. Useful for extracting InDesign’s [Optical Kerning](https://web.archive.org/web/20160414170915/http://blog.extensis.com/adobe/about-adobe’s-optical-kerning.php) values. -* **Steal Kerning Groups from Font:** Steals left/right kerning groups for all selected glyphs from a 2nd font. *需要 Vanilla JavaScript* -* **Zero Kerner:** Add group kernings with value zero for pairs that are missing in one master but present in others. Helps preserve interpolatable kerning in OTVar exports. *需要 Vanilla JavaScript* +*推薦腳本:「自動緩衝器」、「KernCrasher」、「GapFinder」、「示例字符串製造器」。如果你有太多的 kerning,請考慮使用「異常清除器」。* + +* **Adjust Kerning in Master / (翻譯名稱):** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. *需要 香草JS* +* **Auto Bumper / 自動緩衝器:** Specify a minimum distance, left and right glyphs, and Auto Bumper will add the minimum necessary kerning for the current master. *需要 香草JS* +* **BBox Bumper / 邊界框緩衝器:** Like Auto Bumper, but with the bounding box of a group of glyphs, and the kerning inserted as GPOS feature code in Font Info > Features > kern. Useful if you want to do group kerning with classes that are different from the kerning groups. 需要 香草JS +* **Convert RTL Kerning from Glyphs 2 to 3 / (翻譯名稱):** Convert RTL kerning from Glyphs 2 to Glyphs 3 format and switches the kerning classes. (Hold down OPTION and SHIFT to convert from Glyphs 3 back to Glyphs 2.) Detailed report in Macro Window. +* **Copy Kerning Exceptions to Double Accents / (翻譯名稱):** Copies Kerning exceptions with abreve, `acircumflex`, `ecircumflex`, `ocircumflex`, `udieresis` into Vietnamese and Pinyin double accents. +* **Exception Cleaner / (翻譯名稱):** Compares every exception to the group kerning available for the same pair. If the difference is below a threshold, remove the kerning exception. *需要 香草JS* +* **Find and Replace in Kerning Groups / (翻譯名稱):** GUI for searching and replacing text in the L and R Kerning Groups, e.g. replace 'O' by 'O.alt'. Leave the search field blank for appending. *需要 香草JS* +* **GapFinder / (翻譯名稱):** Opens a new tab with kerning combos that have large gaps in the current fontmaster. *需要 香草JS* +* **Import Kerning from .fea File / (翻譯名稱):** Choose an .fea file containing a kern feature in AFDKO code, and this script will attempt to import the kerning values into the frontmost font master (see *Window > Kerning*). +* **KernCrash Current Glyph / (翻譯名稱):** Opens a new tab containing kerning combos with the current glyph that collide in the current fontmaster. +* **KernCrasher / (翻譯名稱):** Opens a new tab with Kerning Combos that crash in the current fontmaster. *需要 香草JS* +* **Kern Flattener / (翻譯名稱):** Duplicates your font, flattens kerning to glyph-to-glyph kerning only, deletes all group kerning and keeps only relevant pairs (it has a built-in list), adds a *Export kern Table* parameter (and some other parameters) to each instance. Warning: do this only for making your kerning compatible with outdated and broken software like PowerPoint. No guarantee it works, though. +* **Kern String Mixer / (翻譯名稱):** Intersect two sets of glyphs (tokens are possible) with each other in order to get all possible glyph combinations. *需要 香草JS* +* **New Tab with All Group Members / (翻譯名稱):** Select two glyphs, e.g. ‘Ta’, run the script, and it will open a new tab with all combinations of the right kerning group of T with the left kerning group of a. +* **New Tab with Glyphs of Same Kerning Groups / (翻譯名稱):** Opens a new tab containing all members of the left and right kerning groups of the current glyph. +* **New Tab with Kerning Missing in Masters / (翻譯名稱):** Opens New Tabs for each master showing kerning missing in this master but present in other masters. +* **New Tab with Large Kerning Pairs / (翻譯名稱):** Lists all positive and negative kerning pairs beyond a given threshold. *需要 香草JS* +* **New Tab with Overkerned Pairs / (翻譯名稱):** Asks a threshold percentage, and opens a new tab with all negative kern pairs going beyond the width threshold. Example: With a threshold of 40%, and a comma with width 160, the script will report any negative kern pair with comma larger than 64 (=40% of 160). Assume that r-comma is kerned -60, and P-comma is kerned -70. In this case, it would report the latter, but not the former. *需要 香草JS* +* **New Tab with Right Groups / (翻譯名稱):** Creates a new tab with one glyph of each right group. Useful for checking the consistency of right kerning groups. +* **New Tab with all Selected Glyph Combinations / (翻譯名稱):** Takes your selected glyphs and opens a new tab with all possible combinations of the letters. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. +* **New Tab with Uneven Symmetric Kernings / (翻譯名稱):** Finds kern pairs for symmetric letters like ATA AVA TOT WIW etc. and sees if AT is the same as TA, etc. +* **New Tabs with Punctuation Kern Strings / (翻譯名稱):** Outputs several tabs with kern strings with punctuation. +* **Remove all Kerning Exceptions / (翻譯名稱):** Removes all kerning for the current master, except for group-to-group kerning. Be careful. +* **Remove Kerning Between Categories / (翻譯名稱):** Removes kerning between glyphs, categories, subcategories, scripts. *Requires Vanilla.* +* **Remove Kerning Pairs for Selected Glyphs / (翻譯名稱):** Deletes all kerning pairs with the selected glyphs, for the current master only. +* **Remove Orphaned Group Kerning / (翻譯名稱):** Deletes all group kernings referring to groups that are not in the font. +* **Remove Small Kerning Pairs / (翻譯名稱):** Removes all kerning pairs in the current font master with a value smaller than specified, or a value equal to zero. Be careful. *需要 香草JS* +* **Report Kerning Mistakes / (翻譯名稱):** Tries to find unnecessary kernings and groupings. Reports in Macro window, for reviewing. +* **Sample String Maker / 示例字符串製造器:** Creates kern strings for user-defined categories and adds them to the Sample Strings. Group kerning only, glyphs without groups are ignored. *需要 香草JS* +* **Set Kerning Groups / (翻譯名稱):** Sets left and right kerning groups for all selected glyphs. In the case of compounds, will use the groups of the base components, otherwise makes an informed guess based on a built-in dictionary. +* **Steal Kerning from InDesign / (翻譯名稱):** Steals the kerning from text set in InDesign. Useful for extracting InDesign’s [Optical Kerning](https://web.archive.org/web/20160414170915/http://blog.extensis.com/adobe/about-adobe’s-optical-kerning.php) values. +* **Steal Kerning Groups from Font / (翻譯名稱):** Steals left/right kerning groups for all selected glyphs from a 2nd font. *需要 香草JS* +* **Zero Kerner / (翻譯名稱):** Add group kernings with value zero for pairs that are missing in one master but present in others. Helps preserve interpolatable kerning in OTVar exports. *需要 香草JS* ## 路徑 -*I use Rotate Around Anchor for my asterisks. Important for outline checking: Path Problem Finder, Find Near Vertical Misses and the Green Blue Manager. Rewire Fire has become important in OTVar production, because it helps reduce duplicate outline segments at shape edges (which create dark spots in anti-aliasing).我為我的星號使用 Rotate Around Anchor。對於輪廓檢查很重要:Path Problem Finder、Find Near Vertical Misses 和 Green Blue Manager。Rewire Fire 在 OTVar 製作中變得很重要,因為它有助於減少形狀邊緣處的重複輪廓段(這會在抗鋸齒中產生暗點)。* - -* **Align Selected Nodes with Background:** Align selected nodes with the nearest background node unless it is already taken by a previously moved node. Like Cmd-Shift-A for aligning a single node with the background, but for multiple nodes. -* **Batch-Set Path Attributes:** Set path attributes of all paths in selected glyphs, the master, the font, etc. *需要 Vanilla JavaScript* -* **Copy Glyphs from Other Font into Backup Layers:** Creates backup layers for selected glyphs in target font, and fills them with the respective glyphs from source font. Useful if you want to add glyphs from one font as bracket layers in another. *需要 Vanilla JavaScript* -* **Distribute Nodes:** Horizontally or vertically distributes nodes (depends on the width/height ratio of the selection bounding box). -* **Enlarge Single-Unit Segments:** Doubles the length of line segments shorter than one unit. -* **Fill Up with Rectangles:** Goes through your selected glyphs, and if it finds an empty one, inserts a placeholder rectangle. Useful for quickly building a dummy font for testing. -* **Find Close Encounters of Orthogonal Line Segments:** Goes through all vertical and horizontal line segments, and finds pairs that are close, but do not align completely. *需要 Vanilla JavaScript* -* **Find Near Vertical Misses:** Finds nodes that are close but not exactly on vertical metrics. *需要 Vanilla JavaScript* -* **Green Blue Manager:** Define an angle above which a node will be set to blue, below which it will be set to green. *需要 Vanilla JavaScript* -* **Grid Switcher:** Toggles grid between two user-definable gridstep values with the click of a floating button. *需要 Vanilla JavaScript* -* **Harmonise Curve to Line:** Will rearrange handles on (selected) curve segments with a following line segment, in such a way that the transition between the two segments is smooth (harmonized). -* **Interpolate two paths:** Select two paths and run this script, it will replace them with their interpolation at 50%. -* **New Tab with Small Paths:** Opens a new tab containing paths that are smaller than a user-definable threshold size in square units. -* **Path Problem Finder:** Finds all kinds of potential problems in outlines, and opens a new tab with affected layers. *需要 Vanilla JavaScript* -* **Position Clicker:** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping. *需要 Vanilla JavaScript* -* **Realign BCPs:** Realigns all BCPs in all selected glyphs. Useful if handles got out of sync, e.g. after nudging or some other transformation, or after interpolation. Hold down Option to apply to all layers of the selected glyph(s). -* **Remove all Open Paths:** Deletes all *open* paths in the visible layers of all selected glyphs. -* **Remove Nodes and Try to Keep Shape:** Deletes selected on-curve nodes and tries to keep the shape as much as possible. Similar to what happens when you delete a single node, but for a selection of multiple nodes. Pro tip: Hold down the Shift key while running the script, and it will also balance the remaining handles as much as possible, which is exactly what happens when you delete a single node. -* **Remove Short Segments:** Deletes segments shorter than one unit. -* **Remove Stray Points:** Deletes stray points (single node paths) in selected glyphs. Careful: a stray point can be used as a quick hack to disable automatic alignment. Reports in detail to the Macro window. -* **Rewire Fire:** Finds, selects and marks duplicate coordinates. Two nodes on the same position typically can be rewired with Reconnect Nodes. *需要 Vanilla JavaScript* -* **Rotate Around Anchor:** GUI for rotating glyphs or selections of nodes and components around a 'rotate' anchor. Allows to step and repeat. *需要 Vanilla JavaScript* -* **Set Transform Origin:** Simple GUI for setting the Transform Origin of the Rotate tool numerically. Should also have an effect on the Scale tool. *需要 Vanilla JavaScript* -* **Straight Stem Cruncher:** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. *需要 Vanilla JavaScript* -* **Tunnify:** Looks for all path segments where at least one handle is selected. Then, evens out the handles of the segments, i.e., they will both have the same Fit Curve percentage. Can fix Adobe Illustrator's zero-handles (segments with one handle retracted into the nearest node). The idea for this script came from Eduardo Tunni (as colported by Pablo Impallari), hence the title of the script. I have never seen Eduardo's algorithm though, so my implementation might be a little different to his, especially the treatment of zero-handles. - -## 點陣字型 - -*These scripts are useful for a pixelfont workflow, where you place a pixel component in a coarser grid. If you are doing pixel designs, take a look at the pixel-related plug-ins available in Window > Plugin Manager.這些腳本對於 pixelfont 工作流程很有用,您可以在其中將像素組件放置在較粗糙的網格中。如果您正在進行像素設計,請查看窗口 > 插件管理器中可用的像素相關插件。* - -* **Align Anchors to Grid:** Snaps diacritic anchors onto the font grid. -* **Delete Components out of Bounds:** If a component is placed far outside the usual coordinates (happens when you cmd-arrow components with a high grid step), this script will delete them. -* **Delete Duplicate Components:** Looks for duplicate components (same name and position) and keeps only one. Happens frequently when buliding pixel fonts. -* **Flashify Pixels:** Creates small bridges in order to prevent self-intersection of paths so counters stay white. This is especially a problem for the Flash font renderer, hence the name of the script. -* **Reset Rotated and Mirrored Components:** Looks for scaled, mirrored and rotated components and turns them back into their default scale and orientation, but keeps their position. Useful for fixing mirrored pixels. +*星號字符的製作可以使用「環繞錨點旋轉」。在輪廓檢查時的推薦腳本:「路徑問題尋找」、「尋找接近垂直的路徑」和「節點管理器」。「Rewire Fire」在 OTVar 製作中變得很重要,因為它有助於減少形狀邊緣處的重複輪廓線段(這會在抗鋸齒中產生暗點)。* + +* **Align Selected Nodes with Background / (翻譯名稱):** Align selected nodes with the nearest background node unless it is already taken by a previously moved node. Like Cmd-Shift-A for aligning a single node with the background, but for multiple nodes. +* **Batch-Set Path Attributes / (翻譯名稱):** Set path attributes of all paths in selected glyphs, the master, the font, etc. *需要 香草JS* +* **Copy Glyphs from Other Font into Backup Layers / (翻譯名稱):** Creates backup layers for selected glyphs in target font, and fills them with the respective glyphs from source font. Useful if you want to add glyphs from one font as bracket layers in another. *需要 香草JS* +* **Distribute Nodes / (翻譯名稱):** Horizontally or vertically distributes nodes (depends on the width/height ratio of the selection bounding box). +* **Enlarge Single-Unit Segments / (翻譯名稱):** Doubles the length of line segments shorter than one unit. +* **Fill Up with Rectangles / (翻譯名稱):** Goes through your selected glyphs, and if it finds an empty one, inserts a placeholder rectangle. Useful for quickly building a dummy font for testing. +* **Find Close Encounters of Orthogonal Line Segments / (翻譯名稱):** Goes through all vertical and horizontal line segments, and finds pairs that are close, but do not align completely. *需要 香草JS* +* **Find Near Vertical Misses / 尋找接近垂直的路徑:** Finds nodes that are close but not exactly on vertical metrics. *需要 香草JS* +* **Green Blue Manager / 節點管理器:** Define an angle above which a node will be set to blue, below which it will be set to green. *需要 香草JS* +* **Grid Switcher / (翻譯名稱):** Toggles grid between two user-definable gridstep values with the click of a floating button. *需要 香草JS* +* **Harmonise Curve to Line / (翻譯名稱):** Will rearrange handles on (selected) curve segments with a following line segment, in such a way that the transition between the two segments is smooth (harmonized). +* **Interpolate two paths / (翻譯名稱):** Select two paths and run this script, it will replace them with their interpolation at 50%. +* **New Tab with Small Paths / (翻譯名稱):** Opens a new tab containing paths that are smaller than a user-definable threshold size in square units. +* **Path Problem Finder / 路徑問題尋找:** Finds all kinds of potential problems in outlines, and opens a new tab with affected layers. *需要 香草JS* +* **Position Clicker / (翻譯名稱):** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping. *需要 香草JS* +* **Realign BCPs / (翻譯名稱):** Realigns all BCPs in all selected glyphs. Useful if handles got out of sync, e.g. after nudging or some other transformation, or after interpolation. Hold down Option to apply to all layers of the selected glyph(s). +* **Remove all Open Paths / (翻譯名稱):** Deletes all *open* paths in the visible layers of all selected glyphs. +* **Remove Nodes and Try to Keep Shape / (翻譯名稱):** Deletes selected on-curve nodes and tries to keep the shape as much as possible. Similar to what happens when you delete a single node, but for a selection of multiple nodes. Pro tip: Hold down the Shift key while running the script, and it will also balance the remaining handles as much as possible, which is exactly what happens when you delete a single node. +* **Remove Short Segments / (翻譯名稱):** Deletes segments shorter than one unit. +* **Remove Stray Points / (翻譯名稱):** Deletes stray points (single node paths) in selected glyphs. Careful: a stray point can be used as a quick hack to disable automatic alignment. Reports in detail to the Macro window. +* **Rewire Fire / (翻譯名稱):** Finds, selects and marks duplicate coordinates. Two nodes on the same position typically can be rewired with Reconnect Nodes. *需要 香草JS* +* **Rotate Around Anchor / 環繞錨點旋轉:** GUI for rotating glyphs or selections of nodes and components around a 'rotate' anchor. Allows to step and repeat. *需要 香草JS* +* **Set Transform Origin / (翻譯名稱):** Simple GUI for setting the Transform Origin of the Rotate tool numerically. Should also have an effect on the Scale tool. *需要 香草JS* +* **Straight Stem Cruncher / (翻譯名稱):** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. *需要 香草JS* +* **Tunnify / (翻譯名稱):** Looks for all path segments where at least one handle is selected. Then, evens out the handles of the segments, i.e., they will both have the same Fit Curve percentage. Can fix Adobe Illustrator's zero-handles (segments with one handle retracted into the nearest node). The idea for this script came from Eduardo Tunni (as colported by Pablo Impallari), hence the title of the script. I have never seen Eduardo's algorithm though, so my implementation might be a little different to his, especially the treatment of zero-handles. + +## 像素字型 + +*這些腳本在像素字型的工作流程中都很有用,它們能幫助您在較粗的網格中放置像素組件。如果您正在進行像素設計,請看看 窗口 > 外掛程式管理員 中可用的像素相關外掛。* + +* **Align Anchors to Grid / (翻譯名稱):** Snaps diacritic anchors onto the font grid. +* **Delete Components out of Bounds / (翻譯名稱):** If a component is placed far outside the usual coordinates (happens when you cmd-arrow components with a high grid step), this script will delete them. +* **Delete Duplicate Components / (翻譯名稱):** Looks for duplicate components (same name and position) and keeps only one. Happens frequently when buliding pixel fonts. +* **Flashify Pixels / (翻譯名稱):** Creates small bridges in order to prevent self-intersection of paths so counters stay white. This is especially a problem for the Flash font renderer, hence the name of the script. +* **Reset Rotated and Mirrored Components / (翻譯名稱):** Looks for scaled, mirrored and rotated components and turns them back into their default scale and orientation, but keeps their position. Useful for fixing mirrored pixels. ## 小體大寫字母 -*When I have Smallcaps in my font, I always run Check Smallcap Consistency. Take its report with a grain of salt though: it lists a lot of false positives, and not every warning is equally important.當我的字體中有 Smallcaps 時,我總是運行 Check Smallcap Consistency。不過,對它的報告持保留態度:它列出了很多誤報,而且並非每個警告都同樣重要。* +*當製作中的字體包含小體大寫字母時,可以執行「檢查小體大寫字母一致性」。不過請對它的報告持保留態度:它列出了許多誤報,而且也不是每個警告都這麼重要。* -* **Check Smallcap Consistency:** Performs a few tests on your SC set and reports into the Macro window, especially kerning groups and glyph set. -* **Copy Kerning from Caps to Smallcaps:** Looks for cap kerning pairs and reduplicates their kerning for corresponding .sc glyphs, if they are available in the font. Please be careful: Will overwrite existing SC kerning pairs. +* **Check Smallcap Consistency / 檢查小體大寫字母一致性:** Performs a few tests on your SC set and reports into the Macro window, especially kerning groups and glyph set. +* **Copy Kerning from Caps to Smallcaps / (翻譯名稱):** Looks for cap kerning pairs and reduplicates their kerning for corresponding .sc glyphs, if they are available in the font. Please be careful: Will overwrite existing SC kerning pairs. ## 間距 -*Most important: Fix Math Operator Spacing, Bracket Metrics Manager and, if you have arrows, Fix Arrow Positioning. The New Tab scripts are useful when creating figures.最重要的是:修復數學運算符間距、括號度量管理器,如果有箭頭,修復箭頭定位。新建標籤腳本在創建圖形時很有用。* - -* **Add Metrics Keys for Symmetric Glyphs:** Will add RSB =| if the RSB is the same as the LSB in all masters. *需要 Vanilla JavaScript* -* **Bracket Metrics Manager:** Manage the sidebearings and widths of bracket layers, e.g., dollar and cent. *需要 Vanilla JavaScript* -* **Center Glyphs:** Centers all selected glyphs inside their width, so that LSB=RSB. -* **Change Metrics by Percentage:** Change LSB/RSB of selected glyphs by a percentage value. Undo with the Revert button. *需要 Vanilla JavaScript* -* **Find and Replace in Metrics Keys:** GUI for searching and replacing text in the L and R metrics keys, e.g. replace '=X+15' by '=X'. Leave the search field blank for appending. -* **Fix Arrow Positioning:** Fixes the placement and metrics keys of arrows, dependent on a specified default arrow. Adds metric keys and moves arrows vertically. Does not create new glyphs, only works on existing ones. *需要 Vanilla JavaScript* -* **Fix Math Operator Spacing:** Syncs widths and centers glyphs for +−×÷=≠±≈¬, optionally also lesser/greater symbols and asciicircum/asciitilde. *需要 Vanilla JavaScript* -* **Freeze Placeholders:** In the current Edit tab, will change all inserted placeholders for the current glyph, thus 'freeze' the placeholders. -* **Metrics Key Manager:** Batch apply metrics keys to the current font. *需要 Vanilla JavaScript* -* **Monospace Checker:** Checks if all glyph widths in the frontmost font are actually monospaced. Reports in Macro Window and opens a tab with affected layers. *需要 Vanilla JavaScript* -* **New Tab with all Figure Combinations:** Opens a new tab with all possible figure combos. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. -* **New Tab with Fraction Figure Combinations:** Opens an Edit tab with fraction figure combos for spacing and kerning. -* **Remove Layer-Specific Metrics Keys:** Deletes left and right metrics keys specific to layers (==), in all layers of all selected glyphs. Also simplifies glyph metrics keys (i.e., turns "=H" into "H"). -* **Remove Metrics Keys:** Deletes both left and right metrics keys in all selected glyphs. Affects all masters and all layers. -* **Reset Alternate Glyph Widths:** Resets the width of suffixed glyphs to the width of their unsuffixed counterparts. E.g., `Adieresis.ss01` will be reset to the width of `Adieresis`. -* **Spacing Checker:** Look for glyphs with unusual spacings and open them in a new tab. *需要 Vanilla JavaScript* -* **Steal Metrics:** Steals the sidebearing or width values for all selected glyphs from a 2nd font. Optionally also transfers metrics keys like '=x+20'. *需要 Vanilla JavaScript* -* **Tabular Checker:** Goes through tabular glyphs and checks if they are monospaced. Reports exceptions. *需要 Vanilla JavaScript* +*推薦腳本:「修復數學運算符間距」、「括號度量管理器」,如果你的字型中有箭頭可以試試「修復箭頭定位」。「新增分頁」腳本在創建數字時也很好用。* + +* **Add Metrics Keys for Symmetric Glyphs / (翻譯名稱):** Will add RSB =| if the RSB is the same as the LSB in all masters. *需要 香草JS* +* **Bracket Metrics Manager / 括號度量管理器:** Manage the sidebearings and widths of bracket layers, e.g., dollar and cent. *需要 香草JS* +* **Center Glyphs / (翻譯名稱):** Centers all selected glyphs inside their width, so that LSB=RSB. +* **Change Metrics by Percentage / (翻譯名稱):** Change LSB/RSB of selected glyphs by a percentage value. Undo with the Revert button. *需要 香草JS* +* **Find and Replace in Metrics Keys / (翻譯名稱):** GUI for searching and replacing text in the L and R metrics keys, e.g. replace '=X+15' by '=X'. Leave the search field blank for appending. +* **Fix Arrow Positioning / 修復箭頭定位:** Fixes the placement and metrics keys of arrows, dependent on a specified default arrow. Adds metric keys and moves arrows vertically. Does not create new glyphs, only works on existing ones. *需要 香草JS* +* **Fix Math Operator Spacing / 修復數學運算符間距:** Syncs widths and centers glyphs for +−×÷=≠±≈¬, optionally also lesser/greater symbols and asciicircum/asciitilde. *需要 香草JS* +* **Freeze Placeholders / (翻譯名稱):** In the current Edit tab, will change all inserted placeholders for the current glyph, thus 'freeze' the placeholders. +* **Metrics Key Manager / (翻譯名稱):** Batch apply metrics keys to the current font. *需要 香草JS* +* **Monospace Checker / (翻譯名稱):** Checks if all glyph widths in the frontmost font are actually monospaced. Reports in Macro Window and opens a tab with affected layers. *需要 香草JS* +* **New Tab with all Figure Combinations / (翻譯名稱):** Opens a new tab with all possible figure combos. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. +* **New Tab with Fraction Figure Combinations / (翻譯名稱):** Opens an Edit tab with fraction figure combos for spacing and kerning. +* **Remove Layer-Specific Metrics Keys / (翻譯名稱):** Deletes left and right metrics keys specific to layers (==), in all layers of all selected glyphs. Also simplifies glyph metrics keys (i.e., turns "=H" into "H"). +* **Remove Metrics Keys / (翻譯名稱):** Deletes both left and right metrics keys in all selected glyphs. Affects all masters and all layers. +* **Reset Alternate Glyph Widths / (翻譯名稱):** Resets the width of suffixed glyphs to the width of their unsuffixed counterparts. E.g., `Adieresis.ss01` will be reset to the width of `Adieresis`. +* **Spacing Checker / (翻譯名稱):** Look for glyphs with unusual spacings and open them in a new tab. *需要 香草JS* +* **Steal Metrics / (翻譯名稱):** Steals the sidebearing or width values for all selected glyphs from a 2nd font. Optionally also transfers metrics keys like '=x+20'. *需要 香草JS* +* **Tabular Checker / (翻譯名稱):** Goes through tabular glyphs and checks if they are monospaced. Reports exceptions. *需要 香草JS* ## 測試 @@ -417,7 +417,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Copy InDesign Test Text / 複製 InDesign 測試文字:** 將 InDesign 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* * **Copy Word Test Text / 複製 Word 測試文字:** 將 Word 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* * **Language Report / 拉丁字母支援語言報告:** 在巨集視窗輸出讓您初步了解您的拉丁字符支持多少種語言以及哪些語言的資訊。基於 Underware's Latin-Plus 列表,並進行了修改。 -* **Pangram Helper / 全字母句小幫手:** 幫助您編寫歐文的全字母句,您可以將其複製到剪貼簿或放入新分頁中。 *需要 Vanilla JavaScript* *:question:成果 其他字母句要自己添加?* +* **Pangram Helper / 全字母句小幫手:** 幫助您編寫歐文的全字母句,您可以將其複製到剪貼簿或放入新分頁中。 *需要 香草JS* *:question:成果 其他字母句要自己添加?* * **Report Highest and Lowest Glyphs / 最高和最低點字符報告:** 讀取所有母版的所有字符,在巨集視窗輸出最高和最低點字符的資訊。 * **Variable Font Test HTML / 可變字型測試 HTML:** 為目前已輸出到資料夾的可變字型在預設瀏覽器開啟一個測試用的 HTML。 * **Webfont Test HTML / 網頁字型測試 HTML:** 為目前已輸出到資料夾的網頁字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 From 417e33042a959093e53d5d1a6cfed593c64cec87 Mon Sep 17 00:00:00 2001 From: yintzuyuan Date: Sat, 19 Nov 2022 12:05:46 +0800 Subject: [PATCH 06/18] =?UTF-8?q?=E8=AA=9E=E5=8F=A5=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 3e934cba..72b58e01 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 錨點 -*「錨點移動器」用於批次處理錨點位置,在調整 x 高度之後會很有用。 輕而易舉:我總是在我的組合標記上使用「重新定位」腳本,因此就算在斜體角度也能維持一致。* +*「錨點移動器」用於批次處理錨點位置,在調整 x 高度之後會很有用。 輕而易舉:在組合標記上使用「重新定位」腳本,能讓你在斜體角度時也能維持一致。* * **Anchor Mover / 錨點移動器:** GUI for batch-processing anchor positions in multiple glyphs. *需要 香草JS* * **Batch Insert Anchors / (翻譯名稱):** GUI for batch-inserting anchors of the same name at the same approximate position in multiple glyphs. *需要 香草JS* @@ -78,12 +78,12 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 應用程式 -*如果您正在寫程式,請為「方法報告器」添加快捷鍵,您將非常需要它。如果你想要一個與解析度無關的視窗內容的PDF螢幕截圖讓你可以在向量插圖應用程式中進行後製,「列印視窗」可以派上用場。* +*如果你正在寫程式,請為「方法報告器」添加快捷鍵,你將非常需要它。如果你想要一個與解析度無關的視窗內容的PDF螢幕截圖讓你可以在向量插圖應用程式中進行後製,「列印視窗」可以派上用場。* * **Close All Tabs of All Open Fonts / 關閉所有字型檔的編輯分頁:** 關閉目前在應用程式中開啟字型檔的所有編輯分頁。 * **Copy Download URL for Current App Version / 複製目前應用程式版本的下載連結:** 將目前 Glyphs 應用程式版本的下載連結放入剪貼簿以便於貼上。 -* **Decrease and Increase Line Height / 減少和增加行高:** 將「編輯畫面」的行高增加四分之一或減少五分之一。如果您需要在行高之間頻繁切換,推薦將它們設定到快捷鍵。 -* **Method Reporter / 方法報告器:** 圖形使用者介面用於過濾 Glyphs 中可用的 Python 和 PyObjC 類的方法名稱。您可以使用多個空格分隔檢索詞(用於 AND 串接)和星號作為未知字元(可放在開頭、中間和結尾)。按兩下可將方法名稱放入剪貼簿,然後在巨集視窗中打開説明。對寫程式的人很有用。 *需要 香草JS* +* **Decrease and Increase Line Height / 減少和增加行高:** 將「編輯畫面」的行高增加四分之一或減少五分之一。如果你需要在行高之間頻繁切換,推薦將它們設定到快捷鍵。 +* **Method Reporter / 方法報告器:** 圖形使用者介面用於過濾 Glyphs 中可用的 Python 和 PyObjC 類的方法名稱。你可以使用多個空格分隔檢索詞(用於 AND 串接)和星號作為未知字元(可放在開頭、中間和結尾)。按兩下可將方法名稱放入剪貼簿,然後在巨集視窗中打開説明。對寫程式的人很有用。 *需要 香草JS* * **Navigate - Activate next and previous glyph / :** 啟動下一個或上一個字符的編輯模式。 * **Parameter Reporter / 參數報告器:** 類似於方法報告器,但用於自定義參數。按兩下以複製剪貼簿中的參數,準備貼到字型資訊中。 *需要 香草JS* * **Print Window / 列印視窗:** 列印當前視窗。用於保存視窗內容的向量 PDF,包括檢視器外掛的渲染(“顯示”選單的擴展)。 *:question:成果* @@ -98,7 +98,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 建構字符 -*推薦腳本:「引用符管理器」,以及用於小型大寫數字、符號和 ​​Ldot 的「構建腳本」。其他腳本主要是為了讓您快速開始覆蓋某些 Unicode 範圍如果客戶有需求。* +*推薦腳本:「引用符管理器」,以及用於小型大寫數字、符號和 ​​Ldot 的「構建腳本」。其他腳本主要是為了讓你快速開始覆蓋某些 Unicode 範圍如果客戶有需求。* * **Build APL Greek / (翻譯名稱):** Create APL Greek glyphs. * **Build careof and cadauna / (翻譯名稱):** Builds `cadauna` and `careof` from your `c`, `o`, `u` and `fraction` glyphs. @@ -120,7 +120,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 彩色字型 -*這些腳本能幫助您在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型創建後備字符。這個方式產生的後備字符將會填滿編輯框,且不會在 Chrome 瀏覽器中發生裁切。* +*這些腳本能幫助你在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型創建後備字符。這個方式產生的後備字符將會填滿編輯框,且不會在 Chrome 瀏覽器中發生裁切。* * **Add All Missing Color Layers to Selected Glyphs / (翻譯名稱):** Adds a duplicate of the fallback layer for each (CPAL/COLR) color defined in the Color Palettes parameter, for each selected glyph. Only adds colors that are still missing in the glyph. * **Add sbix Images to Font / (翻譯名稱):** Will get all PNG, GIF, JPG files in a folder and create iColor layers with them in the current font and master. File name convention: ‘glyphname pixelsize.suffix’, e.g., ‘Adieresis 128.png’. @@ -132,7 +132,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 比較當前字型 -*這些腳本用於同步正體和它們的斜體。打開兩個字型檔,然後運行腳本。它們不會更改您的字型,但會在巨集視窗中顯示詳細的報告。* +*這些腳本用於同步正體和它們的斜體。打開兩個字型檔,然後運行腳本。它們不會更改你的字型,但會在巨集視窗中顯示詳細的報告。* * **Compare Font Info > Font / (翻譯名稱):** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. * **Compare Font Info > Masters / (翻譯名稱):** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. @@ -149,7 +149,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 組件 -*當您使用其他字母構建字母時「使用組件填充背景」非常有用,例如:ae 或 oe,該腳本將會把 e 放在每個母版的背景中,且使用者介面有一個選項可以將選定的點與背景中的 e 對齊。如果您正在使用角落組件製作多母版的襯線字體,「傳播角落組件到其他主板」將為您節省大量時間。* +*當你使用其他字母構建字母時「使用組件填充背景」非常有用,例如:ae 或 oe,該腳本將會把 e 放在每個母版的背景中,且使用者介面有一個選項可以將選定的點與背景中的 e 對齊。如果你正在使用角落組件製作多母版的襯線字體,「傳播角落組件到其他主板」將為你節省大量時間。* * **Alignment Manager / (翻譯名稱):** Enables or disables automatic alignment for all components on visible layers in selected glyphs. Does the same as the command in the context menu, but you can do it in one step for many glyphs. *需要 香草JS* * **Component Problem Finder / (翻譯名稱):** Find possible issues with components and corner components: composable glyphs consisting of paths; locked, nested, orphaned, mirrored, shifted, rotated and scaled components; composite glyphs with an unusual component order or an unorthodox component structure. Also, disconnected and scaled corner components. *需要 香草JS* @@ -168,7 +168,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 特性 -*在製作手寫風格字體時,您可能經常需要「建構位置變體」的腳本。如果您發現自己經常開關 OT 功能,請用看看「啟動預設特性」和「浮動特性」腳本。並到 視窗 > 外掛程式管理員 看看 Set Palette 這個外掛。* +*在製作手寫風格字體時,你可能經常需要「建構位置變體」的腳本。如果你發現自己經常開關 OT 功能,請用看看「啟動預設特性」和「浮動特性」腳本。並到 視窗 > 外掛程式管理員 看看 Set Palette 這個外掛。* * **Activate Default Features / 啟動預設特性:** In the current Edit tab, activates all OT features that are recommended to be on by default (according to the spec). * **Build ccmp for Hebrew Presentation Forms / (翻譯名稱):** Builds the ccmp feature for precomposed `uniFBxx` glyphs, e.g. if you have pedagesh, you get 'sub pe dagesh by pedagesh' in your ccmp. @@ -233,7 +233,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 字體微調 -*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.推薦腳本:「設定 blueScale」「為 PostScript 提示設置系列對齊區域」。如果您要進行大的更改,「Transfer」和「Keep Only」腳本可以為您節省大量工作。「新標籤」腳本有助於找到字形缺失區域。為此,還可以考慮路徑 > 查找近垂直未命中。* +*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.推薦腳本:「設定 blueScale」「為 PostScript 提示設置系列對齊區域」。如果你要進行大的更改,「Transfer」和「Keep Only」腳本可以為你節省大量工作。「新標籤」腳本有助於找到字形缺失區域。為此,還可以考慮路徑 > 查找近垂直未命中。* *:question:翻譯 專業領域暫時擱置* * **Add Alignment Zones for Selected Glyphs / (翻譯名稱):** Creates fitting zones for the selected glyphs in all masters. *需要 香草JS* * **Add Hints for Selected Nodes / (翻譯名稱):** Adds hints for the selected nodes. Tries to guess whether it should be H or V. If exactly one node inside a zone is selected, it will add a Ghost Hint. Useful for setting a shortcut in System Prefs. @@ -246,7 +246,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Remove PS Hints / (翻譯名稱):** Deletes all stem and/or ghost hints throughout the current font, the selected master and/or the selected glyphs. *需要 香草JS* * **Remove TT Hints / (翻譯名稱):** Deletes a user-specified set of TT instructions throughout the current font, the selected master and/or the selected glyphs. *需要 香草JS* * **Remove Zero Deltas in Selected Glyphs / (翻譯名稱):** Goes through all layers of each selected glyph, and deletes all TT Delta Hints with an offset of zero. Detailed Report in Macro window. -* **Set blueScale / (翻譯名稱):** Sets maximum blueScale value (determining max size for overshoot suppression) possible in Font Info > Font. Outputs other options in Macro window. +* **Set blueScale / 設定 blueScale:** Sets maximum blueScale value (determining max size for overshoot suppression) possible in Font Info > Font. Outputs other options in Macro window. * **Set Family Alignment Zones / (翻譯名稱):** Pick an instance and set its zones as Family Alignment Zones in *Font Info > Font > Custom Parameters.* *需要 香草JS* * **Set TT Stem Hints to Auto / (翻譯名稱):** Sets all TT stem hints to ‘auto’ in selected glyphs. * **Set TT Stem Hints to No Stem / (翻譯名稱):** Sets all TT stem hints to ‘no stem’ in selected glyphs. In complex paths, it can improve rendering on Windows. @@ -269,7 +269,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 插值 -*推薦腳本:「插入實體」(用於確認您的實體及其樣式正確的對應)、「拗折尋找」 和 「尋找變形字符」。作者經常搭配快捷鍵使用「顯示上/下一個實體」這個腳本。* +*推薦腳本:「插入實體」(用於確認你的實體及其樣式正確的對應)、「拗折尋找」 和 「尋找變形字符」。作者經常搭配快捷鍵使用「顯示上/下一個實體」這個腳本。* * **Axis Location Setter / (翻譯名稱):** Batch-set axis locations for all instances with a certain name particle. E.g., set an axis location for all Condensed instances. *需要 香草JS* * **Axis Mapper / (翻譯名稱):** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. *需要 香草JS* @@ -372,7 +372,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 像素字型 -*這些腳本在像素字型的工作流程中都很有用,它們能幫助您在較粗的網格中放置像素組件。如果您正在進行像素設計,請看看 窗口 > 外掛程式管理員 中可用的像素相關外掛。* +*這些腳本在像素字型的工作流程中都很有用,它們能幫助你在較粗的網格中放置像素組件。如果你正在進行像素設計,請看看 窗口 > 外掛程式管理員 中可用的像素相關外掛。* * **Align Anchors to Grid / (翻譯名稱):** Snaps diacritic anchors onto the font grid. * **Delete Components out of Bounds / (翻譯名稱):** If a component is placed far outside the usual coordinates (happens when you cmd-arrow components with a high grid step), this script will delete them. @@ -412,12 +412,12 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 測試 -*推薦「測試用 HTML 腳本」。如果您在 Adobe 或 Apple 應用程式中發現選取框異常的高或低,可以執行「最高和最低點字符報告」查詢找出導致狀況發生的字符。「拉丁字母支援語言報告」提供的資訊是參考性的建議,不是絕對要遵守的規範。* +*推薦「測試用 HTML 腳本」。如果你在 Adobe 或 Apple 應用程式中發現選取框異常的高或低,可以執行「最高和最低點字符報告」查詢找出導致狀況發生的字符。「拉丁字母支援語言報告」提供的資訊是參考性的建議,不是絕對要遵守的規範。* * **Copy InDesign Test Text / 複製 InDesign 測試文字:** 將 InDesign 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* * **Copy Word Test Text / 複製 Word 測試文字:** 將 Word 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* -* **Language Report / 拉丁字母支援語言報告:** 在巨集視窗輸出讓您初步了解您的拉丁字符支持多少種語言以及哪些語言的資訊。基於 Underware's Latin-Plus 列表,並進行了修改。 -* **Pangram Helper / 全字母句小幫手:** 幫助您編寫歐文的全字母句,您可以將其複製到剪貼簿或放入新分頁中。 *需要 香草JS* *:question:成果 其他字母句要自己添加?* +* **Language Report / 拉丁字母支援語言報告:** 在巨集視窗輸出讓你初步了解你的拉丁字符支持多少種語言以及哪些語言的資訊。基於 Underware's Latin-Plus 列表,並進行了修改。 +* **Pangram Helper / 全字母句小幫手:** 幫助你編寫歐文的全字母句,你可以將其複製到剪貼簿或放入新分頁中。 *需要 香草JS* *:question:成果 其他字母句要自己添加?* * **Report Highest and Lowest Glyphs / 最高和最低點字符報告:** 讀取所有母版的所有字符,在巨集視窗輸出最高和最低點字符的資訊。 * **Variable Font Test HTML / 可變字型測試 HTML:** 為目前已輸出到資料夾的可變字型在預設瀏覽器開啟一個測試用的 HTML。 * **Webfont Test HTML / 網頁字型測試 HTML:** 為目前已輸出到資料夾的網頁字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 From e6a805516d2200997fd48ca710569b8e20aeb3fc Mon Sep 17 00:00:00 2001 From: Erikyin <83154914+yintzuyuan@users.noreply.github.com> Date: Thu, 29 Dec 2022 01:29:41 +0800 Subject: [PATCH 07/18] =?UTF-8?q?=E9=8C=A8=E9=BB=9E=E6=A2=9D=E7=9B=AE?= =?UTF-8?q?=E7=BF=BB=E8=AD=AF=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 72b58e01..409768ee 100644 --- a/README.md +++ b/README.md @@ -54,26 +54,26 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *「錨點移動器」用於批次處理錨點位置,在調整 x 高度之後會很有用。 輕而易舉:在組合標記上使用「重新定位」腳本,能讓你在斜體角度時也能維持一致。* -* **Anchor Mover / 錨點移動器:** GUI for batch-processing anchor positions in multiple glyphs. *需要 香草JS* -* **Batch Insert Anchors / (翻譯名稱):** GUI for batch-inserting anchors of the same name at the same approximate position in multiple glyphs. *需要 香草JS* -* **Find and Replace in Anchor Names / (翻譯名稱):** GUI for replacing text in the names of anchors in selected glyphs. Processes all layers. *需要 香草JS* -* **Fix Arabic Anchor Order in Ligatures / (翻譯名稱):** Fixes the order of *top_X* and *bottom_X* anchors to RTL. In files converted from a different format, it sometimes happens that *top_1* is left of *top_2*, but it should be the other way around, otherwise your mark2liga will mess up. This script goes through your selected glyphs, and if they are Arabic ligatures, reorders all anchors to RTL order, at the same time not touching their coordinates. -* **Insert All Anchors in All Layers / (翻譯名稱):** On each layer of a selected glyph, adds all missing anchors (but present in other layers of that glyph). Puts anchors at an averaged position. -* **Insert exit and entry Anchors to Selected Positional Glyphs / (翻譯名稱):** Adds entry and exit anchors for cursive attachment in selected glyphs. By default, it places the exit at (0, 0) and the entry at a node at RSB if such a node exists. Please adjust for your own needs. -* **Mark Mover / 標記移動器:** Move marks to their respective heights, e.g. …comb.case to cap height, …comb to x-height, etc. Also allows you to set left and right metrics keys. *需要 香草JS* -* **Move ogonek Anchors to Baseline Intersection / (翻譯名稱):** Moves all ogonek and _ogonek anchors to the rightmost intersection of the outline with the baseline. -* **Move topright Anchors for Vertical Carons / (翻譯名稱):** Moves all topright and _topright anchors to the rightmost intersection of the outline with the x-height. Useful for building Czech/Slovak letters with vertical caron. -* **Move Vietnamese Marks to top_viet Anchor in Circumflex / (翻譯名稱):** Moves *acute*, *grave* and *hookabovecomb* to the *top_viet* anchor in every layer of selected glyphs. Useful for Vietnamese double accents. Assumes that you have *top_viet* anchors in all layers of *circumflexcomb*. -* **New Tab with Glyphs Containing Anchor / (翻譯名稱):** Opens a new tab with all glyphs containing a specific anchor. -* **New Tab with top and bottom Anchors Not on Metric Lines / (翻譯名稱):** Report the y positions of all *top* and *bottom* anchors into the Macro Panel, and opens new tabs with all glyphs that have a stray anchor on any of the master, bracket or brace layers of any glyph in the font. Ignores the user selection, and analyses all glyphs, exporting and non-exporting. Useful to see if a top anchor is not exactly where it should be. -* **Prefix all exit/entry anchors with a hashtag / (翻譯名稱):** Looks for all exit and entry anchors anywhere in the font, and disables `curs` feature generation by prefixing their anchor names with `#`. -* **Realign Stacking Anchors / (翻譯名稱):** In stacking combining accents, moves top and bottom anchors exactly above or below the respective _top and _bottom anchors, respecting the italic angle. This way, stacking multiple nonspacing accents will always stay in line. *需要 香草JS* -* **Remove Anchors in Suffixed Glyphs / (翻譯名稱):** Removes all anchors from glyphs with one of the user-specified suffix. Useful for removing left-over anchors in sups/subs/sinf/ordn variants of glyphs after copying, scaling and editing. *需要 香草JS* -* **Remove Anchors / (翻譯名稱):** Deletes anchors with a specified name in selected glyphs (or the whole font). *需要 香草JS* -* **Remove Non-Standard Anchors from Selected Glyphs / (翻譯名稱):** Removes all anchors from a glyph that should not be there by default, e.g., `ogonek` from `J`. Potentially dangerous, because it may delete false positives. So, first use the report script below. -* **Replicate Anchors / (翻譯名稱):** Batch-add anchors to selected glyphs. Specify a source glyph to replicate the anchors from. *需要 香草JS* -* **Replicate Anchors in Suffixed Glyphs / (翻譯名稱):** Goes through selected dot-suffixed glyphs and duplicates anchors from their respective base glyphs. E.g. will recreate anchors of *X* in *X.ss01*, *X.swsh* and *X.alt*. -* **Report Non-Standard Anchors to Macro window / (翻譯名稱):** Goes through all glyphs in the font and reports in the Macro window if it finds non-default anchors. Lines are copy-pasteable in Edit view. +* **Anchor Mover / 錨點移動器:** 在一個操作視窗中批次移動多個字符中的錨點位置。 *需要 香草JS* +* **Batch Insert Anchors / 批次插入錨點:** 在一個操作視窗中批次在多個字符的相近位置批次插入錨點。 *需要 香草JS* +* **Find and Replace in Anchor Names / 尋找與取代錨點名稱:** 在一個操作視窗中搜尋並替換特定的錨點名稱(尋找範圍為選定字符的所有圖層)。 *需要 香草JS* +* **Fix Arabic Anchor Order in Ligatures / 修復連字中的阿拉伯文錨點順序:** Fixes the order of *top_X* and *bottom_X* anchors to RTL. In files converted from a different format, it sometimes happens that *top_1* is left of *top_2*, but it should be the other way around, otherwise your mark2liga will mess up. This script goes through your selected glyphs, and if they are Arabic ligatures, reorders all anchors to RTL order, at the same time not touching their coordinates. +* **Insert All Anchors in All Layers / 在所有圖層插入錨點:** 為該字符的所有圖層加入遺失的錨點(如果該錨點沒有出現在所有圖層中的話)。 +* **Insert exit and entry Anchors to Selected Positional Glyphs / 在選定的位置字符上插入 exit/entry 錨點:** Adds entry and exit anchors for cursive attachment in selected glyphs. By default, it places the exit at (0, 0) and the entry at a node at RSB if such a node exists. Please adjust for your own needs. +* **Mark Mover / 標號移動器:** 將結合用標號移到相對應的高度。例如大寫上標符號移到大寫高度,小寫上標符號移到 x 高度...等。你也可以另外設定左右間距的數值。 *需要 香草JS* +* **Move ogonek Anchors to Baseline Intersection / 將反尾形符錨點移動到基線交界處:** 將所有反尾形符錨點和結合用錨點移動到字符線框最右側和基線的交界處。 +* **Move topright Anchors for Vertical Carons / 移動垂直抑揚符的右上角錨點:** Moves all topright and _topright anchors to the rightmost intersection of the outline with the x-height. Useful for building Czech/Slovak letters with vertical caron. +* **Move Vietnamese Marks to top_viet Anchor in Circumflex / 移動越南語標號到揚抑符中的 top_viet 錨點上:** Moves *acute*, *grave* and *hookabovecomb* to the *top_viet* anchor in every layer of selected glyphs. Useful for Vietnamese double accents. Assumes that you have *top_viet* anchors in all layers of *circumflexcomb*. +* **New Tab with Glyphs Containing Anchor / 開新分頁顯示所有包含錨點的字符:** 打開一個新分頁,該分頁包含所有已製作錨點的字符。 +* **New Tab with top and bottom Anchors Not on Metric Lines / 開新分頁顯示所有位在度量線上的頂部和底部錨點:** 將所有 *top* 和 *bottom* 錨點的垂直高度資訊顯示在巨集面板上,並且開啟一個新分頁,列出所有主板或支撐層中錨點位置不在度量線位置上的字符。 +* **Prefix all exit/entry anchors with a hashtag / 在所有 exit/entry 錨點前加上主題標籤:** Looks for all exit and entry anchors anywhere in the font, and disables `curs` feature generation by prefixing their anchor names with `#`. +* **Realign Stacking Anchors / 重新對齊堆疊錨點:** In stacking combining accents, moves top and bottom anchors exactly above or below the respective _top and _bottom anchors, respecting the italic angle. This way, stacking multiple nonspacing accents will always stay in line. *需要 香草JS* +* **Remove Anchors in Suffixed Glyphs / 刪除後綴字符中的錨點:** Removes all anchors from glyphs with one of the user-specified suffix. Useful for removing left-over anchors in sups/subs/sinf/ordn variants of glyphs after copying, scaling and editing. *需要 香草JS* +* **Remove Anchors / 移除錨點:** 刪除選定字符(或整個字型)中具有指定名稱的錨點。 *需要 香草JS* +* **Remove Non-Standard Anchors from Selected Glyphs / 移除選定字符的異常錨點:** Removes all anchors from a glyph that should not be there by default, e.g., `ogonek` from `J`. Potentially dangerous, because it may delete false positives. So, first use the report script below. +* **Replicate Anchors / 複製錨點:** 在操作視窗中選擇一個來源字符,並在目前的字符上批次加入錨點。 *需要 香草JS* +* **Replicate Anchors in Suffixed Glyphs / 複製錨點到後綴字符:** 掃描選取的後綴字符,從它們的基本字符複製錨點過來。 例如將 *X* 的錨點貼到 *X.ss01*、*X.swsh* 和 *X.alt* 上。 +* **Report Non-Standard Anchors to Macro window / 在巨集面板回報異常錨點資訊:** 掃描字型中的所有字符,將偵測到的異常錨點顯示在巨集面板中,命令行內容可被複製貼上到編輯畫面中。 * **Shine Through Anchors / (翻譯名稱):** In all layers of selected glyphs, inserts ‘traversing’ anchors from components. ## 應用程式 From 9de52680b839536f425f2eaae1d143e81f09651c Mon Sep 17 00:00:00 2001 From: Erikyin <83154914+yintzuyuan@users.noreply.github.com> Date: Sat, 7 Jan 2023 00:04:45 +0800 Subject: [PATCH 08/18] =?UTF-8?q?3h=20=E7=B5=84=E4=BB=B6,=20=E5=BD=A9?= =?UTF-8?q?=E8=89=B2=E5=AD=97=E5=9E=8B,=20=E5=AD=97=E5=BD=A2=E5=90=8D?= =?UTF-8?q?=E7=A8=B1=E3=80=81=E8=A8=BB=E9=87=8B=E5=92=8C=20Unicode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 69 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 409768ee..62d8dbe1 100644 --- a/README.md +++ b/README.md @@ -64,8 +64,8 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Move ogonek Anchors to Baseline Intersection / 將反尾形符錨點移動到基線交界處:** 將所有反尾形符錨點和結合用錨點移動到字符線框最右側和基線的交界處。 * **Move topright Anchors for Vertical Carons / 移動垂直抑揚符的右上角錨點:** Moves all topright and _topright anchors to the rightmost intersection of the outline with the x-height. Useful for building Czech/Slovak letters with vertical caron. * **Move Vietnamese Marks to top_viet Anchor in Circumflex / 移動越南語標號到揚抑符中的 top_viet 錨點上:** Moves *acute*, *grave* and *hookabovecomb* to the *top_viet* anchor in every layer of selected glyphs. Useful for Vietnamese double accents. Assumes that you have *top_viet* anchors in all layers of *circumflexcomb*. -* **New Tab with Glyphs Containing Anchor / 開新分頁顯示所有包含錨點的字符:** 打開一個新分頁,該分頁包含所有已製作錨點的字符。 -* **New Tab with top and bottom Anchors Not on Metric Lines / 開新分頁顯示所有位在度量線上的頂部和底部錨點:** 將所有 *top* 和 *bottom* 錨點的垂直高度資訊顯示在巨集面板上,並且開啟一個新分頁,列出所有主板或支撐層中錨點位置不在度量線位置上的字符。 +* **New Tab with Glyphs Containing Anchor / 新分頁-所有包含錨點的字符:** 打開一個新分頁,該分頁包含所有已製作錨點的字符。 +* **New Tab with top and bottom Anchors Not on Metric Lines / 新分頁-所有位在度量線上的頂部和底部錨點:** 將所有 *top* 和 *bottom* 錨點的垂直高度資訊顯示在巨集面板上,並且開啟一個新分頁,列出所有主板或支撐層中錨點位置不在度量線位置上的字符。 * **Prefix all exit/entry anchors with a hashtag / 在所有 exit/entry 錨點前加上主題標籤:** Looks for all exit and entry anchors anywhere in the font, and disables `curs` feature generation by prefixing their anchor names with `#`. * **Realign Stacking Anchors / 重新對齊堆疊錨點:** In stacking combining accents, moves top and bottom anchors exactly above or below the respective _top and _bottom anchors, respecting the italic angle. This way, stacking multiple nonspacing accents will always stay in line. *需要 香草JS* * **Remove Anchors in Suffixed Glyphs / 刪除後綴字符中的錨點:** Removes all anchors from glyphs with one of the user-specified suffix. Useful for removing left-over anchors in sups/subs/sinf/ordn variants of glyphs after copying, scaling and editing. *需要 香草JS* @@ -122,13 +122,13 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *這些腳本能幫助你在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型創建後備字符。這個方式產生的後備字符將會填滿編輯框,且不會在 Chrome 瀏覽器中發生裁切。* -* **Add All Missing Color Layers to Selected Glyphs / (翻譯名稱):** Adds a duplicate of the fallback layer for each (CPAL/COLR) color defined in the Color Palettes parameter, for each selected glyph. Only adds colors that are still missing in the glyph. -* **Add sbix Images to Font / (翻譯名稱):** Will get all PNG, GIF, JPG files in a folder and create iColor layers with them in the current font and master. File name convention: ‘glyphname pixelsize.suffix’, e.g., ‘Adieresis 128.png’. -* **Convert Layerfont to CPAL+COLR Font / (翻譯名稱):** Turns a layered color font into a single-master font with a CPAL and COLR layers in each glyph. It will take the first master as default. -* **Delete Non-Color Layers in Selected Glyphs / (翻譯名稱):** Deletes all sublayers in all glyphs that are not of type "Color X" (CPAL/COLR layers). -* **Merge All Other Masters in Current Master / (翻譯名稱):** In selected glyphs, copies all paths from other masters onto the current master layer. -* **Merge Suffixed Glyphs into Color Layers / (翻譯名稱):** Merges x.shadow, x.body and x.front into separate CPAL Color layers of x. *需要 香草JS* -* **sbix Spacer / (翻譯名稱):** Batch-set sbix positions and glyph widths. *需要 香草JS* +* **Add All Missing Color Layers to Selected Glyphs / 加入所有遺失的顏色圖層到選定字符中:** 為所選字符在色盤參數定義的每個 (CPAL/COLR) 顏色添加圖層,該圖層從備用層複製並轉換為色盤圖層。該腳本只添加字符中仍然缺少的顏色。 +* **Add sbix Images to Font / 加入sbix圖片到字型中:** 將獲取文件夾中的所有 PNG、GIF、JPG 文件,並在當前字型和主板中使用它們建立 iColor 圖層。文件名格式: `字符名稱 像素尺寸.副檔名` ,例: `Adieresis 128.png` 。 +* **Convert Layerfont to CPAL+COLR Font / 將圖層字型轉換為CPAL+COLR字型:** 將圖層彩色字型轉換為在每個字符中具有 CPAL 和 COLR 層的單一主板字型。它將以第一個主板作為備用字體層。 +* **Delete Non-Color Layers in Selected Glyphs / 刪除選定字符的非顏色圖層:** 刪除所有字符中不是 `色盤` 類型的所有子圖層(CPAL/COLR 層)。 +* **Merge All Other Masters in Current Master / 將所有其他主板合併到當前主板:** 在所選字符中,將所有路徑從其他主板複製到目前主板層。 +* **Merge Suffixed Glyphs into Color Layers / 合併關聯字符到顏色層中:** 將 `x.shadow` 、 `x.body` 和 `x.front` 合併到 `x` 的單獨 CPAL 顏色圖層中。 *需要 香草JS* +* **sbix Spacer / sbix字型空間調整器:** 大量設定 sbix 位置和字符寬度。 *需要 香草JS* ## 比較當前字型 @@ -151,20 +151,21 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *當你使用其他字母構建字母時「使用組件填充背景」非常有用,例如:ae 或 oe,該腳本將會把 e 放在每個母版的背景中,且使用者介面有一個選項可以將選定的點與背景中的 e 對齊。如果你正在使用角落組件製作多母版的襯線字體,「傳播角落組件到其他主板」將為你節省大量時間。* -* **Alignment Manager / (翻譯名稱):** Enables or disables automatic alignment for all components on visible layers in selected glyphs. Does the same as the command in the context menu, but you can do it in one step for many glyphs. *需要 香草JS* -* **Component Problem Finder / (翻譯名稱):** Find possible issues with components and corner components: composable glyphs consisting of paths; locked, nested, orphaned, mirrored, shifted, rotated and scaled components; composite glyphs with an unusual component order or an unorthodox component structure. Also, disconnected and scaled corner components. *需要 香草JS* -* **Decompose Components in Background / (翻譯名稱):** Decomposes background layers of selected glyphs. Works on the current master or all masters, or all masters of all fonts. -* **Decompose Corner and Cap Components / (翻譯名稱):** Decomposes all corner and cap components in selected glyphs. Reports to Macro window. -* **Find and Replace Components / (翻譯名稱):** Relinks components in selected glyphs to a new source glyph. *需要 香草JS* -* **Find and Replace Cap and Corner Components / (翻譯名稱):** Relinks `_cap.*` and `_corner.*` components in selected glyphs to a different corner/cap component. *需要 香草JS* -* **Find and Replace Corner Components at Certain Angles / (翻譯名稱):** Replace Corner Components at blunt or acute angles. *需要 香草JS* -* **Move Paths to Component / (翻譯名稱):** Moves paths to a separate glyph and insert them as auto-aligned, anchored components in the source glyph. Perfect for making path-component mixtures into pure composites. *需要 香草JS* -* **Populate Backgrounds with Components / 使用組件填充背景:** Removes the specified component from all glyphs or all selected glyphs. *需要 香草JS* -* **Propagate Corner Components to Other Masters / 傳播角落組件到其他主板:** Tries to recreate the corner components of the current master layer in all other masters of the same glyph. Make sure your outlines are compatible. -* **Remove Components / (翻譯名稱):** Removes the specified component from all (selected) glyphs. -* **Remove Detached Corners / (翻譯名稱):** Removes detached corner component from all (selected) glyphs. -* **Stitcher / (翻譯名稱):** In selected glyphs, the Stitcher inserts components on your paths at fixed intervals. Useful for turning open paths (monolines) into dotted lines. Use an anchor called 'origin' for determining the component position in stitched letters. Consider using the [Stitcher plug-in](glyphsapp3://showplugin/Stitcher) instead. *需要 香草JS* -* **Sync Components Across Masters / (翻譯名稱):** Takes the current layer’s components, and resets all other masters to the same component structure. Ignores paths and anchors. Hold down Option key to *delete* all paths and anchors. +* **Alignment Manager / 對齊管理器:** 啟用或停用所選字符中可見圖層上所有組件的自動就定位。與右鍵選單中的命令相同,但您可以一步完成多個字符。 *需要 香草JS* +* **Component Mover / 組件移動器:** 跨選定字符批量編輯(智慧)組件。更改位置、比例和智慧組件屬性。 *需要 香草JS* +* **Component Problem Finder / 組件問題查找器:** 查找組件和角落組件可能存在的問題:同時包含路徑和部件的組合字符;鎖定、嵌套、孤立、鏡像、平移、旋轉和縮放組件;具有異常組件順序或非正統組件結構的複合字符。也包含未連接和縮放過的角落組件。 *需要 香草JS* +* **Decompose Components in Background / 拆開背景中的組件:** 拆開所選字符的背景圖層。適用於當前主板或所有主板,或所有字型的所有主板。 +* **Decompose Corner and Cap Components / 拆開角落和筆帽組件:** 拆開選定字符中的所有角落和筆帽組件。開啟巨集視窗顯示報告。 +* **Find and Replace Components / 置換組件:** 將所選字符中的組件重新連結到新的來源。 *需要 香草JS* +* **Find and Replace Cap and Corner Components / 置換角落和筆帽組件:** 將所選字符中的 `_cap.*` 和 `_corner.*` 組件重新連結到新的角落和筆帽組件。 *需要 香草JS* +* **Find and Replace Corner Components at Certain Angles / 依角度置換角落組件:** 以鈍角或銳角替換角落組件。 *需要 香草JS* +* **Move Paths to Component / 將路徑移動到組件:** 將路徑移動到單獨的字符中,並將它們作為錨定的自動就定位組件插入原本的字符中。非常適合將路徑和組件混雜的字符整理成純組件字符。 *需要 香草JS* +* **Populate Backgrounds with Components / 使用組件填充背景:** 添加組件到所選字符的所有背景中。 *需要 香草JS* +* **Propagate Corner Components to Other Masters / 傳播角落組件到其他主板:** 嘗試在同一字符的所有其他主板中重新創建當前主板圖層的角落組件。請確保你的外框是兼容的。 +* **Remove Components / 刪除組件:** 從選定(或所有)的字符中刪除指定的組件。 +* **Remove Detached Corners / 刪除分離的角落組件:** 從選定(或所有)的字符中移除分離的角落組件。 +* **Stitcher / 打洞器:** 打洞器會以固定間隔在您的路徑上插入組件。用於將開放路徑變成虛線。使用稱為 `origin` 的錨點來確定拼接字母中的組件位置。考慮改用 [ Stitcher 外掛](glyphsapp3://showplugin/Stitcher)。 *需要 香草JS* +* **Sync Components Across Masters / 跨主板同步組件:** 獲取目前圖層的組件,並將所有其他主板重置為相同的組件結構。忽略路徑和錨點。按住 Option 鍵 *刪除* 所有路徑和錨點。 ## 特性 @@ -209,17 +210,17 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *大多數腳本使管理字符名稱和 Unicode 更簡單一點。「垃圾收集」對於在將文件移交給第三方之前清理回報器腳本或其他註釋的雜亂很有用。* -* **Add PUA Unicode Values to Selected Glyphs / (翻譯名稱):** Iterates through selected glyphs and incrementally applies custom Unicode values, starting at a user-specified value. *需要 香草JS* -* **Color Composites in Shade of Base Glyph / (翻譯名稱):** Color composites in a lighter shade of the base glyph. E.g., if your A is has a red label color, then ÄÁÀĂ... will have a lighter shade of red. -* **Convert to Uppercase / (翻譯名稱):** Turns lowercase names into uppercase names, e.g., `a` → `A`, `ccaron` → `Ccaron`, `aeacute` → `AEacute`, etc. -* **Convert to Lowercase / (翻譯名稱):** Turns the names of selected glyphs lowercase. -* **Encoding Converter / (翻譯名稱):** Converts old expert 8-bit encodings into Glyphs nice names, based on a importable/exportable text with renaming scheme. Default is an AXt converting scheme. *需要 香草JS* -* **Garbage Collection / 垃圾收集:** Removes markers in glyphs, such as node names, glyph names or annotations, as well as guides. -* **New Tab with Uppercase-Lowercase Inconsistencies / (翻譯名稱):** Opens a new Edit tab containing all glyphs without consistent case folding. Writes a detailed report in Macro Window. -* **Production Namer / (翻譯名稱):** Override default production names. Default are the usual subjects which create problems in legacy PDF workflows: mu, onesuperior, twosuperior, threesuperior. *需要 香草JS* -* **Rename Glyphs / (翻譯名稱):** Takes a list of `oldglyphname=newglyphname` pairs and renames glyphs in the font accordingly, much like the *Rename Glyphs* custom parameter. *需要 香草JS* -* **Reorder Unicodes of Selected Glyphs / (翻譯名稱):** Reorders Unicodes so that default Unicode comes first. -* **Switch Mirrored Characters / (翻譯名稱):** In the current Edit View, switch mirrored BiDi characters, e.g. () → )(. Useful for switching parentheses and quotes after switching writing direction in a tab. +* **Add PUA Unicode Values to Selected Glyphs / 添加 PUA Unicode 值到選定的字符:** 將所選字符套用使用者自訂義的 Unicode 值。 *需要 香草JS* +* **Color Composites in Shade of Base Glyph / 添加關聯的字符顏色標籤:** 基於基本字符添加較淡的字符顏色標籤。例如:如果 A 的顏色標籤是紅色,則 ÄÁÀĂ... 等相關聯字符將添加較淡的淺紅色標籤。 +* **Convert to Uppercase / 轉換為大寫:** 將小寫名稱轉換為大寫名稱,例如: `a` → `A`, `ccaron` → `Ccaron`, `aeacute` → `AEacute` ...等。 +* **Convert to Lowercase / 轉換為小寫:** 將選定字符的名稱轉為小寫。 +* **Encoding Converter / 編碼轉換器:** 基於具有重命名方案的可導入/可導出文本,將舊的專家 8 位編碼轉換為 Glyphs 漂亮的名稱。默認是 AXt 轉換方案。Converts old expert 8-bit encodings into Glyphs nice names, based on a importable/exportable text with renaming scheme. Default is an AXt converting scheme. *需要 香草JS* +* **Garbage Collection / 垃圾收集:** 刪除字符中的標記,例如節點名稱、字符名稱或註釋以及參考線。 +* **New Tab with Uppercase-Lowercase Inconsistencies / 新分頁-大小寫不一致:** 打開一個新分頁,其中包含所有大小寫不一致的字符。在巨集視窗中列出詳細報告。 +* **Production Namer / 生產名稱:** 覆蓋默認的生產名稱。默認是在遺留 PDF 工作流程中產生問題的常見主題:mu、onesuperior、twosuperior、threesuperior。Override default production names. Default are the usual subjects which create problems in legacy PDF workflows: mu, onesuperior, twosuperior, threesuperior. *需要 香草JS* +* **Rename Glyphs / 重命名字符:** 獲取 `oldglyphname=newglyphname` 清單並相應的重命名字型中的字符,類似於自訂義參數 *Rename Glyphs* 。 *需要 香草JS* +* **Reorder Unicodes of Selected Glyphs / 重新排序所選字符的 Unicode:** 重新排序 Unicode,使默認 Unicode 排在第一位。 +* **Switch Mirrored Characters / 切換鏡像字元:** 在目前編輯畫面中,切換鏡像雙向字元,例如 () 到 )( 。用於在分頁中切換書寫方向後,切換括號和引號。 ## 參考線 From 1f782dd49b48a8b1ee19a012a13cff1c29e39e39 Mon Sep 17 00:00:00 2001 From: Erikyin <83154914+yintzuyuan@users.noreply.github.com> Date: Sat, 25 Feb 2023 00:07:49 +0800 Subject: [PATCH 09/18] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E7=89=88=E7=BF=BB?= =?UTF-8?q?=E8=AD=AF=E5=AE=8C=E6=88=90=E7=AB=A0=E7=AF=80=EF=BC=9A=E5=AD=97?= =?UTF-8?q?=E5=9E=8B=E8=B3=87=E8=A8=8A=E3=80=81=E5=B0=8F=E9=AB=94=E5=A4=A7?= =?UTF-8?q?=E5=AF=AB=E5=AD=97=E6=AF=8D=E3=80=81=E5=9C=96=E7=89=87=E3=80=81?= =?UTF-8?q?=E5=8F=83=E8=80=83=E7=B7=9A=E3=80=81=E5=83=8F=E7=B4=A0=E5=AD=97?= =?UTF-8?q?=E9=AB=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 87 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 62d8dbe1..8ee3e8ea 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Report Non-Standard Anchors to Macro window / 在巨集面板回報異常錨點資訊:** 掃描字型中的所有字符,將偵測到的異常錨點顯示在巨集面板中,命令行內容可被複製貼上到編輯畫面中。 * **Shine Through Anchors / (翻譯名稱):** In all layers of selected glyphs, inserts ‘traversing’ anchors from components. -## 應用程式 +## 應用程式(已完成v1) *如果你正在寫程式,請為「方法報告器」添加快捷鍵,你將非常需要它。如果你想要一個與解析度無關的視窗內容的PDF螢幕截圖讓你可以在向量插圖應用程式中進行後製,「列印視窗」可以派上用場。* @@ -118,7 +118,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Fix Punctuation Dots and Heights / (翻譯名稱):** Syncs punctuation dots between ¡!¿? (and their SC+CASE variants). Will use dot from exclam in all other glyphs, and shift ¡¿ in SC and CASE variants. Assumes that ¡¿ are components in !?. Detailed report in Macro Window.. * **Quote Manager / 引用符管理器:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. *需要 香草JS* -## 彩色字型 +## 彩色字型(已完成v1) *這些腳本能幫助你在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型創建後備字符。這個方式產生的後備字符將會填滿編輯框,且不會在 Chrome 瀏覽器中發生裁切。* @@ -147,7 +147,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Compare Metrics / (翻譯名稱):** Compare widths of two frontmost fonts. * **Compare Sidebearings / (翻譯名稱):** Compare sidebearings of two frontmost fonts. -## 組件 +## 組件(已完成v1) *當你使用其他字母構建字母時「使用組件填充背景」非常有用,例如:ae 或 oe,該腳本將會把 e 放在每個母版的背景中,且使用者介面有一個選項可以將選定的點與背景中的 e 對齊。如果你正在使用角落組件製作多母版的襯線字體,「傳播角落組件到其他主板」將為你節省大量時間。* @@ -188,23 +188,23 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * * **Stylistic Sets > Create pseudorandom calt feature / (翻譯名稱):** Creates pseudorandom calt (contextual alternatives) feature based on number of existing ssXX glyphs in the font. Also includes the default class in the rotation algorithm. * * **Stylistic Sets > Set ssXX Names / (翻譯名稱):** Prefills names for ssXX features with ‘Alternate’ or another chosen text, plus the name of the first substituted glyph, e.g., ‘Alternate a’. Option to preserve existing namings.*需要 香草JS* -## 字型資訊 +## 字型資訊(已完成v1) *「垂直度量管理器」對於在 字型資訊 視窗的 字型 和 主板 分頁中尋找和同步垂直度量參數很好用。「清除版本字串」也非常好用。「字型資訊批量設定器」是在多個字型檔之間同步字型資訊設定的必備工具。留意「設定 WWS/Preferred 名稱」腳本:Glyphs 通常會自動處理命名,因此使用它們的機會非常少。* -* **Clean Version String / 清除版本字串:** Adds a clean versionString parameter, and disables ttfAutohint info in the version string. The exported font will have a version string consisting only of ‘Version X.XXX’. -* **Find and Replace in Font Info / 尋找與取代字型資訊:** Finds and replaces names in *Font Info > Font* and *Font Info > Instances.* *需要 香草JS* -* **Find and Replace In Instance Parameters / (翻譯名稱):** Finds and Replace in Custom Parameters of selected instances of the current font or project file. -* **Font Info Batch Setter / 字型資訊批量設定器:** Batch-apply settings in *Font Info > Font* to open fonts: designer, designer URL, manufacturer, manufacturer URL, copyright, version number, date and time. Useful for syncing Font Info settings across many fonts. *需要 香草JS* -* **Font Info Overview / (翻譯名稱):** Lists some Font Info values for all opened fonts. -* **Prepare Font Info / (翻譯名稱):** Prepare open fonts for a modern font production and git workflow by setting certain custom parameters. *需要 香草JS* -* **Remove Custom Parameters / (翻譯名稱):** Removes all parameters of one kind from Font Info > Font, Masters, Instances. Useful if you have many masters or instances. *需要 香草JS* -* **Set Preferred Names (Name IDs 16 and 17) for Width Variants / (翻譯名稱):** Sets Preferred Names custom parameters (Name IDs 16 and 17) for all instances, so that width variants will appear in separate menus in Adobe apps. -* **Set Style Linking / (翻譯名稱):** Attempts to set the Bold/Italic bits. -* **Set Subscript and Superscript Parameters / (翻譯名稱):** Measures your superior and inferior figures and derives subscript/superscript X/Y offset/size parameters. *需要 香草JS* -* **Set WWS Names (Name IDs 21 and 22) / (翻譯名稱):** Sets WWS custom parameters (Name IDs 21 and 22) for all instances where necessary: Puts all info except RIBBI into the WWSFamilyName, and only keeps RIBBI for the WWSSubfamilyName. -* **Style Renamer / (翻譯名稱):** Batch-add a name particle to your style names, or batch-remove it from them. Useful for switching all your styles from italic to roman naming and vice versa. *需要 香草JS* -* **Vertical Metrics Manager / 垂直度量管理器:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics). *需要 香草JS* +* **Clean Version String / 清除版本字串:** 添加一個乾淨的 版本字串 參數,並禁用版本字串中的 ttfAutohint 訊息。導出的字型將具有僅包含“Version X.XXX”的版本字符串。 *:question:ttfAutohint功能* +* **Find and Replace in Font Info / 尋找與取代字型資訊:** 尋找與取代在 *字型資訊 > 字型* 和 *字型資訊 > 匯出* 中的名稱。(不包含本地化名稱和數值) *需要 香草JS* +* **Find and Replace In Instance Parameters / 尋找與取代匯出的參數:** 尋找和取代在目前字型或項目文件中選定樣式的自定義參數。 +* **Font Info Batch Setter / 字型資訊批次設定器:** 批次設定已開啟字型的 *字型資訊 > 字型* 數值:包含設計師、設計師 URL、製造商、製造商 URL、版權、版本號、日期和時間。對於跨多種字型同步字型資訊設定很有用。 *需要 香草JS* +* **Font Info Overview / 字型資訊概覽:** 列出所有已開啟字型檔的部分字型資訊數值。 *:question:功能?* +* **Prepare Font Info / 準備字型資訊:** 通過設定部分自定義參數,為現代字型製作和 git 工作流程準備開放字體 *:question:開源?* 。 *需要 香草JS* +* **Remove Custom Parameters / 刪除自定義參數:** 從字型資訊 > 字型、主板、匯出中刪除其中一種類型的所有參數。如果您有許多主板或樣式就會很有用。 *需要 香草JS* +* **Set Preferred Names (Name IDs 16 and 17) for Width Variants / 為寬度變體設定首選名稱:** 為所有樣式設定首選名稱的自定義參數(名稱 ID 16 和 17),以便使寬度變體顯示在 Adob​​e 應用程序的單獨清單中。 +* **Set Style Linking / 設定樣式連結:** Attempts to set the Bold/Italic bits.嘗試設置粗體/斜體位。 *:question:不懂名詞bit* +* **Set Subscript and Superscript Parameters / 設定下標和上標參數:** 測量您的上標和下標圖形並導出下標/上標 X/Y 偏移/尺寸參數。 *需要 香草JS* *:question:沒用過* +* **Set WWS Names (Name IDs 21 and 22) / 設定 WWS 名稱(名稱 ID 21 和 22):** 在必要時為所有樣式設定 WWS 自定義參數(名稱 ID 21 和 22):將除 RIBBI 之外的所有訊息放入 WWSFamilyName,並且僅保留 WWSSubfamilyName 的 RIBBI。 *:question:名詞釋義?* +* **Style Renamer / 樣式改名器:** 將名稱詞綴批次加入到您的樣式名稱中,或將其從樣式名稱中批次刪除。用於將所有樣式從斜體轉換為羅馬體的名稱,反之亦然。 *需要 香草JS* +* **Vertical Metrics Manager / 垂直度量管理器:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics).計算並插入 OS/2 usWin 和 sTypo、hhea 和 fsSelection 位 7 的值(用於優先使用 sTypo 指標而不是 usWin 指標)。*:question:不懂名詞bit* *需要 香草JS* ## 字形名稱、註釋和 Unicode @@ -222,15 +222,15 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Reorder Unicodes of Selected Glyphs / 重新排序所選字符的 Unicode:** 重新排序 Unicode,使默認 Unicode 排在第一位。 * **Switch Mirrored Characters / 切換鏡像字元:** 在目前編輯畫面中,切換鏡像雙向字元,例如 () 到 )( 。用於在分頁中切換書寫方向後,切換括號和引號。 -## 參考線 +## 參考線(已完成v1) *這些腳本主要用於清理在處理第三方字體時看到的過多參考線。* -* **Guides through All Selected Nodes / (翻譯名稱):** Lays guides through all selected nodes in current glyph. Tries to avoid duplicate guides. -* **Remove Global Guides in Current Master / (翻譯名稱):** Deletes all global (red) guides in the current master. -* **Remove Local Guides in Selected Glyphs / (翻譯名稱):** Deletes all local (blue) guides in selected glyphs. -* **Select All Global Guides / (翻譯名稱):** Selects all global (red) guides in Edit view. Useful if you have many and need to batch-transform them. -* **Select All Local Guides / (翻譯名稱):** Selects all local (blue) guides (in all selected glyphs). +* **Guides through All Selected Nodes / 生成通過所有已選節點的參考線:** 在目前字符中穿過所有已選擇節點放置參考線。盡量避免參考線重複。 +* **Remove Global Guides in Current Master / 刪除目前主板的全域參考線:** 刪除目前主板中的所有全域(紅色)參考線。 +* **Remove Local Guides in Selected Glyphs / 刪除已選擇字符的區域參考線:** 刪除選定字符中的所有區域(藍色)參考線。 +* **Select All Global Guides / 全選全域參考線:** 在編輯區域中選擇所有全域(紅色)參考線。如果你有很多並且需要批次轉換它們會非常有用。 +* **Select All Local Guides / 全選區域參考線:** 選擇所有區域(藍色)參考線(在所有已選擇的字符中)。 ## 字體微調 @@ -255,18 +255,19 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Transfer Hints to First Master / (翻譯名稱):** Copies PS hints from the current layer to the first master layer, provided the paths are compatible. Reports errors to the Macro window. * **TT Autoinstruct / (翻譯名稱):** Automatically add Glyphs TT instructions to the selected glyphs in the selected master. (Should be the first master.) Attention: this is NOT Werner Lemberg's ttfAutohint, but the manual TT hints that the TT Instruction tool (I) would add through the context menu item of the same name. Useful for adding hints in many glyphs at once. -## 圖片 +## 圖片(已完成v1) *主要用於解決處理大量(背景)圖像時可能遇到的頭痛問題。* -* **Add Same Image to Selected Glyphs / (翻譯名稱):** Asks you for an image, and then inserts it into all currently selected glyphs as background image. -* **Adjust Image Alpha / (翻譯名稱):** Slider for setting the alpha of all images in selected glyphs. *需要 香草JS* -* **Delete All Images in Font / (翻譯名稱):** Deletes all placed images throughout the entire font. -* **Delete Images / (翻譯名稱):** Deletes all images placed in the visible layers of selected glyphs. -* **Reset Image Transformation / (翻譯名稱):** Resets all image transformations (x/y offset, scale, and distortion) back to default in the visible layers of selected glyphs. -* **Set New Path for Images / (翻譯名稱):** Resets the path for placed images in selected glyphs. Useful if you have moved your images. -* **Toggle Image Lock / (翻譯名稱):** Lock or unlock all images in all selected glyphs. *需要 香草JS* -* **Transform Images / (翻譯名稱):** GUI for batch-transforming images (x/y offset and x/y scale) in the visible layers of selected glyphs. *需要 香草JS* +* **Add Same Image to Selected Glyphs / 將相同圖片添加到已選擇字符:** 要求您提供圖片,然後將其作為背景圖片插入到目前所有已選擇的字符中。 +* **Adjust Image Alpha / 調整圖片透明度:** 以滑桿介面設定所選字符中的圖片透明度。 *需要 香草JS* +* **Delete All Images in Font / 刪除字型中的所有圖片:** 刪除整個字型中所有放置的圖片。 + +* **Delete Images / 刪除圖片:** 刪除放置在所選字符可見圖層中的所有圖片。 +* **Reset Image Transformation / 重置圖片變形:** 將所有圖片變形參數(x/y 平移、縮放和變形)重置為所選字符中可見圖層的預設值。 +* **Set New Path for Images / 為圖片設定新路徑:** Resets the path for placed images in selected glyphs. Useful if you have moved your images.重置所選字符中放置圖片的路徑。如果您移動了圖片,這很有用。 *:question:圖片有路徑?* +* **Toggle Image Lock / 切換圖片鎖定:** 以浮動視窗按鈕鎖定或解鎖所有選定字符中的圖片。 *需要 香草JS* +* **Transform Images / 變形圖片:** 用於在已選擇字符的可見圖層中,以浮動視窗界面批次變形圖片(x/y 平移和 x/y 縮放)。 *需要 香草JS* ## 插值 @@ -303,7 +304,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * * **Other > Show Masters of Next/Previous Glyph / (翻譯名稱):** Allows you to step through one glyph after another, but with all masters. Combines the show next/previous glyph function (fn+left/right) with the *Edit > Show All Masters* function. Handy for attaching a keyboard shortcut in System Preferences. * * **Other > Show Next/Previous Instance / 其他 > 顯示上/下一個實體:** Jumps to next/previous instance in the preview section of the current Edit tab. Handy for attaching a keyboard shortcut in System Preferences. -## Kerning +## Kerning 調距 *推薦腳本:「自動緩衝器」、「KernCrasher」、「GapFinder」、「示例字符串製造器」。如果你有太多的 kerning,請考慮使用「異常清除器」。* @@ -371,22 +372,22 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Straight Stem Cruncher / (翻譯名稱):** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. *需要 香草JS* * **Tunnify / (翻譯名稱):** Looks for all path segments where at least one handle is selected. Then, evens out the handles of the segments, i.e., they will both have the same Fit Curve percentage. Can fix Adobe Illustrator's zero-handles (segments with one handle retracted into the nearest node). The idea for this script came from Eduardo Tunni (as colported by Pablo Impallari), hence the title of the script. I have never seen Eduardo's algorithm though, so my implementation might be a little different to his, especially the treatment of zero-handles. -## 像素字型 +## 像素字型(已完成v1) *這些腳本在像素字型的工作流程中都很有用,它們能幫助你在較粗的網格中放置像素組件。如果你正在進行像素設計,請看看 窗口 > 外掛程式管理員 中可用的像素相關外掛。* -* **Align Anchors to Grid / (翻譯名稱):** Snaps diacritic anchors onto the font grid. -* **Delete Components out of Bounds / (翻譯名稱):** If a component is placed far outside the usual coordinates (happens when you cmd-arrow components with a high grid step), this script will delete them. -* **Delete Duplicate Components / (翻譯名稱):** Looks for duplicate components (same name and position) and keeps only one. Happens frequently when buliding pixel fonts. -* **Flashify Pixels / (翻譯名稱):** Creates small bridges in order to prevent self-intersection of paths so counters stay white. This is especially a problem for the Flash font renderer, hence the name of the script. -* **Reset Rotated and Mirrored Components / (翻譯名稱):** Looks for scaled, mirrored and rotated components and turns them back into their default scale and orientation, but keeps their position. Useful for fixing mirrored pixels. +* **Align Anchors to Grid / 對齊錨點與網格:** 將變音符號錨點對齊到字型網格上。 +* **Delete Components out of Bounds / 刪除邊界外的組件:** 如果組件放置在遠離平常坐標的地方(通常發生在當您使用 cmd 加方向鍵在低網格密度中移動組件時),此腳本將刪除它們。 +* **Delete Duplicate Components / 刪除重複組件:** 尋找重複的組件(相同名稱和位置)並只保留一個。這個情況經常在創建像素字型時發生。 +* **Flashify Pixels / Flash化像素:** 創造小接口以避免路徑交錯產生的白色區域,這對於 Flash 字體渲染器來說尤其是一個問題,這也是此腳本名稱的由來。 +* **Reset Rotated and Mirrored Components / 重置被旋轉和鏡像的組件:** 尋找被縮放、鏡像和旋轉的組件並將它們恢復為預設的比例和方向,但不更動其位置。用於修復被鏡像的像素。 -## 小體大寫字母 +## 小體大寫字母(已完成v1) *當製作中的字體包含小體大寫字母時,可以執行「檢查小體大寫字母一致性」。不過請對它的報告持保留態度:它列出了許多誤報,而且也不是每個警告都這麼重要。* -* **Check Smallcap Consistency / 檢查小體大寫字母一致性:** Performs a few tests on your SC set and reports into the Macro window, especially kerning groups and glyph set. -* **Copy Kerning from Caps to Smallcaps / (翻譯名稱):** Looks for cap kerning pairs and reduplicates their kerning for corresponding .sc glyphs, if they are available in the font. Please be careful: Will overwrite existing SC kerning pairs. +* **Check Smallcap Consistency / 檢查小體大寫字母一致性:** 對您的小體大寫字母集執行一些測試並在巨集視窗列出報告,尤其是調距群組和字符集。 +* **Copy Kerning from Caps to Smallcaps / 將大寫字母的調距數值複製到小體大寫字母:** 將大寫字母的調距字偶複製到相應的小體大寫字母,如果它們包含在字型中。請注意:將覆蓋現有的小體大寫字母的調距字偶。 ## 間距 @@ -411,7 +412,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Steal Metrics / (翻譯名稱):** Steals the sidebearing or width values for all selected glyphs from a 2nd font. Optionally also transfers metrics keys like '=x+20'. *需要 香草JS* * **Tabular Checker / (翻譯名稱):** Goes through tabular glyphs and checks if they are monospaced. Reports exceptions. *需要 香草JS* -## 測試 +## 測試(已完成v1) *推薦「測試用 HTML 腳本」。如果你在 Adobe 或 Apple 應用程式中發現選取框異常的高或低,可以執行「最高和最低點字符報告」查詢找出導致狀況發生的字符。「拉丁字母支援語言報告」提供的資訊是參考性的建議,不是絕對要遵守的規範。* From fc6a9327eb01a7923b9307a2a5f01b6b6459d7df Mon Sep 17 00:00:00 2001 From: Erikyin <83154914+yintzuyuan@users.noreply.github.com> Date: Sat, 25 Mar 2023 00:12:14 +0800 Subject: [PATCH 10/18] =?UTF-8?q?=E9=96=8B=E5=A7=8B=E7=94=A8chatGPT?= =?UTF-8?q?=E5=8D=94=E5=8A=A9=E7=BF=BB=E8=AD=AF=EF=BC=8C=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E8=B7=AF=E5=BE=91=E5=92=8C=E6=AF=94=E8=BC=83=E5=AD=97=E5=9E=8B?= =?UTF-8?q?=E6=AA=94=E7=AB=A0=E7=AF=80=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 88 +++++++++++++++++++++++++++---------------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 8ee3e8ea..24f28d14 100644 --- a/README.md +++ b/README.md @@ -130,22 +130,22 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Merge Suffixed Glyphs into Color Layers / 合併關聯字符到顏色層中:** 將 `x.shadow` 、 `x.body` 和 `x.front` 合併到 `x` 的單獨 CPAL 顏色圖層中。 *需要 香草JS* * **sbix Spacer / sbix字型空間調整器:** 大量設定 sbix 位置和字符寬度。 *需要 香草JS* -## 比較當前字型 +## 比較當前字型(已完成v2) *這些腳本用於同步正體和它們的斜體。打開兩個字型檔,然後運行腳本。它們不會更改你的字型,但會在巨集視窗中顯示詳細的報告。* -* **Compare Font Info > Font / (翻譯名稱):** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. -* **Compare Font Info > Masters / (翻譯名稱):** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. -* **Compare Font Info > Instances / (翻譯名稱):** Detailed report of Font Info > Instances for the two frontmost fonts and outputs a report in the Macro window. -* **Compare Font Info > Features / (翻譯名稱):** Compares the OT features set of the two frontmost fonts and outputs a report in the Macro window. -* **Compare Anchors / (翻譯名稱):** Compares anchor structure and anchor heights between the two frontmost fonts. -* **Compare Composites / (翻譯名稱):** Reports diverging component structures of composite glyphs, e.g., `iacute` built with `acutecomb` in one font, and `acutecomb.narrow` in the other. -* **Compare Glyph Heights / (翻譯名稱):** Lists all glyphs that differ from the second font in height beyond a given threshold. -* **Compare Glyph Info / (翻譯名稱):** Compares open fonts and builds a lits of differing glyph info, including Unicode values and categorisation. *需要 香草JS* -* **Compare Glyphsets / (翻譯名稱):** Compares the glyph set of the two frontmost fonts and outputs a report in the Macro window. -* **Compare Kerning Groups / (翻譯名稱):** Compares kerning groups between frontmost fonts, outputs a table of glyph names with unmatching groups. -* **Compare Metrics / (翻譯名稱):** Compare widths of two frontmost fonts. -* **Compare Sidebearings / (翻譯名稱):** Compare sidebearings of two frontmost fonts. +* **Compare Font Info > Font / 比較字型資訊 > 字型:** 對於前兩個字型檔,詳細比較字型資訊 > 字型,並在巨集面板中輸出報告。 +* **Compare Font Info > Masters / 比較字型資訊 > 主板:** 對於前兩個字型檔,詳細比較字型資訊 > 主板,並在巨集面板中輸出報告。 +* **Compare Font Info > Instances / 比較字型資訊 > 匯出:** 對於前兩個字型檔,詳細比較字型資訊 > 匯出,並在巨集面板中輸出報告。 +* **Compare Font Info > Features / 比較字型資訊 > 特性:** 對於前兩個字型檔,詳細比較字型資訊 > 特性,並在巨集面板中輸出報告。 +* **Compare Anchors / 比較錨點:** 比較前兩個字型檔之間的錨點結構和錨點高度。 +* **Compare Composites / 比較複合字元:** 報告複合字符的不同結構,例如在一個字型中使用 `acutecomb` 構建的 `iacute`,而在另一個字型中使用 `acutecomb.narrow`。 +* **Compare Glyph Heights / 比較字符高度:** 列出所有在字高方面與第二個字體差異超過給定閾值的字符。 +* **Compare Glyph Info / 比較字符資訊:** 比較開啟的字型,並建立一個差異字符資訊列表,包括Unicode值和分類。 *需要 香草JS* +* **Compare Glyphsets / (翻譯名稱):** 比較前兩個字型檔的字符集,並在巨集視窗中輸出報告。 +* **Compare Kerning Groups / 比較調距群組:** 比較前兩個字型檔之間的調距群組,輸出具有差異的群組字符名稱表格。 +* **Compare Metrics / 比較度量:** 比較前兩個字型檔的字形寬度。 +* **Compare Sidebearings / 比較字符邊界:** 比較前兩個字型檔的字符邊界。 ## 組件(已完成v1) @@ -206,7 +206,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Style Renamer / 樣式改名器:** 將名稱詞綴批次加入到您的樣式名稱中,或將其從樣式名稱中批次刪除。用於將所有樣式從斜體轉換為羅馬體的名稱,反之亦然。 *需要 香草JS* * **Vertical Metrics Manager / 垂直度量管理器:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics).計算並插入 OS/2 usWin 和 sTypo、hhea 和 fsSelection 位 7 的值(用於優先使用 sTypo 指標而不是 usWin 指標)。*:question:不懂名詞bit* *需要 香草JS* -## 字形名稱、註釋和 Unicode +## 字形名稱、註釋和 Unicode(已完成v1) *大多數腳本使管理字符名稱和 Unicode 更簡單一點。「垃圾收集」對於在將文件移交給第三方之前清理回報器腳本或其他註釋的雜亂很有用。* @@ -279,7 +279,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Composite Variabler / (翻譯名稱):** Reduplicates Brace and Bracket layers of components in the compounds in which they are used. Makes bracket layers work in composites. *需要 香草JS* * **Copy Layer to Layer / (翻譯名稱):** Copies paths (and optionally, also components, anchors and metrics) from one Master to another. *需要 香草JS* * **Dekink Masters / (翻譯名稱):** Dekinks your smooth point triplets in all compatible layers (useful if they are not horizontal or vertical). Select a point in one or more smooth point triplets, and run this script to move the corresponding nodes in all other masters to the same relative position. Thus you achieve the same point ratio in all masters and avoid interpolation kinks, when the angle of the triplet changes. There is a [video describing it.](http://tinyurl.com/dekink-py) The triplet problem is [described in this tutorial](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible). -* **Fill up Empty Masters / (翻譯名稱):** Copies paths from one Master to another. But only if target master is empty. *需要 香草JS* +* **Fill up Empty Masters / 填滿空白主板:** Copies paths from one Master to another. But only if target master is empty.複製一個主板的路徑到另一個,當目標主板為空白時。 *需要 香草JS* * **Find and Replace in Layer Names / 尋找和取代圖層名稱:** Replaces text in all layer names (except Master layers) of selected glyphs. Useful if you use the bracket trick in many glyphs. *需要 香草JS* * **Find Shapeshifting Glyphs / 尋找變形字符:** Finds glyphs that change the number of paths while interpolating. Opens a new tab and reports to Macro window. *需要 香草JS* * **Insert Brace Layers for Component Rotation / (翻譯名稱):** Inserts a number of Brace Layers with continuously scaled and rotated components. Useful for OTVar interpolations with rotating elements. *需要 香草JS* @@ -342,35 +342,35 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Steal Kerning Groups from Font / (翻譯名稱):** Steals left/right kerning groups for all selected glyphs from a 2nd font. *需要 香草JS* * **Zero Kerner / (翻譯名稱):** Add group kernings with value zero for pairs that are missing in one master but present in others. Helps preserve interpolatable kerning in OTVar exports. *需要 香草JS* -## 路徑 - -*星號字符的製作可以使用「環繞錨點旋轉」。在輪廓檢查時的推薦腳本:「路徑問題尋找」、「尋找接近垂直的路徑」和「節點管理器」。「Rewire Fire」在 OTVar 製作中變得很重要,因為它有助於減少形狀邊緣處的重複輪廓線段(這會在抗鋸齒中產生暗點)。* - -* **Align Selected Nodes with Background / (翻譯名稱):** Align selected nodes with the nearest background node unless it is already taken by a previously moved node. Like Cmd-Shift-A for aligning a single node with the background, but for multiple nodes. -* **Batch-Set Path Attributes / (翻譯名稱):** Set path attributes of all paths in selected glyphs, the master, the font, etc. *需要 香草JS* -* **Copy Glyphs from Other Font into Backup Layers / (翻譯名稱):** Creates backup layers for selected glyphs in target font, and fills them with the respective glyphs from source font. Useful if you want to add glyphs from one font as bracket layers in another. *需要 香草JS* -* **Distribute Nodes / (翻譯名稱):** Horizontally or vertically distributes nodes (depends on the width/height ratio of the selection bounding box). -* **Enlarge Single-Unit Segments / (翻譯名稱):** Doubles the length of line segments shorter than one unit. -* **Fill Up with Rectangles / (翻譯名稱):** Goes through your selected glyphs, and if it finds an empty one, inserts a placeholder rectangle. Useful for quickly building a dummy font for testing. -* **Find Close Encounters of Orthogonal Line Segments / (翻譯名稱):** Goes through all vertical and horizontal line segments, and finds pairs that are close, but do not align completely. *需要 香草JS* -* **Find Near Vertical Misses / 尋找接近垂直的路徑:** Finds nodes that are close but not exactly on vertical metrics. *需要 香草JS* -* **Green Blue Manager / 節點管理器:** Define an angle above which a node will be set to blue, below which it will be set to green. *需要 香草JS* -* **Grid Switcher / (翻譯名稱):** Toggles grid between two user-definable gridstep values with the click of a floating button. *需要 香草JS* -* **Harmonise Curve to Line / (翻譯名稱):** Will rearrange handles on (selected) curve segments with a following line segment, in such a way that the transition between the two segments is smooth (harmonized). -* **Interpolate two paths / (翻譯名稱):** Select two paths and run this script, it will replace them with their interpolation at 50%. -* **New Tab with Small Paths / (翻譯名稱):** Opens a new tab containing paths that are smaller than a user-definable threshold size in square units. -* **Path Problem Finder / 路徑問題尋找:** Finds all kinds of potential problems in outlines, and opens a new tab with affected layers. *需要 香草JS* -* **Position Clicker / (翻譯名稱):** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping. *需要 香草JS* -* **Realign BCPs / (翻譯名稱):** Realigns all BCPs in all selected glyphs. Useful if handles got out of sync, e.g. after nudging or some other transformation, or after interpolation. Hold down Option to apply to all layers of the selected glyph(s). -* **Remove all Open Paths / (翻譯名稱):** Deletes all *open* paths in the visible layers of all selected glyphs. -* **Remove Nodes and Try to Keep Shape / (翻譯名稱):** Deletes selected on-curve nodes and tries to keep the shape as much as possible. Similar to what happens when you delete a single node, but for a selection of multiple nodes. Pro tip: Hold down the Shift key while running the script, and it will also balance the remaining handles as much as possible, which is exactly what happens when you delete a single node. -* **Remove Short Segments / (翻譯名稱):** Deletes segments shorter than one unit. -* **Remove Stray Points / (翻譯名稱):** Deletes stray points (single node paths) in selected glyphs. Careful: a stray point can be used as a quick hack to disable automatic alignment. Reports in detail to the Macro window. -* **Rewire Fire / (翻譯名稱):** Finds, selects and marks duplicate coordinates. Two nodes on the same position typically can be rewired with Reconnect Nodes. *需要 香草JS* -* **Rotate Around Anchor / 環繞錨點旋轉:** GUI for rotating glyphs or selections of nodes and components around a 'rotate' anchor. Allows to step and repeat. *需要 香草JS* -* **Set Transform Origin / (翻譯名稱):** Simple GUI for setting the Transform Origin of the Rotate tool numerically. Should also have an effect on the Scale tool. *需要 香草JS* -* **Straight Stem Cruncher / (翻譯名稱):** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. *需要 香草JS* -* **Tunnify / (翻譯名稱):** Looks for all path segments where at least one handle is selected. Then, evens out the handles of the segments, i.e., they will both have the same Fit Curve percentage. Can fix Adobe Illustrator's zero-handles (segments with one handle retracted into the nearest node). The idea for this script came from Eduardo Tunni (as colported by Pablo Impallari), hence the title of the script. I have never seen Eduardo's algorithm though, so my implementation might be a little different to his, especially the treatment of zero-handles. +## 路徑(已完成v2) + +*我使用「以錨點為中心旋轉」功能來處理星號符號。在輪廓檢查中非常重要:「路徑問題查找器」、「尋找近垂直缺失」和「節點綠藍管理器」。在 OTVar 製作中,「Rewire Fire」 變得越來越重要,因為它有助於減少形狀邊緣重疊輪廓線段(這會在反鋸齒中造成暗斑)。* + +* **Align Selected Nodes with Background / 對齊選取節點與背景:** 將選取的節點與最近的背景節點對齊,除非它已經被先前移動的節點佔用。類似於使用 Cmd-Shift-A 將單個節點與背景對齊,但可針對多個節點。 +* **Batch-Set Path Attributes / 批次設置路徑屬性:** 設定所選字符、主板、字型等中所有路徑的路徑屬性。 *需要 香草JS* +* **Copy Glyphs from Other Font into Backup Layers / 從其他字型複製字符到備份圖層:** 在目標字型中為所選字符創建備份圖層,並使用來源字型中相應的字符填充它們。如果您想要將一個字型的字符作為括號層添加到另一個字型中,這非常有用。 *需要 香草JS* -執行有問題? +* **Distribute Nodes / 均分節點:** 水平或垂直均分節點(取決於所選範圍的寬高比)。 +* **Enlarge Short Segments / 放大單位線段:** 將線段長度小於一個單位的線段加倍。 -小於一單位? +* **Fill Up with Rectangles / 填滿矩形:** 遍歷所選字符,如果發現空白字符,則插入一個佔位符矩形。對於快速構建用於測試的虛擬字型非常有用。 +* **Find Close Encounters of Orthogonal Line Segments / 找出靠近但未完全對齊的直角線段交會點:** 遍歷所有垂直和水平線段,並找到接近但未完全對齊的線段對。 *需要 香草JS* +* **Find Near Vertical Misses / 尋找近垂直缺失:** 找到靠近但不完全在垂直度量上的節點。 *需要 香草JS* +* **Green Blue Manager / 節點綠藍管理器:** 定義一個角度,節點在該角度之上被設置為藍色,在該角度之下被設置為綠色。 *需要 香草JS* +* **Grid Switcher / 格線單位切換器:** 通過點擊浮動按鈕在兩個用戶定義的格線單位之間切換。 *需要 香草JS* +* **Harmonise Curve to Line / 協調曲線與直線:** 將(選定的)曲線線段上的控制手柄重新排列,以便與後面的直線段之間的過渡是平滑的(匹配)。 -功能原理不明? +* **Interpolate two paths / 插值兩條路徑:** 選擇兩個路徑並運行此腳本,它將以50%的插值替換它們。(節點數量需一致) +* **New Tab with Small Paths / 開新分頁-小路徑:** 打開一個包含小於用戶定義閾值大小(平方單位)的路徑的新標籤頁。-小於用戶定義單位? +* **Path Problem Finder / 路徑問題查找器:** 在輪廓中查找各種潛在問題,並打開一個包含受影響圖層的新分頁。 *需要 香草JS* +* **Position Clicker / 位置點擊器:** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping.查找那些在重疊時兩個形狀不能良好對齊的位置,並列出它們的組合。重疊的兩個形狀在同一個位置有共同的點坐標。-功能待測試 *需要 香草JS* +* **Realign BCPs / 重新對齊貝茲曲線控制點:** Realigns all BCPs in all selected glyphs. Useful if handles got out of sync, e.g. after nudging or some other transformation, or after interpolation. Hold down Option to apply to all layers of the selected glyph(s).重新對齊所選字符中的所有貝茲曲線控制點。 如果控制柄失去同步,例如在微調或其他轉換之後或在插值之後,此腳本非常有用。按住Option鍵以將其應用於所選字形的所有圖層。-功能待測試 +* **Remove all Open Paths / 刪除所有開放路徑:** 刪除所有所選字符的可見圖層中的 開放 路徑。 +* **Remove Nodes and Try to Keep Shape / 刪除節點並儘可能保持形狀:** 刪除所選擇的節點,並儘可能保持形狀。類似於刪除單個節點時發生的情況,但針對多個節點的選擇。專業提示:在運行腳本時按住Shift鍵,它也會盡可能平衡剩餘的控制柄,這正是刪除單個節點時發生的情況。 +* **Remove Short Segments / 刪除短線段:** 刪除線段長度小於一個單位的線段。-功能待測試 +* **Remove Stray Points / 移除零散的點:** 在所選字形中刪除零散的點(僅有一個節點的路徑)。注意:零散的點可以被用來快速禁用自動對齊。腳本將在巨集面板詳細報告。 +* **Rewire Fire / 重整連線:** 尋找、選取並標記重複的座標。通常兩個在相同位置的節點可以使用重新連接節點功能進行重整。 *需要 香草JS* +* **Rotate Around Anchor / 環繞錨點旋轉:** 圖形使用者介面,用於繞「rotate」錨點旋轉選擇的字符或節點、組件。可以進行角度、方向和重複次數的設定。 *需要 香草JS* +* **Set Transform Origin / 設定變形原點:** 一個簡單的GUI,用於以數值方式設定旋轉工具的變形原點。也應該對縮放工具有影響。 *需要 香草JS* +* **Straight Stem Cruncher / 字幹壓縮器:** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. 可以檢查字型中是否有部分字符的字幹(如直的線條)偏離了指定的標準大小。它會列出這些有問題的字符,方便使用者進一步修正。 *需要 香草JS* -功能待測試 +* **Tunnify:** 尋找至少有一個控制桿被選中的所有路徑段。接著,平均調整這些路徑段的控制桿,即兩個控制桿的擬合曲線百分比將相同。可以修復Adobe Illustrator的零控制桿問題(即將一個控制桿縮回到最近的節點中)。這個腳本的靈感來自Eduardo Tunni(由Pablo Impallari傳達),因此得名。但是我沒有看過Eduardo的算法,因此我的實現可能與他的有些不同,尤其是對於零控制桿的處理。 ## 像素字型(已完成v1) From 51ea34c28aaf2d07ed7ceb3b6f514bcc047d0b19 Mon Sep 17 00:00:00 2001 From: Erikyin <83154914+yintzuyuan@users.noreply.github.com> Date: Fri, 14 Apr 2023 23:43:35 +0800 Subject: [PATCH 11/18] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E7=89=88=E7=BF=BB?= =?UTF-8?q?=E8=AD=AF=E5=AE=8C=E6=88=90=E7=AB=A0=E7=AF=80=EF=BC=9A=E9=8C=A8?= =?UTF-8?q?=E9=BB=9E=E3=80=81=E5=BB=BA=E6=A7=8B=E5=AD=97=E7=AC=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 64 +++++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 24f28d14..24b3aa37 100644 --- a/README.md +++ b/README.md @@ -50,31 +50,31 @@ The scripts require a recent version of Glyphs 2.x running on macOS 10.9 or late All the scripts show a **tooltip** when you hover the mouse pointer over their menu entry. In scripts with a GUI, most UI elements (checkboxes, text entry fields, etc.) have tooltips as well. This way you get the explanation you need right where it counts. -## 錨點 +## 錨點(已完成v2) *「錨點移動器」用於批次處理錨點位置,在調整 x 高度之後會很有用。 輕而易舉:在組合標記上使用「重新定位」腳本,能讓你在斜體角度時也能維持一致。* * **Anchor Mover / 錨點移動器:** 在一個操作視窗中批次移動多個字符中的錨點位置。 *需要 香草JS* * **Batch Insert Anchors / 批次插入錨點:** 在一個操作視窗中批次在多個字符的相近位置批次插入錨點。 *需要 香草JS* * **Find and Replace in Anchor Names / 尋找與取代錨點名稱:** 在一個操作視窗中搜尋並替換特定的錨點名稱(尋找範圍為選定字符的所有圖層)。 *需要 香草JS* -* **Fix Arabic Anchor Order in Ligatures / 修復連字中的阿拉伯文錨點順序:** Fixes the order of *top_X* and *bottom_X* anchors to RTL. In files converted from a different format, it sometimes happens that *top_1* is left of *top_2*, but it should be the other way around, otherwise your mark2liga will mess up. This script goes through your selected glyphs, and if they are Arabic ligatures, reorders all anchors to RTL order, at the same time not touching their coordinates. +* **Fix Arabic Anchor Order in Ligatures / 修復連字中的阿拉伯文錨點順序:** 此腳本可以修正 *top_X* 和 *bottom_X* 錨點的順序,讓它們符合右至左書寫的排列方式。有些從其他格式轉換而來的檔案,可能會發生 *top_1* 在左邊,而 *top_2* 在右邊的情況,但實際上順序應該相反,否則會影響到後續的 mark2liga 步驟。這個腳本會針對所選擇的阿拉伯文連字進行處理,將所有錨點按照右至左的順序重新排列,同時不影響它們的座標位置。 * **Insert All Anchors in All Layers / 在所有圖層插入錨點:** 為該字符的所有圖層加入遺失的錨點(如果該錨點沒有出現在所有圖層中的話)。 -* **Insert exit and entry Anchors to Selected Positional Glyphs / 在選定的位置字符上插入 exit/entry 錨點:** Adds entry and exit anchors for cursive attachment in selected glyphs. By default, it places the exit at (0, 0) and the entry at a node at RSB if such a node exists. Please adjust for your own needs. +* **Insert exit and entry Anchors to Selected Positional Glyphs / 在選定的位置字符上插入 exit/entry 錨點:** 此腳本會在所選擇的字符中添加連筆連接所需的入口和出口錨點。預設情況下,它會在座標點 (0, 0) 添加出口錨點,而入口錨點則會放置在 RSB (右側基線) 的節點上(如果有的話)。請根據自己的需求進行調整。 * **Mark Mover / 標號移動器:** 將結合用標號移到相對應的高度。例如大寫上標符號移到大寫高度,小寫上標符號移到 x 高度...等。你也可以另外設定左右間距的數值。 *需要 香草JS* * **Move ogonek Anchors to Baseline Intersection / 將反尾形符錨點移動到基線交界處:** 將所有反尾形符錨點和結合用錨點移動到字符線框最右側和基線的交界處。 -* **Move topright Anchors for Vertical Carons / 移動垂直抑揚符的右上角錨點:** Moves all topright and _topright anchors to the rightmost intersection of the outline with the x-height. Useful for building Czech/Slovak letters with vertical caron. -* **Move Vietnamese Marks to top_viet Anchor in Circumflex / 移動越南語標號到揚抑符中的 top_viet 錨點上:** Moves *acute*, *grave* and *hookabovecomb* to the *top_viet* anchor in every layer of selected glyphs. Useful for Vietnamese double accents. Assumes that you have *top_viet* anchors in all layers of *circumflexcomb*. +* **Move topright Anchors for Vertical Carons / 移動垂直抑揚符的右上角錨點:** 此腳本可以將所有的 topright 和 _topright 錨點移動到字型輪廓與 x-height 的最右交匯點。這對於建立帶有垂直抑揚符的捷克文/斯洛伐克文字母非常有用。 +* **Move Vietnamese Marks to top_viet Anchor in Circumflex / 移動越南語標號到揚抑符中的 top_viet 錨點上:** 此腳本可以將所選擇的字符中每一層的 *acute*、*grave* 和 *hookabovecomb* 錨點移動到 *top_viet* 錨點上。這對於製作越南文雙重音符號非常有用。前提是在所有 *circumflexcomb* 的層中都有 *top_viet* 錨點。 * **New Tab with Glyphs Containing Anchor / 新分頁-所有包含錨點的字符:** 打開一個新分頁,該分頁包含所有已製作錨點的字符。 * **New Tab with top and bottom Anchors Not on Metric Lines / 新分頁-所有位在度量線上的頂部和底部錨點:** 將所有 *top* 和 *bottom* 錨點的垂直高度資訊顯示在巨集面板上,並且開啟一個新分頁,列出所有主板或支撐層中錨點位置不在度量線位置上的字符。 -* **Prefix all exit/entry anchors with a hashtag / 在所有 exit/entry 錨點前加上主題標籤:** Looks for all exit and entry anchors anywhere in the font, and disables `curs` feature generation by prefixing their anchor names with `#`. -* **Realign Stacking Anchors / 重新對齊堆疊錨點:** In stacking combining accents, moves top and bottom anchors exactly above or below the respective _top and _bottom anchors, respecting the italic angle. This way, stacking multiple nonspacing accents will always stay in line. *需要 香草JS* -* **Remove Anchors in Suffixed Glyphs / 刪除後綴字符中的錨點:** Removes all anchors from glyphs with one of the user-specified suffix. Useful for removing left-over anchors in sups/subs/sinf/ordn variants of glyphs after copying, scaling and editing. *需要 香草JS* +* **Prefix all exit/entry anchors with a hashtag / 在所有 exit/entry 錨點前加上井字號:** 此腳本會搜尋字型中所有的 exit/entry 錨點,並在它們的錨點名稱前加上 `#`,以停用 `curs` 特性的生成。 +* **Realign Stacking Anchors / 重新對齊堆疊錨點:** 此腳本可以在堆疊結合重音符號中,將頂部和底部錨點準確地移動到相應的 _top 和 _bottom 錨點正上方或正下方,同時考慮斜體角度。這樣,堆疊多個非間隔重音符號時,它們將始終保持在一條線上。 *需要 香草JS* +* **Remove Anchors in Suffixed Glyphs / 刪除後綴字符中的錨點:** 此腳本可以從字符中移除所有包含使用者指定後綴的錨點。這對於在複製、縮放和編輯後的上標、下標、下方變體或序數變體中,清除剩餘的錨點非常有用。 *需要 香草JS* * **Remove Anchors / 移除錨點:** 刪除選定字符(或整個字型)中具有指定名稱的錨點。 *需要 香草JS* -* **Remove Non-Standard Anchors from Selected Glyphs / 移除選定字符的異常錨點:** Removes all anchors from a glyph that should not be there by default, e.g., `ogonek` from `J`. Potentially dangerous, because it may delete false positives. So, first use the report script below. +* **Remove Non-Standard Anchors from Selected Glyphs / 移除選定字符的異常錨點:** 此腳本可以從字符中移除所有不應存在的預設錨點,例如在 `J` 字母中的 `ogonek`。這可能存在潛在風險,因為它可能會刪除錯誤的錨點。因此,在使用此移除腳本之前,請先使用下面的報告腳本,以避免意外刪除錯誤的錨點。 * **Replicate Anchors / 複製錨點:** 在操作視窗中選擇一個來源字符,並在目前的字符上批次加入錨點。 *需要 香草JS* * **Replicate Anchors in Suffixed Glyphs / 複製錨點到後綴字符:** 掃描選取的後綴字符,從它們的基本字符複製錨點過來。 例如將 *X* 的錨點貼到 *X.ss01*、*X.swsh* 和 *X.alt* 上。 -* **Report Non-Standard Anchors to Macro window / 在巨集面板回報異常錨點資訊:** 掃描字型中的所有字符,將偵測到的異常錨點顯示在巨集面板中,命令行內容可被複製貼上到編輯畫面中。 -* **Shine Through Anchors / (翻譯名稱):** In all layers of selected glyphs, inserts ‘traversing’ anchors from components. +* **Report Non-Standard Anchors to Macro window / 在巨集面板報告異常錨點資訊:** 掃描字型中的所有字符,將偵測到的異常錨點顯示在巨集面板中,命令行內容可被複製貼上到編輯畫面中。 +* **Shine Through Anchors / 穿透錨點:** 此腳本可以在所選字符的所有圖層中,從組件中插入 ‘traversing’ 錨點。 ## 應用程式(已完成v1) @@ -96,27 +96,27 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Toggle RTL-LTR / 切換 右起-左起:** 在當前分頁切換右起-左起書寫方向。推薦在「系統偏好設定」中設定快捷鍵使用。 * **Update git Repositories in Scripts Folder / 更新文本資料夾中的 git 儲存庫:** 對 Glyphs 腳本資料夾中的所有子資料夾執行「git pull」指令。如果腳本資料夾中有很多 git 儲存庫就很有用。 *:question:功能* -## 建構字符 - -*推薦腳本:「引用符管理器」,以及用於小型大寫數字、符號和 ​​Ldot 的「構建腳本」。其他腳本主要是為了讓你快速開始覆蓋某些 Unicode 範圍如果客戶有需求。* - -* **Build APL Greek / (翻譯名稱):** Create APL Greek glyphs. -* **Build careof and cadauna / (翻譯名稱):** Builds `cadauna` and `careof` from your `c`, `o`, `u` and `fraction` glyphs. -* **Build Circled Glyphs / (翻譯名稱):** Builds circled numbers and letters (U+24B6...24EA and U+2460...2473) from `_part.circle` and your letters and figures. *需要 香草JS* -* **Build Dotted Numbers / (翻譯名稱):** Build dotted numbers from your default figures and the period. -* **Build ellipsis from period components / (翻譯名稱):** Inserts exit and entry anchors in the period glyph and rebuilds ellipsis with auto-aligned components of period. Attention: decomposes all period components used in other glyphs (e.g., colon). -* **Build Extra Math Symbols / (翻譯名稱):** Builds `lessoverequal`, `greateroverequal`, `bulletoperator`, `rightanglearc`, `righttriangle`, `sphericalangle`, `measuredangle`, `sunWithRays`, `positionIndicator`, `diameterSign`, `viewdataSquare`, `control`. -* **Build Ldot and ldot / (翻譯名稱):** Builds `Ldot`, `ldot` and `ldot.sc` from existing `L` and `periodcentered.loclCAT` (`.case`/`.sc`). Assumes that you have already created and properly spaced `L`-`periodcentered.loclCAT`-`L`, etc. -* **Build Parenthesized Glyphs / (翻譯名稱):** Creates parenthesized letters and numbers: `one.paren`, `two.paren`, `three.paren`, `four.paren`, `five.paren`, `six.paren`, `seven.paren`, `eight.paren`, `nine.paren`, `one_zero.paren`, `one_one.paren`, `one_two.paren`, `one_three.paren`, `one_four.paren`, `one_five.paren`, `one_six.paren`, `one_seven.paren`, `one_eight.paren`, `one_nine.paren`, `two_zero.paren`, `a.paren`, `b.paren`, `c.paren`, `d.paren`, `e.paren`, `f.paren`, `g.paren`, `h.paren`, `i.paren`, `j.paren`, `k.paren`, `l.paren`, `m.paren`, `n.paren`, `o.paren`, `p.paren`, `q.paren`, `r.paren`, `s.paren`, `t.paren`, `u.paren`, `v.paren`, `w.paren`, `x.paren`, `y.paren`, `z.paren`. -* **Build Q from O and _tail.Q / (翻譯名稱):** Run this script *after* doing *Component from Selection* on the Q tail and naming it `_tail.Q`. -* **Build Rare Symbols / (翻譯名稱):** Builds white and black, small and large, circles, triangles and squares. *需要 香草JS* -* **Build rtlm Alternates / (翻譯名稱):** Creates horizontally mirrored composites for selected glyphs and updates the rtlm OpenType feature. Auto-aligns the components, but also adds metrics keys that kick in in case you decompose. -* **Build Small Figures / (翻譯名稱):** Takes a default set of figures (e.g., `.dnom`), and derives the others (`.numr`, `superior`/`.sups`, `inferior`/`.sinf`, `.subs`) as component copies. Respects the italic angle. *Need Vanilla.* -* **Build small letter SM, TEL / (翻譯名稱):** Creates the glyphs: `servicemark`, `telephone`. -* **Build space glyphs / (翻譯名稱):** Creates `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`. -* **Build Symbols / (翻譯名稱):** Creates symbol glyphs such as `.notdef` (based on the boldest available `question` mark), an `estimated` glyph, as well as `bar` and `brokenbar` (for which it respects standard stems and italic angle). *需要 香草JS* -* **Fix Punctuation Dots and Heights / (翻譯名稱):** Syncs punctuation dots between ¡!¿? (and their SC+CASE variants). Will use dot from exclam in all other glyphs, and shift ¡¿ in SC and CASE variants. Assumes that ¡¿ are components in !?. Detailed report in Macro Window.. -* **Quote Manager / 引用符管理器:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. *需要 香草JS* +## 建構字符(已完成v2) + +*推薦腳本:「引號管理器」,以及用於小型大寫數字、符號和 ​​Ldot 的「構建腳本」。其他腳本主要是為了讓你快速開始覆蓋某些 Unicode 範圍如果客戶有需求。* + +* **Build APL Greek / 建立 APL 希臘字母:** 此腳本可以建立算式用的希臘字母。 +* **Build careof and cadauna / 建立 careof 和 cadauna 符號:** B此腳本可以從你的 `c`、`o`、`u` 和 `fraction` 字母建立 `cadauna` 和 `careof` 字符。 +* **Build Circled Glyphs / 建立圓圈符號:** 此腳本可以從 `_part.circle` 和您的字母和數字,建立圓圈數字和字母(U+24B6...24EA 和 U+2460...2473)。 *需要 香草JS* +* **Build Dotted Numbers / 建立帶點數字:** 此腳本可以從你的標準數字和句號建立帶有點的數字。 +* **Build ellipsis from period components / 從句點組件建立刪節號:** 此腳本在句號字形中插入 exit 和 entry 錨點,並使用句號字形的自動對齊組件重新建構省略號。注意:此腳本會解構在其他字形中使用的句號組件(例如冒號)。 +* **Build Extra Math Symbols / 建立額外的數學符號:** 此腳本可以建立 `lessoverequal`, `greateroverequal`, `bulletoperator`, `rightanglearc`, `righttriangle`, `sphericalangle`, `measuredangle`, `sunWithRays`, `positionIndicator`, `diameterSign`, `viewdataSquare`, `control` 等額外的數學符號。 +* **Build Ldot and ldot / 建立 Ldot 和 ldot 字符:** 此腳本可以從現有的 `L` 和 `periodcentered.loclCAT`(`.case`/`.sc`)建立 `Ldot`、`ldot` 和 `ldot.sc`。假設你已經創建並正確設定好間距 `L`-`periodcentered.loclCAT`-`L` 等等。 +* **Build Parenthesized Glyphs / 建立帶括號的字母和數字:** 創建帶括號的字母和數字: `one.paren`, `two.paren`, `three.paren`, `four.paren`, `five.paren`, `six.paren`, `seven.paren`, `eight.paren`, `nine.paren`, `one_zero.paren`, `one_one.paren`, `one_two.paren`, `one_three.paren`, `one_four.paren`, `one_five.paren`, `one_six.paren`, `one_seven.paren`, `one_eight.paren`, `one_nine.paren`, `two_zero.paren`, `a.paren`, `b.paren`, `c.paren`, `d.paren`, `e.paren`, `f.paren`, `g.paren`, `h.paren`, `i.paren`, `j.paren`, `k.paren`, `l.paren`, `m.paren`, `n.paren`, `o.paren`, `p.paren`, `q.paren`, `r.paren`, `s.paren`, `t.paren`, `u.paren`, `v.paren`, `w.paren`, `x.paren`, `y.paren`, `z.paren`。 +* **Build Q from O and _tail.Q / 將 _tail.Q 和現有的 O 元件組合成 Q:** 請在將 Q 的尾巴轉換為組件(使用 將選取的路徑轉為組件 功能)並命名為 `_tail.Q` 後執行此腳本。 +* **Build Rare Symbols / 建立罕見符號:** 建立白色和黑色的小型和大型圓形、三角形和正方形。 *需要 香草JS* +* **Build rtlm Alternates / 建立 rtlm 替代字符:** 為選定的字符創建水平鏡像組合,並更新 rtlm OpenType 功能。自動對齊組件,但也添加度量鍵,以防您進行拆解。 +* **Build Small Figures / 建立小型數字:** 這個腳本會以一組預設的小型數字 (例如`.dnom`) 為基礎,並以組件複製的方式產生其他數字(例如`.numr`、`superior`/`.sups`、`inferior`/`.sinf`、`.subs`等等),同時也會考慮斜體角度。 *需要 香草JS* +* **Build small letter SM, TEL / 建立小寫字母SM和TEL:** 創建字符:`servicemark`(服務商標)和 `telephone`(電話符號)。 +* **Build space glyphs / 建立空格字符:** 建立 `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`等不同寬度的空格字符。 +* **Build Symbols / 建立符號:** 這個腳本會幫你建立一些符號字符,例如沒有定義的符號字符 `.notdef`,它會以最粗的問號作為參考,還有一個代表估算值的字符 `estimated`。此外,還會建立 `bar` 和 `brokenbar` 字符,並且會遵循標準的垂線和斜體角度。 *需要 香草JS* +* **Fix Punctuation Dots and Heights / 修復標點符號和高度:** 此腳本會同步 ¡!¿? 的標點符號點位置(包括它們的小型大寫、一般大寫版本),並且在變體中移動 ¡¿ 的位置。假設 ¡¿ 是 !? 的組件。詳細報告會顯示在巨集視窗中。 +* **Quote Manager / 引號管理器:** 從單引號建立雙引號,並在單引號中插入 `#exit` 和 `#entry` 錨點以進行自動對齊。你需要已經有單引號。 *需要 香草JS* ## 彩色字型(已完成v1) From 7e5c478f72b545a06db950d75d3b9cedfac2b7a0 Mon Sep 17 00:00:00 2001 From: Erikyin <83154914+yintzuyuan@users.noreply.github.com> Date: Fri, 24 Nov 2023 23:52:44 +0800 Subject: [PATCH 12/18] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=AB=A0=E7=AF=80?= =?UTF-8?q?=EF=BC=9A=E7=89=B9=E6=80=A7=20=E5=92=8C=E4=B8=80=E9=BB=9E?= =?UTF-8?q?=E9=BB=9E=E9=96=93=E8=B7=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 24b3aa37..f6e03a89 100644 --- a/README.md +++ b/README.md @@ -171,22 +171,22 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *在製作手寫風格字體時,你可能經常需要「建構位置變體」的腳本。如果你發現自己經常開關 OT 功能,請用看看「啟動預設特性」和「浮動特性」腳本。並到 視窗 > 外掛程式管理員 看看 Set Palette 這個外掛。* -* **Activate Default Features / 啟動預設特性:** In the current Edit tab, activates all OT features that are recommended to be on by default (according to the spec). -* **Build ccmp for Hebrew Presentation Forms / (翻譯名稱):** Builds the ccmp feature for precomposed `uniFBxx` glyphs, e.g. if you have pedagesh, you get 'sub pe dagesh by pedagesh' in your ccmp. -* **Build Italic Shift Feature / (翻譯名稱):** Creates and inserts GPOS feature code for shifting glyphs, e.g., parentheses and punctuation for the case feature. *需要 香草JS* -* **Build Positional Feature / 建構位置變體特性:** Looks for `.init`, `.medi`, `.fina`, and `.isol` glyphs, and injects positional substitution code into your `calt` feature (or any other feature you specify). If run again, will *update* class and feature code. See this tutorial for more info: https://glyphsapp.com/learn/features-part-4-positional-alternates *需要 香草JS* -* **Build rand Feature / (翻譯名稱):** Build rand (random) feature from .cvXX or another (numbered) suffix. *需要 香草JS* -* **Feature Code Tweaks / (翻譯名稱):** Adds tweaks to OT feature code. Reports in Macro window. Careful: if you do not understand an option, do not use it. *需要 香草JS* -* **Find in Features / (翻譯名稱):** Finds expressions (glyph, lookup or class names) in OT Features, Prefixes and Classes. *需要 香草JS* -* **Floating Features / 浮動特性:** Floating palettes for activating and deactivating OT features. Same functionality as the pop-up menu. *需要 香草JS* -* **Fraction Fever 2 / (翻譯名稱):** Insert Tal Leming’s Fraction Fever 2 code into the font. Read more in this tutorial: https://glyphsapp.com/learn/fractions -* **New OT Class with Selected Glyphs / (翻譯名稱):** GUI for creating a new OT class with the selected glyphs. *需要 香草JS* -* **New Tab with OT Class / (翻譯名稱):** GUI for opening all glyphs in an OT class (listed in *File > Font Info > Features > Classes*) in a new tab. *需要 香草JS* -* **Update Features without Reordering / (翻譯名稱):** Goes through the existing features in the font and refreshes each one of them. Does neither add nor reorder features. -* * **Stylistic Sets > Synchronize ssXX glyphs / (翻譯名稱):** Creates missing ssXX glyphs so that you have synchronous groups of ssXX glyphs. E.g. you have *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> the script creates *b.ss02* -* * **Stylistic Sets > Create ssXX from layer / (翻譯名稱):** Takes the current layer and copies it to the primary layer of a new .ssXX glyph. -* * **Stylistic Sets > Create pseudorandom calt feature / (翻譯名稱):** Creates pseudorandom calt (contextual alternatives) feature based on number of existing ssXX glyphs in the font. Also includes the default class in the rotation algorithm. -* * **Stylistic Sets > Set ssXX Names / (翻譯名稱):** Prefills names for ssXX features with ‘Alternate’ or another chosen text, plus the name of the first substituted glyph, e.g., ‘Alternate a’. Option to preserve existing namings.*需要 香草JS* +* **Activate Default Features / 啟動預設特性:** 在目前的編輯分頁中,啟用所有根據規範建議預設開啟的OT功能。 +* **Build ccmp for Hebrew Presentation Forms / 建構希伯來表示形式的ccmp:** 為預組 uniFBxx 字符建構ccmp功能,例如,如果你有 pedagesh,則在你的ccmp中會得到 'sub pe dagesh by pedagesh'。 +* **Build Italic Shift Feature / 建構斜體位移特性:** 創建並插入GPOS功能代碼,用於移動字符,例如,用於形式特性的括號和標點符號。 *需要 香草JS* +* **Build Positional Feature / 建構位置變體特性:** 尋找 .`init``.medi``.fina` 和 `.isol` 字符,並將位置替換代碼注入到你的calt特性(或其他你指定的特性)。如果再次運行,將 *更新* 類別和特性代碼。詳細資訊可參考此教程:https://glyphsapp.com/learn/features-part-4-positional-alternates *需要 香草JS* +* **Build rand Feature / 建構 rand 特性:** 從 .cvXX 或其他(編號的)後綴建構 rand(隨機)特性。 *需要 香草JS* +* **Feature Code Tweaks / 特性代碼微調:** 對OT特性代碼進行微調。在巨集面板中顯示報告。請小心使用:如果你不理解某個選項,請勿使用。 *需要 香草JS* +* **Find in Features / 在特性中查找:** 在OT特性、前綴和類別中查找表達式(字符、查找或類別名稱)。 *需要 香草JS* +* **Floating Features / 浮動特性:** 用於啟用和停用OT特性的浮動面板。與彈出菜單具有相同的功能。 *需要 香草JS* +* **Fraction Fever 2 / 分數瘋狂2:** 將Tal Leming 的 Fraction Fever 2 代碼插入字型中。詳細信息請參考此教程:https://glyphsapp.com/learn/fractions +* **New OT Class with Selected Glyphs / 使用所選字符建立新的OT類別:** 用於使用所選字符創建新的OT類別的圖形用戶界面。 *需要 香草JS* +* **New Tab with OT Class / 使用OT類別打開新分頁:** 用於在新分頁中打開所有OT類別中的字符(列在 *文件 > 字體資訊 > 特性 > 類別* 中)的圖形用戶界面。 *需要 香草JS* +* **Update Features without Reordering / 更新特性而不重新排序:** 瀏覽字型中現有的特性,並刷新每一個。既不添加特性,也不重新排序。 +* * **Stylistic Sets > Synchronize ssXX glyphs / 文樣集 > 同步 ssXX 字形:** 創建缺失的 ssXX 字符,使你擁有同步的 ssXX 字符組。例如,如果你有 *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> 該腳本將創建 *b.ss02*。 +* * **Stylistic Sets > Create ssXX from layer / 文樣集 > 從圖層創建 ssXX:** 使用當前圖層將其複製到新的 .ssXX 字符的主要圖層。 +* * **Stylistic Sets > Create pseudorandom calt feature / 文樣集 > 創建虛擬隨機calt特性:** 基於字型中現有的ssXX字形數量,創建基於偽隨機的calt(上下文替換)特性。還包括在旋轉算法中的默認類別。 +* * **Stylistic Sets > Set ssXX Names / 文樣集 > 設置 ssXX 名稱:** 使用‘Alternate’或其他選擇的文本,以及第一個替換的字符名稱,預先填充ssXX特性的名稱,例如‘Alternate a’。也可以選擇保留現有的命名。 *需要 香草JS* ## 字型資訊(已完成v1) @@ -393,9 +393,9 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *推薦腳本:「修復數學運算符間距」、「括號度量管理器」,如果你的字型中有箭頭可以試試「修復箭頭定位」。「新增分頁」腳本在創建數字時也很好用。* -* **Add Metrics Keys for Symmetric Glyphs / (翻譯名稱):** Will add RSB =| if the RSB is the same as the LSB in all masters. *需要 香草JS* -* **Bracket Metrics Manager / 括號度量管理器:** Manage the sidebearings and widths of bracket layers, e.g., dollar and cent. *需要 香草JS* -* **Center Glyphs / (翻譯名稱):** Centers all selected glyphs inside their width, so that LSB=RSB. +* **Add Metrics Keys for Symmetric Glyphs / 為對稱字形添加度量鍵:** 如果在所有主要字符中RSB與LSB相同,將添加RSB =|。 *需要 香草JS* +* **Bracket Metrics Manager / 括號度量管理器:** 管理括號圖層(例如,美元和分)的側輻和寬度。 *需要 香草JS* +* **Center Glyphs / 居中字符:** 將所有選定的字符置於其寬度內居中,使LSB=RSB。 * **Change Metrics by Percentage / (翻譯名稱):** Change LSB/RSB of selected glyphs by a percentage value. Undo with the Revert button. *需要 香草JS* * **Find and Replace in Metrics Keys / (翻譯名稱):** GUI for searching and replacing text in the L and R metrics keys, e.g. replace '=X+15' by '=X'. Leave the search field blank for appending. * **Fix Arrow Positioning / 修復箭頭定位:** Fixes the placement and metrics keys of arrows, dependent on a specified default arrow. Adds metric keys and moves arrows vertically. Does not create new glyphs, only works on existing ones. *需要 香草JS* From 0afd2682a1f6cd7b67899a34de553b02bd307071 Mon Sep 17 00:00:00 2001 From: Erikyin <83154914+yintzuyuan@users.noreply.github.com> Date: Fri, 29 Dec 2023 23:29:49 +0800 Subject: [PATCH 13/18] =?UTF-8?q?=E6=8F=92=E5=80=BC=E7=AB=A0=E7=AF=80?= =?UTF-8?q?=E5=AE=8C=E6=88=90=EF=BC=8C=E7=B5=B1=E4=B8=80=E5=90=8D=E8=A9=9E?= =?UTF-8?q?=EF=BC=9A=E5=B7=A8=E9=9B=86=E9=9D=A2=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 78 +++++++++++++++++++++++++++---------------------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index f6e03a89..4e417bb2 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Close All Tabs of All Open Fonts / 關閉所有字型檔的編輯分頁:** 關閉目前在應用程式中開啟字型檔的所有編輯分頁。 * **Copy Download URL for Current App Version / 複製目前應用程式版本的下載連結:** 將目前 Glyphs 應用程式版本的下載連結放入剪貼簿以便於貼上。 * **Decrease and Increase Line Height / 減少和增加行高:** 將「編輯畫面」的行高增加四分之一或減少五分之一。如果你需要在行高之間頻繁切換,推薦將它們設定到快捷鍵。 -* **Method Reporter / 方法報告器:** 圖形使用者介面用於過濾 Glyphs 中可用的 Python 和 PyObjC 類的方法名稱。你可以使用多個空格分隔檢索詞(用於 AND 串接)和星號作為未知字元(可放在開頭、中間和結尾)。按兩下可將方法名稱放入剪貼簿,然後在巨集視窗中打開説明。對寫程式的人很有用。 *需要 香草JS* +* **Method Reporter / 方法報告器:** 圖形使用者介面用於過濾 Glyphs 中可用的 Python 和 PyObjC 類的方法名稱。你可以使用多個空格分隔檢索詞(用於 AND 串接)和星號作為未知字元(可放在開頭、中間和結尾)。按兩下可將方法名稱放入剪貼簿,然後在巨集面板中打開説明。對寫程式的人很有用。 *需要 香草JS* * **Navigate - Activate next and previous glyph / :** 啟動下一個或上一個字符的編輯模式。 * **Parameter Reporter / 參數報告器:** 類似於方法報告器,但用於自定義參數。按兩下以複製剪貼簿中的參數,準備貼到字型資訊中。 *需要 香草JS* * **Print Window / 列印視窗:** 列印當前視窗。用於保存視窗內容的向量 PDF,包括檢視器外掛的渲染(“顯示”選單的擴展)。 *:question:成果* @@ -115,7 +115,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Build small letter SM, TEL / 建立小寫字母SM和TEL:** 創建字符:`servicemark`(服務商標)和 `telephone`(電話符號)。 * **Build space glyphs / 建立空格字符:** 建立 `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`等不同寬度的空格字符。 * **Build Symbols / 建立符號:** 這個腳本會幫你建立一些符號字符,例如沒有定義的符號字符 `.notdef`,它會以最粗的問號作為參考,還有一個代表估算值的字符 `estimated`。此外,還會建立 `bar` 和 `brokenbar` 字符,並且會遵循標準的垂線和斜體角度。 *需要 香草JS* -* **Fix Punctuation Dots and Heights / 修復標點符號和高度:** 此腳本會同步 ¡!¿? 的標點符號點位置(包括它們的小型大寫、一般大寫版本),並且在變體中移動 ¡¿ 的位置。假設 ¡¿ 是 !? 的組件。詳細報告會顯示在巨集視窗中。 +* **Fix Punctuation Dots and Heights / 修復標點符號和高度:** 此腳本會同步 ¡!¿? 的標點符號點位置(包括它們的小型大寫、一般大寫版本),並且在變體中移動 ¡¿ 的位置。假設 ¡¿ 是 !? 的組件。詳細報告會顯示在巨集面板中。 * **Quote Manager / 引號管理器:** 從單引號建立雙引號,並在單引號中插入 `#exit` 和 `#entry` 錨點以進行自動對齊。你需要已經有單引號。 *需要 香草JS* ## 彩色字型(已完成v1) @@ -132,7 +132,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 比較當前字型(已完成v2) -*這些腳本用於同步正體和它們的斜體。打開兩個字型檔,然後運行腳本。它們不會更改你的字型,但會在巨集視窗中顯示詳細的報告。* +*這些腳本用於同步正體和它們的斜體。打開兩個字型檔,然後運行腳本。它們不會更改你的字型,但會在巨集面板中顯示詳細的報告。* * **Compare Font Info > Font / 比較字型資訊 > 字型:** 對於前兩個字型檔,詳細比較字型資訊 > 字型,並在巨集面板中輸出報告。 * **Compare Font Info > Masters / 比較字型資訊 > 主板:** 對於前兩個字型檔,詳細比較字型資訊 > 主板,並在巨集面板中輸出報告。 @@ -142,7 +142,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Compare Composites / 比較複合字元:** 報告複合字符的不同結構,例如在一個字型中使用 `acutecomb` 構建的 `iacute`,而在另一個字型中使用 `acutecomb.narrow`。 * **Compare Glyph Heights / 比較字符高度:** 列出所有在字高方面與第二個字體差異超過給定閾值的字符。 * **Compare Glyph Info / 比較字符資訊:** 比較開啟的字型,並建立一個差異字符資訊列表,包括Unicode值和分類。 *需要 香草JS* -* **Compare Glyphsets / (翻譯名稱):** 比較前兩個字型檔的字符集,並在巨集視窗中輸出報告。 +* **Compare Glyphsets / (翻譯名稱):** 比較前兩個字型檔的字符集,並在巨集面板中輸出報告。 * **Compare Kerning Groups / 比較調距群組:** 比較前兩個字型檔之間的調距群組,輸出具有差異的群組字符名稱表格。 * **Compare Metrics / 比較度量:** 比較前兩個字型檔的字形寬度。 * **Compare Sidebearings / 比較字符邊界:** 比較前兩個字型檔的字符邊界。 @@ -155,7 +155,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Component Mover / 組件移動器:** 跨選定字符批量編輯(智慧)組件。更改位置、比例和智慧組件屬性。 *需要 香草JS* * **Component Problem Finder / 組件問題查找器:** 查找組件和角落組件可能存在的問題:同時包含路徑和部件的組合字符;鎖定、嵌套、孤立、鏡像、平移、旋轉和縮放組件;具有異常組件順序或非正統組件結構的複合字符。也包含未連接和縮放過的角落組件。 *需要 香草JS* * **Decompose Components in Background / 拆開背景中的組件:** 拆開所選字符的背景圖層。適用於當前主板或所有主板,或所有字型的所有主板。 -* **Decompose Corner and Cap Components / 拆開角落和筆帽組件:** 拆開選定字符中的所有角落和筆帽組件。開啟巨集視窗顯示報告。 +* **Decompose Corner and Cap Components / 拆開角落和筆帽組件:** 拆開選定字符中的所有角落和筆帽組件。開啟巨集面板顯示報告。 * **Find and Replace Components / 置換組件:** 將所選字符中的組件重新連結到新的來源。 *需要 香草JS* * **Find and Replace Cap and Corner Components / 置換角落和筆帽組件:** 將所選字符中的 `_cap.*` 和 `_corner.*` 組件重新連結到新的角落和筆帽組件。 *需要 香草JS* * **Find and Replace Corner Components at Certain Angles / 依角度置換角落組件:** 以鈍角或銳角替換角落組件。 *需要 香草JS* @@ -216,7 +216,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Convert to Lowercase / 轉換為小寫:** 將選定字符的名稱轉為小寫。 * **Encoding Converter / 編碼轉換器:** 基於具有重命名方案的可導入/可導出文本,將舊的專家 8 位編碼轉換為 Glyphs 漂亮的名稱。默認是 AXt 轉換方案。Converts old expert 8-bit encodings into Glyphs nice names, based on a importable/exportable text with renaming scheme. Default is an AXt converting scheme. *需要 香草JS* * **Garbage Collection / 垃圾收集:** 刪除字符中的標記,例如節點名稱、字符名稱或註釋以及參考線。 -* **New Tab with Uppercase-Lowercase Inconsistencies / 新分頁-大小寫不一致:** 打開一個新分頁,其中包含所有大小寫不一致的字符。在巨集視窗中列出詳細報告。 +* **New Tab with Uppercase-Lowercase Inconsistencies / 新分頁-大小寫不一致:** 打開一個新分頁,其中包含所有大小寫不一致的字符。在巨集面板中列出詳細報告。 * **Production Namer / 生產名稱:** 覆蓋默認的生產名稱。默認是在遺留 PDF 工作流程中產生問題的常見主題:mu、onesuperior、twosuperior、threesuperior。Override default production names. Default are the usual subjects which create problems in legacy PDF workflows: mu, onesuperior, twosuperior, threesuperior. *需要 香草JS* * **Rename Glyphs / 重命名字符:** 獲取 `oldglyphname=newglyphname` 清單並相應的重命名字型中的字符,類似於自訂義參數 *Rename Glyphs* 。 *需要 香草JS* * **Reorder Unicodes of Selected Glyphs / 重新排序所選字符的 Unicode:** 重新排序 Unicode,使默認 Unicode 排在第一位。 @@ -273,36 +273,36 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *推薦腳本:「插入實體」(用於確認你的實體及其樣式正確的對應)、「拗折尋找」 和 「尋找變形字符」。作者經常搭配快捷鍵使用「顯示上/下一個實體」這個腳本。* -* **Axis Location Setter / (翻譯名稱):** Batch-set axis locations for all instances with a certain name particle. E.g., set an axis location for all Condensed instances. *需要 香草JS* -* **Axis Mapper / (翻譯名稱):** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. *需要 香草JS* -* **Brace and Bracket Manager / (翻譯名稱):** Find and replace brace or bracket layer coordinates in Glyphs 3 and later. *需要 香草JS* -* **Composite Variabler / (翻譯名稱):** Reduplicates Brace and Bracket layers of components in the compounds in which they are used. Makes bracket layers work in composites. *需要 香草JS* -* **Copy Layer to Layer / (翻譯名稱):** Copies paths (and optionally, also components, anchors and metrics) from one Master to another. *需要 香草JS* -* **Dekink Masters / (翻譯名稱):** Dekinks your smooth point triplets in all compatible layers (useful if they are not horizontal or vertical). Select a point in one or more smooth point triplets, and run this script to move the corresponding nodes in all other masters to the same relative position. Thus you achieve the same point ratio in all masters and avoid interpolation kinks, when the angle of the triplet changes. There is a [video describing it.](http://tinyurl.com/dekink-py) The triplet problem is [described in this tutorial](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible). -* **Fill up Empty Masters / 填滿空白主板:** Copies paths from one Master to another. But only if target master is empty.複製一個主板的路徑到另一個,當目標主板為空白時。 *需要 香草JS* -* **Find and Replace in Layer Names / 尋找和取代圖層名稱:** Replaces text in all layer names (except Master layers) of selected glyphs. Useful if you use the bracket trick in many glyphs. *需要 香草JS* -* **Find Shapeshifting Glyphs / 尋找變形字符:** Finds glyphs that change the number of paths while interpolating. Opens a new tab and reports to Macro window. *需要 香草JS* -* **Insert Brace Layers for Component Rotation / (翻譯名稱):** Inserts a number of Brace Layers with continuously scaled and rotated components. Useful for OTVar interpolations with rotating elements. *需要 香草JS* -* **Insert Brace Layers for Movement along Background Path / (翻譯名稱):** Inserts a number of Brace Layers with copies of the first layer, shifted according to the first path in the background. Useful for OTVar interpolations with moving elements. -* **Insert Instances / 插入實體:** GUI for calculating and inserting weight instances. It is described in this tutorial: https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances *需要 香草JS* -* **Insert Layers / 插入圖層:** Batch-insert brace or bracket layers in selected glyphs. *需要 香草JS* -* **Instance Cooker / (翻譯名稱):** Insert many instances at once with a recipe. *需要 香草JS* -* **Kink Finder / 拗折尋找:** Finds kinks in outlines or the interpolation space, reports them in the Macro window and opens a new tab with affected glyphs. Kinks are described in this tutorial: https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible *需要 香草JS* -* **New Tab with Dangerous Glyphs for Interpolation / (翻譯名稱):** Opens a tab with all glyphs in the font that contain at least two compatible elements. I.e., glyphs where an element (a path or a component) could interpolate with the wrong element, like the equals sign. For a detailed description, see section *Be suspicious* in this tutorial: . -* **New Tab with Special Layers / (翻譯名稱):** Quickly adds a new edit tab with all glyphs containing brace and bracket layers. -* **New Tab with Uneven Handle Distributions / (翻譯名稱):** Finds glyphs where handle distributions change too much (e.g., from balanced to harmonised). *需要 香草JS* -* **OTVar Player / (翻譯名稱):** Animates the current glyph with a loop along the weight axis. *需要 香草JS* -* **Remove All Non-Master Layers / (翻譯名稱):** Deletes all layers which are neither master layers, nor brace layers, nor bracket layers. Useful for getting rid of backup layers. -* **Report Instance Interpolations / (翻譯名稱):** Outputs master coefficients for each instance in Macro Window. Tells you which masters are involved in interpolating a specific instance, and to which extent. -* **Reset Axis Mappings / (翻譯名稱):** Inserts (or resets) a default Axis Mappings parameter for all style values currently present in the font. Ignores style values outside the designspace bounds defined by the masters. -* **Set Weight Axis Locations in Instances / (翻譯名稱):** Will set weight axis location parameters for all instances, and sync them with their respective usWeightClass. Will set the width axis coordinates to the spec defaults for usWidthClass, if they have not been set yet. Otherwise will keep them as is. -* **Short Segment Finder / (翻譯名稱):** Goes through all interpolations and finds segments shorter than a user-specified threshold length. *需要 香草JS* -* **Travel Tracker / (翻譯名稱):** Finds interpolations in which points travel more than they should, i.e., can find wrongly hooked-up asterisks and slashes. The results are incomplete, and usually have many false positives, but it sometimes finds cases that the Shapeshifter script misses. *需要 香草JS* -* **Variation Interpolator / (翻譯名稱):** Creates a user-defined number of glyph variations with a user-defined suffix, containing interpolations between the layers and their respective backgrounds. Overwrites glyphs with same name. Similar to Pablo Impallari’s SimplePolator. Useful for e.g. length variants of Devanagari Matra, see José Nicolás Silva Schwarzenberg’s sample video: . *需要 香草JS* -* * **Other > Lines by Master / (翻譯名稱):** Reduplicates your edit text across masters, will add one line per master in Edit view. Careful, ignores everything after the first newline. Intended for adding a keyboard in System Preferences. -* * **Other > New Tab with Masters of Selected Glyphs / (翻譯名稱):** Opens a new Edit tab containing all masters of selected glyphs. -* * **Other > Show Masters of Next/Previous Glyph / (翻譯名稱):** Allows you to step through one glyph after another, but with all masters. Combines the show next/previous glyph function (fn+left/right) with the *Edit > Show All Masters* function. Handy for attaching a keyboard shortcut in System Preferences. -* * **Other > Show Next/Previous Instance / 其他 > 顯示上/下一個實體:** Jumps to next/previous instance in the preview section of the current Edit tab. Handy for attaching a keyboard shortcut in System Preferences. +* **Axis Location Setter / 軸位置設定器:** 批量為所有具有特定名稱字節的主板設定軸位置。例如,為所有Condensed主板設定一個軸位置。 *需要 香草JS* +* **Axis Mapper / 軸映射器:** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. 提取、重置並插入Axis Mappings參數的'avar'軸映射。 *需要 香草JS* +* **Brace and Bracket Manager / 花括號和方括號管理器:** 在Glyphs 3及更高版本中查找並替換花括號或方括號圖層的坐標。 *需要 香草JS* +* **Composite Variabler / 合成變數:** 在使用它們的組件中,將組件的花括號和方括號圖層複製一份。使合成中的方括號圖層運作正常。 *需要 香草JS* +* **Copy Layer to Layer / 複製圖層到圖層:** 從一個主板圖層複製路徑(可選擇性地還包括組件、錨點和度量),然後黏貼到另一個主板圖層。 *需要 香草JS* +* **Dekink Masters / 消除扭結主板:** 去除所有兼容圖層中的節點扭結(如果它們不是水平或垂直的話很有用)。選擇一個或多個產生扭結的節點,運行此腳本將其他所有主圖層中的相應節點移動到相同的相對位置。因此,你在所有主圖層中實現相同的點比例,避免在角度變化時產生節點扭結。有一個 [描述它的影片](http://tinyurl.com/dekink-py)。這個三元組問題在 [這個教程中有描述](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)。 +* **Fill up Empty Masters / 填滿空白主板:** 複製一個主板的路徑到另一個,當目標主板為空白時。 *需要 香草JS* +* **Find and Replace in Layer Names / 在圖層名稱中查找並替換:** 替換所選字符的所有圖層名稱(除了主板圖層)中的文本。如果在許多字符中使用花括號技巧,這很有用。 *需要 香草JS* +* **Find Shapeshifting Glyphs / 查找形狀變化的字符:** 查找在插值時更改路徑數量的字符。打開新的分頁並在巨集面板中報告。 *需要 香草JS* +* **Insert Brace Layers for Component Rotation / 插入用於組件旋轉的花括號圖層:** 插入一些連續縮放和旋轉的組件的花括號圖層。對於帶有旋轉元素的OTVar插值很有用。 *需要 香草JS* +* **Insert Brace Layers for Movement along Background Path / 插入用於沿著背景路徑移動的花括號圖層:** Inserts a number of Brace Layers with copies of the first layer, shifted according to the first path in the background. Useful for OTVar interpolations with moving elements. 插入一些帶有第一圖層的複本的花括號圖層,根據背景中的第一路徑進行偏移。對於帶有移動元素的OTVar插值很有用。 +* **Insert Instances / 插入實體:** 用於計算並插入字重實體的圖形用戶界面。該教程學中有詳細描述:https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances *需要 香草JS* +* **Insert Layers / 插入圖層:** 批量在所選字符中插入花括號或方括號圖層。 *需要 香草JS* +* **Instance Cooker / 實體烹飪器:** 使用配方一次性插入多個實體。 *需要 香草JS* +* **Kink Finder / 扭結尋找:** 在輪廓或插值空間中查找扭結,並在巨集面板中報告它們,同時打開一個包含受影響字符的新分頁。有關紐結的訊息可參考此教學:https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible *需要 香草JS* +* **New Tab with Dangerous Glyphs for Interpolation / 打開包含插值風險字符的新分頁:** 打開一個包含字型中至少兩個兼容元素的所有字符的分頁。即,包含一個元素(路徑或元件)可能與錯誤元素進行插值的字符,例如等號。有關詳細訊息,請參閱此教學中的謹慎使用部分:. +* **New Tab with Special Layers / 打開包含特殊圖層的新分頁:** 快速添加一個包含所有包含花括號和方括號圖層字符的新編輯分頁。 +* **New Tab with Uneven Handle Distributions / 打開包含不均勻控制桿分佈的新分頁:** 查找控制柄分佈變化過大的字符(例如,從均衡到和諧的變化)。 *需要 香草JS* +* **OTVar Player / OTVar播放器:** 以沿著字重軸的循環方式播放目前字符的動畫。 *需要 香草JS* +* **Remove All Non-Master Layers / 刪除所有非主圖層:** 刪除既不是主板圖層,也不是花括號圖層或方括號圖層的所有圖層。有助於清理備份圖層。 +* **Report Instance Interpolations / 報告實體插值:** 在巨集面板中輸出每個實體的主板係數。告訴你在插值特定實體時涉及哪些主板和程度。 +* **Reset Axis Mappings / 重置軸映射:** 為字型中目前存在的所有樣式值插入(或重置)默認的軸映射參數。忽略超出主板所定義設計空間範圍的樣式值。 +* **Set Weight Axis Locations in Instances / 在實體中設置字重軸位置:** 將為所有實體設置字重軸位置參數,並將其與相應的usWeightClass同步。如果尚未設置寬度軸座標,則將其設置為usWidthClass的規範默認值。否則將保持不變。 +* **Short Segment Finder / 短線段查找器:** 遍歷所有插值,查找短於用戶指定閾值長度的線段。 *需要 香草JS* +* **Travel Tracker / 旅行追蹤器:** 查找插值中點位移超過應有範圍的情況,即可以找到連接錯誤的星號和斜線。結果不完善,且通常會有很多誤報,但有時可以找到Shapeshifter腳本錯過的情況。 *需要 香草JS* +* **Variation Interpolator / 變體插值器:** 創建由用戶定義的字符變體數量,帶有用戶定義的後綴,其中包含圖層與其相應背景之間的插值。覆蓋相同名稱的字符。類似於Pablo Impallari的SimplePolator。例如,對於長度變體的天城體Matra很有用,請參見José Nicolás Silva Schwarzenberg的示範視頻:。 *需要 香草JS* +* * **Other > Lines by Master / 每個主板一行字:** 透過每個主板呈現你的編輯文本內容,將在編輯視窗中為每個主板圖層添加一行文本。謹慎使用,將覆蓋第一個換行符後的所有內容。用於在系統偏好設定中添加快捷鍵。 +* * **Other > New Tab with Masters of Selected Glyphs / 其他 > 打開包含所選字符主板圖層的新分頁:** 打開一個新的編輯分頁,其中包含所選字符的所有主板圖層。 +* * **Other > Show Masters of Next/Previous Glyph / 其他 > 顯示上/下一個字符的主板圖層:** 允許你逐個字符地查看所有主板圖層。結合了顯示上/下一個字符功能(fn+左/右)和 *編輯 > 顯示所有主板* 功能。方便在系統偏好設定中設定快捷鍵。 +* * **Other > Show Next/Previous Instance / 其他 > 顯示上/下一個實體:** 跳轉到目前編輯分頁預覽部分中的上/下一個實體。方便在系統偏好設定中設定快捷鍵。 ## Kerning 調距 @@ -386,7 +386,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *當製作中的字體包含小體大寫字母時,可以執行「檢查小體大寫字母一致性」。不過請對它的報告持保留態度:它列出了許多誤報,而且也不是每個警告都這麼重要。* -* **Check Smallcap Consistency / 檢查小體大寫字母一致性:** 對您的小體大寫字母集執行一些測試並在巨集視窗列出報告,尤其是調距群組和字符集。 +* **Check Smallcap Consistency / 檢查小體大寫字母一致性:** 對您的小體大寫字母集執行一些測試並在巨集面板列出報告,尤其是調距群組和字符集。 * **Copy Kerning from Caps to Smallcaps / 將大寫字母的調距數值複製到小體大寫字母:** 將大寫字母的調距字偶複製到相應的小體大寫字母,如果它們包含在字型中。請注意:將覆蓋現有的小體大寫字母的調距字偶。 ## 間距 @@ -418,9 +418,9 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Copy InDesign Test Text / 複製 InDesign 測試文字:** 將 InDesign 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* * **Copy Word Test Text / 複製 Word 測試文字:** 將 Word 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* -* **Language Report / 拉丁字母支援語言報告:** 在巨集視窗輸出讓你初步了解你的拉丁字符支持多少種語言以及哪些語言的資訊。基於 Underware's Latin-Plus 列表,並進行了修改。 +* **Language Report / 拉丁字母支援語言報告:** 在巨集面板輸出讓你初步了解你的拉丁字符支持多少種語言以及哪些語言的資訊。基於 Underware's Latin-Plus 列表,並進行了修改。 * **Pangram Helper / 全字母句小幫手:** 幫助你編寫歐文的全字母句,你可以將其複製到剪貼簿或放入新分頁中。 *需要 香草JS* *:question:成果 其他字母句要自己添加?* -* **Report Highest and Lowest Glyphs / 最高和最低點字符報告:** 讀取所有母版的所有字符,在巨集視窗輸出最高和最低點字符的資訊。 +* **Report Highest and Lowest Glyphs / 最高和最低點字符報告:** 讀取所有母版的所有字符,在巨集面板輸出最高和最低點字符的資訊。 * **Variable Font Test HTML / 可變字型測試 HTML:** 為目前已輸出到資料夾的可變字型在預設瀏覽器開啟一個測試用的 HTML。 * **Webfont Test HTML / 網頁字型測試 HTML:** 為目前已輸出到資料夾的網頁字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 From 9098d125f6f984e4b043735a8043e662de96f0eb Mon Sep 17 00:00:00 2001 From: Erikyin <83154914+yintzuyuan@users.noreply.github.com> Date: Fri, 2 Feb 2024 23:27:07 +0800 Subject: [PATCH 14/18] =?UTF-8?q?=E7=AB=A0=E7=AF=80=20=E9=96=93=E8=B7=9D?= =?UTF-8?q?=E7=BF=BB=E8=AD=AF=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 4e417bb2..6fde78fb 100644 --- a/README.md +++ b/README.md @@ -292,7 +292,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **New Tab with Special Layers / 打開包含特殊圖層的新分頁:** 快速添加一個包含所有包含花括號和方括號圖層字符的新編輯分頁。 * **New Tab with Uneven Handle Distributions / 打開包含不均勻控制桿分佈的新分頁:** 查找控制柄分佈變化過大的字符(例如,從均衡到和諧的變化)。 *需要 香草JS* * **OTVar Player / OTVar播放器:** 以沿著字重軸的循環方式播放目前字符的動畫。 *需要 香草JS* -* **Remove All Non-Master Layers / 刪除所有非主圖層:** 刪除既不是主板圖層,也不是花括號圖層或方括號圖層的所有圖層。有助於清理備份圖層。 +* **Remove All Non-Master Layers / 刪除所有非主板圖層:** 刪除既不是主板圖層,也不是花括號圖層或方括號圖層的所有圖層。有助於清理備份圖層。 * **Report Instance Interpolations / 報告實體插值:** 在巨集面板中輸出每個實體的主板係數。告訴你在插值特定實體時涉及哪些主板和程度。 * **Reset Axis Mappings / 重置軸映射:** 為字型中目前存在的所有樣式值插入(或重置)默認的軸映射參數。忽略超出主板所定義設計空間範圍的樣式值。 * **Set Weight Axis Locations in Instances / 在實體中設置字重軸位置:** 將為所有實體設置字重軸位置參數,並將其與相應的usWeightClass同步。如果尚未設置寬度軸座標,則將其設置為usWidthClass的規範默認值。否則將保持不變。 @@ -308,7 +308,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *推薦腳本:「自動緩衝器」、「KernCrasher」、「GapFinder」、「示例字符串製造器」。如果你有太多的 kerning,請考慮使用「異常清除器」。* -* **Adjust Kerning in Master / (翻譯名稱):** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. *需要 香草JS* +* **Adjust Kerning in Master / 調整主板調距:** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. 通過圖形用戶界面為所有調距對添加一個值,將它們乘以一個值,按一個值四捨五入,或將它們限制在一個值內。*:question:round的意思?* *需要 香草JS* * **Auto Bumper / 自動緩衝器:** Specify a minimum distance, left and right glyphs, and Auto Bumper will add the minimum necessary kerning for the current master. *需要 香草JS* * **BBox Bumper / 邊界框緩衝器:** Like Auto Bumper, but with the bounding box of a group of glyphs, and the kerning inserted as GPOS feature code in Font Info > Features > kern. Useful if you want to do group kerning with classes that are different from the kerning groups. 需要 香草JS * **Convert RTL Kerning from Glyphs 2 to 3 / (翻譯名稱):** Convert RTL kerning from Glyphs 2 to Glyphs 3 format and switches the kerning classes. (Hold down OPTION and SHIFT to convert from Glyphs 3 back to Glyphs 2.) Detailed report in Macro Window. @@ -396,21 +396,21 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Add Metrics Keys for Symmetric Glyphs / 為對稱字形添加度量鍵:** 如果在所有主要字符中RSB與LSB相同,將添加RSB =|。 *需要 香草JS* * **Bracket Metrics Manager / 括號度量管理器:** 管理括號圖層(例如,美元和分)的側輻和寬度。 *需要 香草JS* * **Center Glyphs / 居中字符:** 將所有選定的字符置於其寬度內居中,使LSB=RSB。 -* **Change Metrics by Percentage / (翻譯名稱):** Change LSB/RSB of selected glyphs by a percentage value. Undo with the Revert button. *需要 香草JS* -* **Find and Replace in Metrics Keys / (翻譯名稱):** GUI for searching and replacing text in the L and R metrics keys, e.g. replace '=X+15' by '=X'. Leave the search field blank for appending. -* **Fix Arrow Positioning / 修復箭頭定位:** Fixes the placement and metrics keys of arrows, dependent on a specified default arrow. Adds metric keys and moves arrows vertically. Does not create new glyphs, only works on existing ones. *需要 香草JS* -* **Fix Math Operator Spacing / 修復數學運算符間距:** Syncs widths and centers glyphs for +−×÷=≠±≈¬, optionally also lesser/greater symbols and asciicircum/asciitilde. *需要 香草JS* -* **Freeze Placeholders / (翻譯名稱):** In the current Edit tab, will change all inserted placeholders for the current glyph, thus 'freeze' the placeholders. -* **Metrics Key Manager / (翻譯名稱):** Batch apply metrics keys to the current font. *需要 香草JS* -* **Monospace Checker / (翻譯名稱):** Checks if all glyph widths in the frontmost font are actually monospaced. Reports in Macro Window and opens a tab with affected layers. *需要 香草JS* -* **New Tab with all Figure Combinations / (翻譯名稱):** Opens a new tab with all possible figure combos. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. -* **New Tab with Fraction Figure Combinations / (翻譯名稱):** Opens an Edit tab with fraction figure combos for spacing and kerning. -* **Remove Layer-Specific Metrics Keys / (翻譯名稱):** Deletes left and right metrics keys specific to layers (==), in all layers of all selected glyphs. Also simplifies glyph metrics keys (i.e., turns "=H" into "H"). -* **Remove Metrics Keys / (翻譯名稱):** Deletes both left and right metrics keys in all selected glyphs. Affects all masters and all layers. -* **Reset Alternate Glyph Widths / (翻譯名稱):** Resets the width of suffixed glyphs to the width of their unsuffixed counterparts. E.g., `Adieresis.ss01` will be reset to the width of `Adieresis`. -* **Spacing Checker / (翻譯名稱):** Look for glyphs with unusual spacings and open them in a new tab. *需要 香草JS* -* **Steal Metrics / (翻譯名稱):** Steals the sidebearing or width values for all selected glyphs from a 2nd font. Optionally also transfers metrics keys like '=x+20'. *需要 香草JS* -* **Tabular Checker / (翻譯名稱):** Goes through tabular glyphs and checks if they are monospaced. Reports exceptions. *需要 香草JS* +* **Change Metrics by Percentage / 按百分比更改度量值:** 通過百分比值更改所選字形的LSB/RSB。可使用「還原」按鈕還原更改。 *需要 香草JS* +* **Find and Replace in Metrics Keys / 在度量鍵中查找並替換:** 用於在左右度量鍵中搜索和替換文本的圖形用戶界面,例如將 '=X+15' 替換為 '=X'。將搜索字段留空以進行附加。 +* **Fix Arrow Positioning / 修復箭頭定位:** 修復箭頭的位置和度量鍵,依賴於指定的默認箭頭。添加度量鍵並將箭頭垂直移動。不創建新字符,僅對現有字符有效。 *需要 香草JS* +* **Fix Math Operator Spacing / 修復數學運算符間距:** 同步+−×÷=≠±≈¬等符號的寬度並使其居中,可選擇還包括小於/大於符號以及上標符號/波浪號。 *需要 香草JS* +* **Freeze Placeholders / 凍結占位符:** 在當前的編輯分頁中,將更改當前字符的所有插入占位符,從而“凍結”這些占位符。 +* **Metrics Key Manager / 度量鍵管理器:** 批次應用度量鍵到目前字型。 *需要 香草JS* +* **Monospace Checker / 等寬字體檢查器:** 檢查前景字型中的所有字符寬度是否實際上是等寬的。在巨集面板中報告,並打開一個包含受影響圖層的分頁。 *需要 香草JS* +* **New Tab with all Figure Combinations / 包含所有數字組合的新分頁:** 打開一個包含所有可能的數字組合的新分頁。同時輸出一個字串,以便將其複製到巨集面板中,以防分頁打開失敗。 +* **New Tab with Fraction Figure Combinations / 包含分數數字組合的新分頁:** 打開一個編輯分頁,其中包含分數數字組合,以用於間距和字距的調整。 +* **Remove Layer-Specific Metrics Keys / 刪除特定圖層的度量鍵:** 刪除所有所選字符的所有圖層中特定圖層(==)的左右度量鍵。同時簡化字符度量鍵(即將 "=H" 轉換為 "H")。 +* **Remove Metrics Keys / 刪除度量鍵:** 刪除所有所選字符中的左右度量鍵。影響所有主板和所有圖層。 +* **Reset Alternate Glyph Widths / 重置替代字符寬度:** 將帶有後綴的字符寬度重置為其沒有後綴的對應字符的寬度。例如,`Adieresis.ss01` 將被重置為 `Adieresis` 的寬度。 +* **Spacing Checker / 間距檢查器:** 查找具有異常間距的字符並將它們打開在一個新分頁中。 *需要 香草JS* +* **Steal Metrics / 擷取度量值:** 從第二個字型中將所有所選字符的側輻或寬度值擷取過來。可選擇性地轉換度量鍵,例如 '=x+20'。 *需要 香草JS* +* **Tabular Checker / 等寬數字檢查器:** 檢查等寬數字字符並確認它們是否等寬。報告例外情況。 *需要 香草JS* ## 測試(已完成v1) From a5a98528e3fd89c417b20661a4dead5e49547908 Mon Sep 17 00:00:00 2001 From: Erikyin <83154914+yintzuyuan@users.noreply.github.com> Date: Thu, 23 May 2024 00:11:24 +0800 Subject: [PATCH 15/18] =?UTF-8?q?=E8=A9=9E=E5=BD=99=E8=AE=8A=E5=8B=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 124 +++++++++++++++++++++++++++--------------------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index 6fde78fb..201fe652 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Anchor Mover / 錨點移動器:** 在一個操作視窗中批次移動多個字符中的錨點位置。 *需要 香草JS* * **Batch Insert Anchors / 批次插入錨點:** 在一個操作視窗中批次在多個字符的相近位置批次插入錨點。 *需要 香草JS* -* **Find and Replace in Anchor Names / 尋找與取代錨點名稱:** 在一個操作視窗中搜尋並替換特定的錨點名稱(尋找範圍為選定字符的所有圖層)。 *需要 香草JS* +* **Find and Replace in Anchor Names / 尋找與取代錨點名稱:** 在一個操作視窗中搜尋並取代特定的錨點名稱(尋找範圍為選定字符的所有圖層)。 *需要 香草JS* * **Fix Arabic Anchor Order in Ligatures / 修復連字中的阿拉伯文錨點順序:** 此腳本可以修正 *top_X* 和 *bottom_X* 錨點的順序,讓它們符合右至左書寫的排列方式。有些從其他格式轉換而來的檔案,可能會發生 *top_1* 在左邊,而 *top_2* 在右邊的情況,但實際上順序應該相反,否則會影響到後續的 mark2liga 步驟。這個腳本會針對所選擇的阿拉伯文連字進行處理,將所有錨點按照右至左的順序重新排列,同時不影響它們的座標位置。 * **Insert All Anchors in All Layers / 在所有圖層插入錨點:** 為該字符的所有圖層加入遺失的錨點(如果該錨點沒有出現在所有圖層中的話)。 * **Insert exit and entry Anchors to Selected Positional Glyphs / 在選定的位置字符上插入 exit/entry 錨點:** 此腳本會在所選擇的字符中添加連筆連接所需的入口和出口錨點。預設情況下,它會在座標點 (0, 0) 添加出口錨點,而入口錨點則會放置在 RSB (右側基線) 的節點上(如果有的話)。請根據自己的需求進行調整。 @@ -106,13 +106,13 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Build Dotted Numbers / 建立帶點數字:** 此腳本可以從你的標準數字和句號建立帶有點的數字。 * **Build ellipsis from period components / 從句點組件建立刪節號:** 此腳本在句號字形中插入 exit 和 entry 錨點,並使用句號字形的自動對齊組件重新建構省略號。注意:此腳本會解構在其他字形中使用的句號組件(例如冒號)。 * **Build Extra Math Symbols / 建立額外的數學符號:** 此腳本可以建立 `lessoverequal`, `greateroverequal`, `bulletoperator`, `rightanglearc`, `righttriangle`, `sphericalangle`, `measuredangle`, `sunWithRays`, `positionIndicator`, `diameterSign`, `viewdataSquare`, `control` 等額外的數學符號。 -* **Build Ldot and ldot / 建立 Ldot 和 ldot 字符:** 此腳本可以從現有的 `L` 和 `periodcentered.loclCAT`(`.case`/`.sc`)建立 `Ldot`、`ldot` 和 `ldot.sc`。假設你已經創建並正確設定好間距 `L`-`periodcentered.loclCAT`-`L` 等等。 -* **Build Parenthesized Glyphs / 建立帶括號的字母和數字:** 創建帶括號的字母和數字: `one.paren`, `two.paren`, `three.paren`, `four.paren`, `five.paren`, `six.paren`, `seven.paren`, `eight.paren`, `nine.paren`, `one_zero.paren`, `one_one.paren`, `one_two.paren`, `one_three.paren`, `one_four.paren`, `one_five.paren`, `one_six.paren`, `one_seven.paren`, `one_eight.paren`, `one_nine.paren`, `two_zero.paren`, `a.paren`, `b.paren`, `c.paren`, `d.paren`, `e.paren`, `f.paren`, `g.paren`, `h.paren`, `i.paren`, `j.paren`, `k.paren`, `l.paren`, `m.paren`, `n.paren`, `o.paren`, `p.paren`, `q.paren`, `r.paren`, `s.paren`, `t.paren`, `u.paren`, `v.paren`, `w.paren`, `x.paren`, `y.paren`, `z.paren`。 +* **Build Ldot and ldot / 建立 Ldot 和 ldot 字符:** 此腳本可以從現有的 `L` 和 `periodcentered.loclCAT`(`.case`/`.sc`)建立 `Ldot`、`ldot` 和 `ldot.sc`。假設你已經建立並正確設定好間距 `L`-`periodcentered.loclCAT`-`L` 等等。 +* **Build Parenthesized Glyphs / 建立帶括號的字母和數字:** 建立帶括號的字母和數字: `one.paren`, `two.paren`, `three.paren`, `four.paren`, `five.paren`, `six.paren`, `seven.paren`, `eight.paren`, `nine.paren`, `one_zero.paren`, `one_one.paren`, `one_two.paren`, `one_three.paren`, `one_four.paren`, `one_five.paren`, `one_six.paren`, `one_seven.paren`, `one_eight.paren`, `one_nine.paren`, `two_zero.paren`, `a.paren`, `b.paren`, `c.paren`, `d.paren`, `e.paren`, `f.paren`, `g.paren`, `h.paren`, `i.paren`, `j.paren`, `k.paren`, `l.paren`, `m.paren`, `n.paren`, `o.paren`, `p.paren`, `q.paren`, `r.paren`, `s.paren`, `t.paren`, `u.paren`, `v.paren`, `w.paren`, `x.paren`, `y.paren`, `z.paren`。 * **Build Q from O and _tail.Q / 將 _tail.Q 和現有的 O 元件組合成 Q:** 請在將 Q 的尾巴轉換為組件(使用 將選取的路徑轉為組件 功能)並命名為 `_tail.Q` 後執行此腳本。 * **Build Rare Symbols / 建立罕見符號:** 建立白色和黑色的小型和大型圓形、三角形和正方形。 *需要 香草JS* -* **Build rtlm Alternates / 建立 rtlm 替代字符:** 為選定的字符創建水平鏡像組合,並更新 rtlm OpenType 功能。自動對齊組件,但也添加度量鍵,以防您進行拆解。 +* **Build rtlm Alternates / 建立 rtlm 替代字符:** 為選定的字符建立水平鏡像組合,並更新 rtlm OpenType 功能。自動對齊組件,但也添加度量鍵,以防您進行拆解。 * **Build Small Figures / 建立小型數字:** 這個腳本會以一組預設的小型數字 (例如`.dnom`) 為基礎,並以組件複製的方式產生其他數字(例如`.numr`、`superior`/`.sups`、`inferior`/`.sinf`、`.subs`等等),同時也會考慮斜體角度。 *需要 香草JS* -* **Build small letter SM, TEL / 建立小寫字母SM和TEL:** 創建字符:`servicemark`(服務商標)和 `telephone`(電話符號)。 +* **Build small letter SM, TEL / 建立小寫字母SM和TEL:** 建立字符:`servicemark`(服務商標)和 `telephone`(電話符號)。 * **Build space glyphs / 建立空格字符:** 建立 `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`等不同寬度的空格字符。 * **Build Symbols / 建立符號:** 這個腳本會幫你建立一些符號字符,例如沒有定義的符號字符 `.notdef`,它會以最粗的問號作為參考,還有一個代表估算值的字符 `estimated`。此外,還會建立 `bar` 和 `brokenbar` 字符,並且會遵循標準的垂線和斜體角度。 *需要 香草JS* * **Fix Punctuation Dots and Heights / 修復標點符號和高度:** 此腳本會同步 ¡!¿? 的標點符號點位置(包括它們的小型大寫、一般大寫版本),並且在變體中移動 ¡¿ 的位置。假設 ¡¿ 是 !? 的組件。詳細報告會顯示在巨集面板中。 @@ -120,7 +120,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 彩色字型(已完成v1) -*這些腳本能幫助你在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型創建後備字符。這個方式產生的後備字符將會填滿編輯框,且不會在 Chrome 瀏覽器中發生裁切。* +*這些腳本能幫助你在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型建立後備字符。這個方式產生的後備字符將會填滿編輯框,且不會在 Chrome 瀏覽器中發生裁切。* * **Add All Missing Color Layers to Selected Glyphs / 加入所有遺失的顏色圖層到選定字符中:** 為所選字符在色盤參數定義的每個 (CPAL/COLR) 顏色添加圖層,該圖層從備用層複製並轉換為色盤圖層。該腳本只添加字符中仍然缺少的顏色。 * **Add sbix Images to Font / 加入sbix圖片到字型中:** 將獲取文件夾中的所有 PNG、GIF、JPG 文件,並在當前字型和主板中使用它們建立 iColor 圖層。文件名格式: `字符名稱 像素尺寸.副檔名` ,例: `Adieresis 128.png` 。 @@ -153,15 +153,15 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Alignment Manager / 對齊管理器:** 啟用或停用所選字符中可見圖層上所有組件的自動就定位。與右鍵選單中的命令相同,但您可以一步完成多個字符。 *需要 香草JS* * **Component Mover / 組件移動器:** 跨選定字符批量編輯(智慧)組件。更改位置、比例和智慧組件屬性。 *需要 香草JS* -* **Component Problem Finder / 組件問題查找器:** 查找組件和角落組件可能存在的問題:同時包含路徑和部件的組合字符;鎖定、嵌套、孤立、鏡像、平移、旋轉和縮放組件;具有異常組件順序或非正統組件結構的複合字符。也包含未連接和縮放過的角落組件。 *需要 香草JS* +* **Component Problem Finder / 組件問題搜尋器:** 搜尋組件和角落組件可能存在的問題:同時包含路徑和部件的組合字符;鎖定、嵌套、孤立、鏡像、平移、旋轉和縮放組件;具有異常組件順序或非正統組件結構的複合字符。也包含未連接和縮放過的角落組件。 *需要 香草JS* * **Decompose Components in Background / 拆開背景中的組件:** 拆開所選字符的背景圖層。適用於當前主板或所有主板,或所有字型的所有主板。 * **Decompose Corner and Cap Components / 拆開角落和筆帽組件:** 拆開選定字符中的所有角落和筆帽組件。開啟巨集面板顯示報告。 * **Find and Replace Components / 置換組件:** 將所選字符中的組件重新連結到新的來源。 *需要 香草JS* * **Find and Replace Cap and Corner Components / 置換角落和筆帽組件:** 將所選字符中的 `_cap.*` 和 `_corner.*` 組件重新連結到新的角落和筆帽組件。 *需要 香草JS* -* **Find and Replace Corner Components at Certain Angles / 依角度置換角落組件:** 以鈍角或銳角替換角落組件。 *需要 香草JS* +* **Find and Replace Corner Components at Certain Angles / 依角度置換角落組件:** 以鈍角或銳角取代角落組件。 *需要 香草JS* * **Move Paths to Component / 將路徑移動到組件:** 將路徑移動到單獨的字符中,並將它們作為錨定的自動就定位組件插入原本的字符中。非常適合將路徑和組件混雜的字符整理成純組件字符。 *需要 香草JS* * **Populate Backgrounds with Components / 使用組件填充背景:** 添加組件到所選字符的所有背景中。 *需要 香草JS* -* **Propagate Corner Components to Other Masters / 傳播角落組件到其他主板:** 嘗試在同一字符的所有其他主板中重新創建當前主板圖層的角落組件。請確保你的外框是兼容的。 +* **Propagate Corner Components to Other Masters / 傳播角落組件到其他主板:** 嘗試在同一字符的所有其他主板中重新建立當前主板圖層的角落組件。請確保你的外框是兼容的。 * **Remove Components / 刪除組件:** 從選定(或所有)的字符中刪除指定的組件。 * **Remove Detached Corners / 刪除分離的角落組件:** 從選定(或所有)的字符中移除分離的角落組件。 * **Stitcher / 打洞器:** 打洞器會以固定間隔在您的路徑上插入組件。用於將開放路徑變成虛線。使用稱為 `origin` 的錨點來確定拼接字母中的組件位置。考慮改用 [ Stitcher 外掛](glyphsapp3://showplugin/Stitcher)。 *需要 香草JS* @@ -173,20 +173,20 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Activate Default Features / 啟動預設特性:** 在目前的編輯分頁中,啟用所有根據規範建議預設開啟的OT功能。 * **Build ccmp for Hebrew Presentation Forms / 建構希伯來表示形式的ccmp:** 為預組 uniFBxx 字符建構ccmp功能,例如,如果你有 pedagesh,則在你的ccmp中會得到 'sub pe dagesh by pedagesh'。 -* **Build Italic Shift Feature / 建構斜體位移特性:** 創建並插入GPOS功能代碼,用於移動字符,例如,用於形式特性的括號和標點符號。 *需要 香草JS* -* **Build Positional Feature / 建構位置變體特性:** 尋找 .`init``.medi``.fina` 和 `.isol` 字符,並將位置替換代碼注入到你的calt特性(或其他你指定的特性)。如果再次運行,將 *更新* 類別和特性代碼。詳細資訊可參考此教程:https://glyphsapp.com/learn/features-part-4-positional-alternates *需要 香草JS* +* **Build Italic Shift Feature / 建構斜體位移特性:** 建立並插入GPOS功能代碼,用於移動字符,例如,用於形式特性的括號和標點符號。 *需要 香草JS* +* **Build Positional Feature / 建構位置變體特性:** 尋找 .`init``.medi``.fina` 和 `.isol` 字符,並將位置取代代碼注入到你的calt特性(或其他你指定的特性)。如果再次運行,將 *更新* 類別和特性代碼。詳細資訊可參考此教程:https://glyphsapp.com/learn/features-part-4-positional-alternates *需要 香草JS* * **Build rand Feature / 建構 rand 特性:** 從 .cvXX 或其他(編號的)後綴建構 rand(隨機)特性。 *需要 香草JS* * **Feature Code Tweaks / 特性代碼微調:** 對OT特性代碼進行微調。在巨集面板中顯示報告。請小心使用:如果你不理解某個選項,請勿使用。 *需要 香草JS* -* **Find in Features / 在特性中查找:** 在OT特性、前綴和類別中查找表達式(字符、查找或類別名稱)。 *需要 香草JS* +* **Find in Features / 在特性中搜尋:** 在OT特性、前綴和類別中搜尋表達式(字符、搜尋或類別名稱)。 *需要 香草JS* * **Floating Features / 浮動特性:** 用於啟用和停用OT特性的浮動面板。與彈出菜單具有相同的功能。 *需要 香草JS* * **Fraction Fever 2 / 分數瘋狂2:** 將Tal Leming 的 Fraction Fever 2 代碼插入字型中。詳細信息請參考此教程:https://glyphsapp.com/learn/fractions -* **New OT Class with Selected Glyphs / 使用所選字符建立新的OT類別:** 用於使用所選字符創建新的OT類別的圖形用戶界面。 *需要 香草JS* +* **New OT Class with Selected Glyphs / 使用所選字符建立新的OT類別:** 用於使用所選字符建立新的OT類別的圖形用戶界面。 *需要 香草JS* * **New Tab with OT Class / 使用OT類別打開新分頁:** 用於在新分頁中打開所有OT類別中的字符(列在 *文件 > 字體資訊 > 特性 > 類別* 中)的圖形用戶界面。 *需要 香草JS* * **Update Features without Reordering / 更新特性而不重新排序:** 瀏覽字型中現有的特性,並刷新每一個。既不添加特性,也不重新排序。 -* * **Stylistic Sets > Synchronize ssXX glyphs / 文樣集 > 同步 ssXX 字形:** 創建缺失的 ssXX 字符,使你擁有同步的 ssXX 字符組。例如,如果你有 *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> 該腳本將創建 *b.ss02*。 -* * **Stylistic Sets > Create ssXX from layer / 文樣集 > 從圖層創建 ssXX:** 使用當前圖層將其複製到新的 .ssXX 字符的主要圖層。 -* * **Stylistic Sets > Create pseudorandom calt feature / 文樣集 > 創建虛擬隨機calt特性:** 基於字型中現有的ssXX字形數量,創建基於偽隨機的calt(上下文替換)特性。還包括在旋轉算法中的默認類別。 -* * **Stylistic Sets > Set ssXX Names / 文樣集 > 設置 ssXX 名稱:** 使用‘Alternate’或其他選擇的文本,以及第一個替換的字符名稱,預先填充ssXX特性的名稱,例如‘Alternate a’。也可以選擇保留現有的命名。 *需要 香草JS* +* * **Stylistic Sets > Synchronize ssXX glyphs / 文樣集 > 同步 ssXX 字形:** 建立缺失的 ssXX 字符,使你擁有同步的 ssXX 字符組。例如,如果你有 *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> 該腳本將建立 *b.ss02*。 +* * **Stylistic Sets > Create ssXX from layer / 文樣集 > 從圖層建立 ssXX:** 使用當前圖層將其複製到新的 .ssXX 字符的主要圖層。 +* * **Stylistic Sets > Create pseudorandom calt feature / 文樣集 > 建立虛擬隨機calt特性:** 基於字型中現有的ssXX字形數量,建立基於偽隨機的calt(上下文取代)特性。還包括在旋轉算法中的默認類別。 +* * **Stylistic Sets > Set ssXX Names / 文樣集 > 設置 ssXX 名稱:** 使用‘Alternate’或其他選擇的文本,以及第一個取代的字符名稱,預先填充ssXX特性的名稱,例如‘Alternate a’。也可以選擇保留現有的命名。 *需要 香草JS* ## 字型資訊(已完成v1) @@ -234,7 +234,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 字體微調 -*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.推薦腳本:「設定 blueScale」「為 PostScript 提示設置系列對齊區域」。如果你要進行大的更改,「Transfer」和「Keep Only」腳本可以為你節省大量工作。「新標籤」腳本有助於找到字形缺失區域。為此,還可以考慮路徑 > 查找近垂直未命中。* *:question:翻譯 專業領域暫時擱置* +*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.推薦腳本:「設定 blueScale」「為 PostScript 提示設置系列對齊區域」。如果你要進行大的更改,「Transfer」和「Keep Only」腳本可以為你節省大量工作。「新標籤」腳本有助於找到字形缺失區域。為此,還可以考慮路徑 > 搜尋近垂直未命中。* *:question:翻譯 專業領域暫時擱置* * **Add Alignment Zones for Selected Glyphs / (翻譯名稱):** Creates fitting zones for the selected glyphs in all masters. *需要 香草JS* * **Add Hints for Selected Nodes / (翻譯名稱):** Adds hints for the selected nodes. Tries to guess whether it should be H or V. If exactly one node inside a zone is selected, it will add a Ghost Hint. Useful for setting a shortcut in System Prefs. @@ -275,30 +275,30 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Axis Location Setter / 軸位置設定器:** 批量為所有具有特定名稱字節的主板設定軸位置。例如,為所有Condensed主板設定一個軸位置。 *需要 香草JS* * **Axis Mapper / 軸映射器:** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. 提取、重置並插入Axis Mappings參數的'avar'軸映射。 *需要 香草JS* -* **Brace and Bracket Manager / 花括號和方括號管理器:** 在Glyphs 3及更高版本中查找並替換花括號或方括號圖層的坐標。 *需要 香草JS* +* **Brace and Bracket Manager / 花括號和方括號管理器:** 在Glyphs 3及更高版本中搜尋並取代花括號或方括號圖層的坐標。 *需要 香草JS* * **Composite Variabler / 合成變數:** 在使用它們的組件中,將組件的花括號和方括號圖層複製一份。使合成中的方括號圖層運作正常。 *需要 香草JS* * **Copy Layer to Layer / 複製圖層到圖層:** 從一個主板圖層複製路徑(可選擇性地還包括組件、錨點和度量),然後黏貼到另一個主板圖層。 *需要 香草JS* * **Dekink Masters / 消除扭結主板:** 去除所有兼容圖層中的節點扭結(如果它們不是水平或垂直的話很有用)。選擇一個或多個產生扭結的節點,運行此腳本將其他所有主圖層中的相應節點移動到相同的相對位置。因此,你在所有主圖層中實現相同的點比例,避免在角度變化時產生節點扭結。有一個 [描述它的影片](http://tinyurl.com/dekink-py)。這個三元組問題在 [這個教程中有描述](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)。 * **Fill up Empty Masters / 填滿空白主板:** 複製一個主板的路徑到另一個,當目標主板為空白時。 *需要 香草JS* -* **Find and Replace in Layer Names / 在圖層名稱中查找並替換:** 替換所選字符的所有圖層名稱(除了主板圖層)中的文本。如果在許多字符中使用花括號技巧,這很有用。 *需要 香草JS* -* **Find Shapeshifting Glyphs / 查找形狀變化的字符:** 查找在插值時更改路徑數量的字符。打開新的分頁並在巨集面板中報告。 *需要 香草JS* +* **Find and Replace in Layer Names / 在圖層名稱中搜尋並取代:** 取代所選字符的所有圖層名稱(除了主板圖層)中的文本。如果在許多字符中使用花括號技巧,這很有用。 *需要 香草JS* +* **Find Shapeshifting Glyphs / 搜尋形狀變化的字符:** 搜尋在插值時更改路徑數量的字符。打開新的分頁並在巨集面板中報告。 *需要 香草JS* * **Insert Brace Layers for Component Rotation / 插入用於組件旋轉的花括號圖層:** 插入一些連續縮放和旋轉的組件的花括號圖層。對於帶有旋轉元素的OTVar插值很有用。 *需要 香草JS* * **Insert Brace Layers for Movement along Background Path / 插入用於沿著背景路徑移動的花括號圖層:** Inserts a number of Brace Layers with copies of the first layer, shifted according to the first path in the background. Useful for OTVar interpolations with moving elements. 插入一些帶有第一圖層的複本的花括號圖層,根據背景中的第一路徑進行偏移。對於帶有移動元素的OTVar插值很有用。 * **Insert Instances / 插入實體:** 用於計算並插入字重實體的圖形用戶界面。該教程學中有詳細描述:https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances *需要 香草JS* * **Insert Layers / 插入圖層:** 批量在所選字符中插入花括號或方括號圖層。 *需要 香草JS* * **Instance Cooker / 實體烹飪器:** 使用配方一次性插入多個實體。 *需要 香草JS* -* **Kink Finder / 扭結尋找:** 在輪廓或插值空間中查找扭結,並在巨集面板中報告它們,同時打開一個包含受影響字符的新分頁。有關紐結的訊息可參考此教學:https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible *需要 香草JS* +* **Kink Finder / 扭結尋找:** 在輪廓或插值空間中搜尋扭結,並在巨集面板中報告它們,同時打開一個包含受影響字符的新分頁。有關紐結的訊息可參考此教學:https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible *需要 香草JS* * **New Tab with Dangerous Glyphs for Interpolation / 打開包含插值風險字符的新分頁:** 打開一個包含字型中至少兩個兼容元素的所有字符的分頁。即,包含一個元素(路徑或元件)可能與錯誤元素進行插值的字符,例如等號。有關詳細訊息,請參閱此教學中的謹慎使用部分:. * **New Tab with Special Layers / 打開包含特殊圖層的新分頁:** 快速添加一個包含所有包含花括號和方括號圖層字符的新編輯分頁。 -* **New Tab with Uneven Handle Distributions / 打開包含不均勻控制桿分佈的新分頁:** 查找控制柄分佈變化過大的字符(例如,從均衡到和諧的變化)。 *需要 香草JS* +* **New Tab with Uneven Handle Distributions / 打開包含不均勻控制桿分佈的新分頁:** 搜尋控制柄分佈變化過大的字符(例如,從均衡到和諧的變化)。 *需要 香草JS* * **OTVar Player / OTVar播放器:** 以沿著字重軸的循環方式播放目前字符的動畫。 *需要 香草JS* * **Remove All Non-Master Layers / 刪除所有非主板圖層:** 刪除既不是主板圖層,也不是花括號圖層或方括號圖層的所有圖層。有助於清理備份圖層。 * **Report Instance Interpolations / 報告實體插值:** 在巨集面板中輸出每個實體的主板係數。告訴你在插值特定實體時涉及哪些主板和程度。 * **Reset Axis Mappings / 重置軸映射:** 為字型中目前存在的所有樣式值插入(或重置)默認的軸映射參數。忽略超出主板所定義設計空間範圍的樣式值。 * **Set Weight Axis Locations in Instances / 在實體中設置字重軸位置:** 將為所有實體設置字重軸位置參數,並將其與相應的usWeightClass同步。如果尚未設置寬度軸座標,則將其設置為usWidthClass的規範默認值。否則將保持不變。 -* **Short Segment Finder / 短線段查找器:** 遍歷所有插值,查找短於用戶指定閾值長度的線段。 *需要 香草JS* -* **Travel Tracker / 旅行追蹤器:** 查找插值中點位移超過應有範圍的情況,即可以找到連接錯誤的星號和斜線。結果不完善,且通常會有很多誤報,但有時可以找到Shapeshifter腳本錯過的情況。 *需要 香草JS* -* **Variation Interpolator / 變體插值器:** 創建由用戶定義的字符變體數量,帶有用戶定義的後綴,其中包含圖層與其相應背景之間的插值。覆蓋相同名稱的字符。類似於Pablo Impallari的SimplePolator。例如,對於長度變體的天城體Matra很有用,請參見José Nicolás Silva Schwarzenberg的示範視頻:。 *需要 香草JS* +* **Short Segment Finder / 短線段搜尋器:** 遍歷所有插值,搜尋短於用戶指定閾值長度的線段。 *需要 香草JS* +* **Travel Tracker / 旅行追蹤器:** 搜尋插值中點位移超過應有範圍的情況,即可以找到連接錯誤的星號和斜線。結果不完善,且通常會有很多誤報,但有時可以找到Shapeshifter腳本錯過的情況。 *需要 香草JS* +* **Variation Interpolator / 變體插值器:** 建立由用戶定義的字符變體數量,帶有用戶定義的後綴,其中包含圖層與其相應背景之間的插值。覆蓋相同名稱的字符。類似於Pablo Impallari的SimplePolator。例如,對於長度變體的天城體Matra很有用,請參見José Nicolás Silva Schwarzenberg的示範視頻:。 *需要 香草JS* * * **Other > Lines by Master / 每個主板一行字:** 透過每個主板呈現你的編輯文本內容,將在編輯視窗中為每個主板圖層添加一行文本。謹慎使用,將覆蓋第一個換行符後的所有內容。用於在系統偏好設定中添加快捷鍵。 * * **Other > New Tab with Masters of Selected Glyphs / 其他 > 打開包含所選字符主板圖層的新分頁:** 打開一個新的編輯分頁,其中包含所選字符的所有主板圖層。 * * **Other > Show Masters of Next/Previous Glyph / 其他 > 顯示上/下一個字符的主板圖層:** 允許你逐個字符地查看所有主板圖層。結合了顯示上/下一個字符功能(fn+左/右)和 *編輯 > 顯示所有主板* 功能。方便在系統偏好設定中設定快捷鍵。 @@ -308,32 +308,32 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m *推薦腳本:「自動緩衝器」、「KernCrasher」、「GapFinder」、「示例字符串製造器」。如果你有太多的 kerning,請考慮使用「異常清除器」。* -* **Adjust Kerning in Master / 調整主板調距:** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. 通過圖形用戶界面為所有調距對添加一個值,將它們乘以一個值,按一個值四捨五入,或將它們限制在一個值內。*:question:round的意思?* *需要 香草JS* -* **Auto Bumper / 自動緩衝器:** Specify a minimum distance, left and right glyphs, and Auto Bumper will add the minimum necessary kerning for the current master. *需要 香草JS* -* **BBox Bumper / 邊界框緩衝器:** Like Auto Bumper, but with the bounding box of a group of glyphs, and the kerning inserted as GPOS feature code in Font Info > Features > kern. Useful if you want to do group kerning with classes that are different from the kerning groups. 需要 香草JS -* **Convert RTL Kerning from Glyphs 2 to 3 / (翻譯名稱):** Convert RTL kerning from Glyphs 2 to Glyphs 3 format and switches the kerning classes. (Hold down OPTION and SHIFT to convert from Glyphs 3 back to Glyphs 2.) Detailed report in Macro Window. -* **Copy Kerning Exceptions to Double Accents / (翻譯名稱):** Copies Kerning exceptions with abreve, `acircumflex`, `ecircumflex`, `ocircumflex`, `udieresis` into Vietnamese and Pinyin double accents. -* **Exception Cleaner / (翻譯名稱):** Compares every exception to the group kerning available for the same pair. If the difference is below a threshold, remove the kerning exception. *需要 香草JS* -* **Find and Replace in Kerning Groups / (翻譯名稱):** GUI for searching and replacing text in the L and R Kerning Groups, e.g. replace 'O' by 'O.alt'. Leave the search field blank for appending. *需要 香草JS* -* **GapFinder / (翻譯名稱):** Opens a new tab with kerning combos that have large gaps in the current fontmaster. *需要 香草JS* -* **Import Kerning from .fea File / (翻譯名稱):** Choose an .fea file containing a kern feature in AFDKO code, and this script will attempt to import the kerning values into the frontmost font master (see *Window > Kerning*). -* **KernCrash Current Glyph / (翻譯名稱):** Opens a new tab containing kerning combos with the current glyph that collide in the current fontmaster. -* **KernCrasher / (翻譯名稱):** Opens a new tab with Kerning Combos that crash in the current fontmaster. *需要 香草JS* -* **Kern Flattener / (翻譯名稱):** Duplicates your font, flattens kerning to glyph-to-glyph kerning only, deletes all group kerning and keeps only relevant pairs (it has a built-in list), adds a *Export kern Table* parameter (and some other parameters) to each instance. Warning: do this only for making your kerning compatible with outdated and broken software like PowerPoint. No guarantee it works, though. -* **Kern String Mixer / (翻譯名稱):** Intersect two sets of glyphs (tokens are possible) with each other in order to get all possible glyph combinations. *需要 香草JS* -* **New Tab with All Group Members / (翻譯名稱):** Select two glyphs, e.g. ‘Ta’, run the script, and it will open a new tab with all combinations of the right kerning group of T with the left kerning group of a. -* **New Tab with Glyphs of Same Kerning Groups / (翻譯名稱):** Opens a new tab containing all members of the left and right kerning groups of the current glyph. -* **New Tab with Kerning Missing in Masters / (翻譯名稱):** Opens New Tabs for each master showing kerning missing in this master but present in other masters. -* **New Tab with Large Kerning Pairs / (翻譯名稱):** Lists all positive and negative kerning pairs beyond a given threshold. *需要 香草JS* -* **New Tab with Overkerned Pairs / (翻譯名稱):** Asks a threshold percentage, and opens a new tab with all negative kern pairs going beyond the width threshold. Example: With a threshold of 40%, and a comma with width 160, the script will report any negative kern pair with comma larger than 64 (=40% of 160). Assume that r-comma is kerned -60, and P-comma is kerned -70. In this case, it would report the latter, but not the former. *需要 香草JS* -* **New Tab with Right Groups / (翻譯名稱):** Creates a new tab with one glyph of each right group. Useful for checking the consistency of right kerning groups. -* **New Tab with all Selected Glyph Combinations / (翻譯名稱):** Takes your selected glyphs and opens a new tab with all possible combinations of the letters. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. -* **New Tab with Uneven Symmetric Kernings / (翻譯名稱):** Finds kern pairs for symmetric letters like ATA AVA TOT WIW etc. and sees if AT is the same as TA, etc. -* **New Tabs with Punctuation Kern Strings / (翻譯名稱):** Outputs several tabs with kern strings with punctuation. -* **Remove all Kerning Exceptions / (翻譯名稱):** Removes all kerning for the current master, except for group-to-group kerning. Be careful. -* **Remove Kerning Between Categories / (翻譯名稱):** Removes kerning between glyphs, categories, subcategories, scripts. *Requires Vanilla.* -* **Remove Kerning Pairs for Selected Glyphs / (翻譯名稱):** Deletes all kerning pairs with the selected glyphs, for the current master only. -* **Remove Orphaned Group Kerning / (翻譯名稱):** Deletes all group kernings referring to groups that are not in the font. +* **Adjust Kerning in Master / 調整主板調距:** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. 通過圖形用戶界面為所有調距字偶添加一個值,將它們乘以一個值,按一個值四捨五入,或將它們限制在一個值內。*:question:round的意思?* *需要 香草JS* +* **Auto Bumper / 自動調整器:** 指定最小距離、左邊和右邊的字符,自動調整器將為當前主圖層添加最小必要的調距。 *需要 香草JS* +* **BBox Bumper / 邊界框調整器:** 與自動調整器類似,但使用一組字符的邊界框,並將字距插入為GPOS特徵代碼,在 字型資訊 > 特性 > kern 中。如果要使用與字距群組不同的類進行群組字距調整,這很有用。 *需要 香草JS* +* **Convert RTL Kerning from Glyphs 2 to 3 / 將Glyphs 2中的RTL字距轉換為Glyphs 3格式:** 將Glyphs 2中的RTL調距轉換為Glyphs 3格式並切換調距類別。 (按住OPTION和SHIFT鍵可將Glyphs 3轉換回Glyphs 2。)在巨集面板中有詳細的報告。 +* **Copy Kerning Exceptions to Double Accents / 將調距例外複製到雙重附加符號:** 將具有 `acircumflex`, `ecircumflex`, `ocircumflex`, `udieresis` 的調距例外複製到越南語和拼音的雙重附加符號中。 +* **Exception Cleaner / 例外清理器:** 將每個例外與相同對的調距群組進行比較。如果差異在一個閾值以下,則刪除該調距例外。 *需要 香草JS* +* **Find and Replace in Kerning Groups / 在調距群組中搜尋與取代:** 用於在左右調距群組中搜索和取代文本的圖形用戶界面,例如將 'O' 取代為 'O.alt'。將搜尋欄位留空以進行附加。 *需要 香草JS* +* **GapFinder / 間隙搜尋器:** 在當前字型主板中打開一個新的分頁,其中包含具有大間隙的調距組合。 *需要 香草JS* +* **Import Kerning from .fea File / 從 .fea 文件導入調距:** 選擇一個包含 AFDKO 代碼中 kern 特徵的 .fea 文件,此腳本將嘗試將調距值導入到最前面的字型主板中(參見 *視窗 > 調距*)。 +* **KernCrash Current Glyph / 調距衝突檢查(目前字符):** 打開一個包含與目前字符在目前字型主板中發生衝突的調距組合的新分頁。 +* **KernCrasher / 調距衝突檢查器:** 在當前字型主板中打開一個包含調距組合衝突的新分頁。 *需要 香草JS* +* **Kern Flattener / 調距平坦化工具:** 複製您的字型,將字距平坦化為僅字符對字符的調距,刪除所有調距群組並僅保留相關配對(具有內置列表),為每個實體添加一個 *匯出字距表* 參數(以及其他一些參數)。警告:僅在需要使您的調距與過時且不完善的軟體(如PowerPoint)相容時才這樣做。儘管如此,不能保證其有效性。 +* **Kern String Mixer / 調距字串混合器:** 將兩組字符(也可能是標記)相互交叉,以獲得所有可能的字符組合。 *需要 香草JS* +* **New Tab with All Group Members / 包含所有群組成員的新分頁:** 選擇兩個字符,例如 'Ta',運行該腳本,它將打開一個新分頁,其中包含 'T' 的右調距群組與 'a' 的左調距群組的所有組合。 +* **New Tab with Glyphs of Same Kerning Groups / 包含相同調距群組的字符的新分頁:** 打開一個新分頁,其中包含當前字符左右調距群組的所有成員。 +* **New Tab with Kerning Missing in Masters / 缺失調距的主板的新分頁:** 為每個主板打開新分頁,顯示在該主板中缺失但在其他主板中存在的調距。 +* **New Tab with Large Kerning Pairs / 過大調距字偶的新分頁:** 列出所有超出給定閾值的正向和負向調距字偶。 *需要 香草JS* +* **New Tab with Overkerned Pairs / 過度調距字偶的新分頁:** 詢問閾值百分比,並打開一個新分頁,其中包含所有超出寬度閾值的負向調距字偶。例如:對於閾值為40%和寬度為160的逗號,腳本將報告任何逗號的負向調距字偶大於64(等於160的40%)。假設 r-逗號的調距為 -60,而 P-逗號的調距為 -70。在這種情況下,它將回報後者,但不是前者。 *需要 香草JS* +* **New Tab with Right Groups / 右調距群組的新分頁:** 建立一個新分頁,其中包含每個右調距群組的一個字符。用於檢查右調距群組的一致性。 +* **New Tab with all Selected Glyph Combinations / 包含所有選定字符組合的新分頁:** 使用您選定的字符,打開一個包含所有可能字母組合的新分頁。同時輸出一個字符串,以便將其複製到巨集面板中,以防分頁打開失敗。 +* **New Tab with Uneven Symmetric Kernings / 包含不均勻對稱調距的新分頁:** 查找對稱字母(如ATA AVA TOT WIW等)的調距字偶,並查看AT是否與TA相同之類的。 +* **New Tabs with Punctuation Kern Strings / 包含標點符號調距字符串的新分頁:** 輸出帶有標點符號的調距字符串的多個分頁。 +* **Remove all Kerning Exceptions / 刪除所有調距例外:** 刪除當前主板的所有調距,除了群組對群組的調距。請小心操作! +* **Remove Kerning Between Categories / 刪除類別間的調距:** 刪除字符、類別、子類別、文字之間的調距。 *需要 香草JS* +* **Remove Kerning Pairs for Selected Glyphs / 刪除所選字符的調距字偶:** 僅刪除當前主板中與所選字符相關的所有調距字偶。 +* **Remove Orphaned Group Kerning / 刪除孤立的調距群組:** 刪除字型中所有指向不存在群組的調距群組。 * **Remove Small Kerning Pairs / (翻譯名稱):** Removes all kerning pairs in the current font master with a value smaller than specified, or a value equal to zero. Be careful. *需要 香草JS* * **Report Kerning Mistakes / (翻譯名稱):** Tries to find unnecessary kernings and groupings. Reports in Macro window, for reviewing. * **Sample String Maker / 示例字符串製造器:** Creates kern strings for user-defined categories and adds them to the Sample Strings. Group kerning only, glyphs without groups are ignored. *需要 香草JS* @@ -344,11 +344,11 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 路徑(已完成v2) -*我使用「以錨點為中心旋轉」功能來處理星號符號。在輪廓檢查中非常重要:「路徑問題查找器」、「尋找近垂直缺失」和「節點綠藍管理器」。在 OTVar 製作中,「Rewire Fire」 變得越來越重要,因為它有助於減少形狀邊緣重疊輪廓線段(這會在反鋸齒中造成暗斑)。* +*我使用「以錨點為中心旋轉」功能來處理星號符號。在輪廓檢查中非常重要:「路徑問題搜尋器」、「尋找近垂直缺失」和「節點綠藍管理器」。在 OTVar 製作中,「Rewire Fire」 變得越來越重要,因為它有助於減少形狀邊緣重疊輪廓線段(這會在反鋸齒中造成暗斑)。* * **Align Selected Nodes with Background / 對齊選取節點與背景:** 將選取的節點與最近的背景節點對齊,除非它已經被先前移動的節點佔用。類似於使用 Cmd-Shift-A 將單個節點與背景對齊,但可針對多個節點。 * **Batch-Set Path Attributes / 批次設置路徑屬性:** 設定所選字符、主板、字型等中所有路徑的路徑屬性。 *需要 香草JS* -* **Copy Glyphs from Other Font into Backup Layers / 從其他字型複製字符到備份圖層:** 在目標字型中為所選字符創建備份圖層,並使用來源字型中相應的字符填充它們。如果您想要將一個字型的字符作為括號層添加到另一個字型中,這非常有用。 *需要 香草JS* -執行有問題? +* **Copy Glyphs from Other Font into Backup Layers / 從其他字型複製字符到備份圖層:** 在目標字型中為所選字符建立備份圖層,並使用來源字型中相應的字符填充它們。如果您想要將一個字型的字符作為括號層添加到另一個字型中,這非常有用。 *需要 香草JS* -執行有問題? * **Distribute Nodes / 均分節點:** 水平或垂直均分節點(取決於所選範圍的寬高比)。 * **Enlarge Short Segments / 放大單位線段:** 將線段長度小於一個單位的線段加倍。 -小於一單位? * **Fill Up with Rectangles / 填滿矩形:** 遍歷所選字符,如果發現空白字符,則插入一個佔位符矩形。對於快速構建用於測試的虛擬字型非常有用。 @@ -357,10 +357,10 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Green Blue Manager / 節點綠藍管理器:** 定義一個角度,節點在該角度之上被設置為藍色,在該角度之下被設置為綠色。 *需要 香草JS* * **Grid Switcher / 格線單位切換器:** 通過點擊浮動按鈕在兩個用戶定義的格線單位之間切換。 *需要 香草JS* * **Harmonise Curve to Line / 協調曲線與直線:** 將(選定的)曲線線段上的控制手柄重新排列,以便與後面的直線段之間的過渡是平滑的(匹配)。 -功能原理不明? -* **Interpolate two paths / 插值兩條路徑:** 選擇兩個路徑並運行此腳本,它將以50%的插值替換它們。(節點數量需一致) +* **Interpolate two paths / 插值兩條路徑:** 選擇兩個路徑並運行此腳本,它將以50%的插值取代它們。(節點數量需一致) * **New Tab with Small Paths / 開新分頁-小路徑:** 打開一個包含小於用戶定義閾值大小(平方單位)的路徑的新標籤頁。-小於用戶定義單位? -* **Path Problem Finder / 路徑問題查找器:** 在輪廓中查找各種潛在問題,並打開一個包含受影響圖層的新分頁。 *需要 香草JS* -* **Position Clicker / 位置點擊器:** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping.查找那些在重疊時兩個形狀不能良好對齊的位置,並列出它們的組合。重疊的兩個形狀在同一個位置有共同的點坐標。-功能待測試 *需要 香草JS* +* **Path Problem Finder / 路徑問題搜尋器:** 在輪廓中搜尋各種潛在問題,並打開一個包含受影響圖層的新分頁。 *需要 香草JS* +* **Position Clicker / 位置點擊器:** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping.搜尋那些在重疊時兩個形狀不能良好對齊的位置,並列出它們的組合。重疊的兩個形狀在同一個位置有共同的點坐標。-功能待測試 *需要 香草JS* * **Realign BCPs / 重新對齊貝茲曲線控制點:** Realigns all BCPs in all selected glyphs. Useful if handles got out of sync, e.g. after nudging or some other transformation, or after interpolation. Hold down Option to apply to all layers of the selected glyph(s).重新對齊所選字符中的所有貝茲曲線控制點。 如果控制柄失去同步,例如在微調或其他轉換之後或在插值之後,此腳本非常有用。按住Option鍵以將其應用於所選字形的所有圖層。-功能待測試 * **Remove all Open Paths / 刪除所有開放路徑:** 刪除所有所選字符的可見圖層中的 開放 路徑。 * **Remove Nodes and Try to Keep Shape / 刪除節點並儘可能保持形狀:** 刪除所選擇的節點,並儘可能保持形狀。類似於刪除單個節點時發生的情況,但針對多個節點的選擇。專業提示:在運行腳本時按住Shift鍵,它也會盡可能平衡剩餘的控制柄,這正是刪除單個節點時發生的情況。 @@ -378,7 +378,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Align Anchors to Grid / 對齊錨點與網格:** 將變音符號錨點對齊到字型網格上。 * **Delete Components out of Bounds / 刪除邊界外的組件:** 如果組件放置在遠離平常坐標的地方(通常發生在當您使用 cmd 加方向鍵在低網格密度中移動組件時),此腳本將刪除它們。 -* **Delete Duplicate Components / 刪除重複組件:** 尋找重複的組件(相同名稱和位置)並只保留一個。這個情況經常在創建像素字型時發生。 +* **Delete Duplicate Components / 刪除重複組件:** 尋找重複的組件(相同名稱和位置)並只保留一個。這個情況經常在建立像素字型時發生。 * **Flashify Pixels / Flash化像素:** 創造小接口以避免路徑交錯產生的白色區域,這對於 Flash 字體渲染器來說尤其是一個問題,這也是此腳本名稱的由來。 * **Reset Rotated and Mirrored Components / 重置被旋轉和鏡像的組件:** 尋找被縮放、鏡像和旋轉的組件並將它們恢復為預設的比例和方向,但不更動其位置。用於修復被鏡像的像素。 @@ -391,14 +391,14 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m ## 間距 -*推薦腳本:「修復數學運算符間距」、「括號度量管理器」,如果你的字型中有箭頭可以試試「修復箭頭定位」。「新增分頁」腳本在創建數字時也很好用。* +*推薦腳本:「修復數學運算符間距」、「括號度量管理器」,如果你的字型中有箭頭可以試試「修復箭頭定位」。「新增分頁」腳本在建立數字時也很好用。* * **Add Metrics Keys for Symmetric Glyphs / 為對稱字形添加度量鍵:** 如果在所有主要字符中RSB與LSB相同,將添加RSB =|。 *需要 香草JS* * **Bracket Metrics Manager / 括號度量管理器:** 管理括號圖層(例如,美元和分)的側輻和寬度。 *需要 香草JS* * **Center Glyphs / 居中字符:** 將所有選定的字符置於其寬度內居中,使LSB=RSB。 * **Change Metrics by Percentage / 按百分比更改度量值:** 通過百分比值更改所選字形的LSB/RSB。可使用「還原」按鈕還原更改。 *需要 香草JS* -* **Find and Replace in Metrics Keys / 在度量鍵中查找並替換:** 用於在左右度量鍵中搜索和替換文本的圖形用戶界面,例如將 '=X+15' 替換為 '=X'。將搜索字段留空以進行附加。 -* **Fix Arrow Positioning / 修復箭頭定位:** 修復箭頭的位置和度量鍵,依賴於指定的默認箭頭。添加度量鍵並將箭頭垂直移動。不創建新字符,僅對現有字符有效。 *需要 香草JS* +* **Find and Replace in Metrics Keys / 在度量鍵中搜尋並取代:** 用於在左右度量鍵中搜索和取代文本的圖形用戶界面,例如將 '=X+15' 取代為 '=X'。將搜索字段留空以進行附加。 +* **Fix Arrow Positioning / 修復箭頭定位:** 修復箭頭的位置和度量鍵,依賴於指定的默認箭頭。添加度量鍵並將箭頭垂直移動。不建立新字符,僅對現有字符有效。 *需要 香草JS* * **Fix Math Operator Spacing / 修復數學運算符間距:** 同步+−×÷=≠±≈¬等符號的寬度並使其居中,可選擇還包括小於/大於符號以及上標符號/波浪號。 *需要 香草JS* * **Freeze Placeholders / 凍結占位符:** 在當前的編輯分頁中,將更改當前字符的所有插入占位符,從而“凍結”這些占位符。 * **Metrics Key Manager / 度量鍵管理器:** 批次應用度量鍵到目前字型。 *需要 香草JS* @@ -408,7 +408,7 @@ All the scripts show a **tooltip** when you hover the mouse pointer over their m * **Remove Layer-Specific Metrics Keys / 刪除特定圖層的度量鍵:** 刪除所有所選字符的所有圖層中特定圖層(==)的左右度量鍵。同時簡化字符度量鍵(即將 "=H" 轉換為 "H")。 * **Remove Metrics Keys / 刪除度量鍵:** 刪除所有所選字符中的左右度量鍵。影響所有主板和所有圖層。 * **Reset Alternate Glyph Widths / 重置替代字符寬度:** 將帶有後綴的字符寬度重置為其沒有後綴的對應字符的寬度。例如,`Adieresis.ss01` 將被重置為 `Adieresis` 的寬度。 -* **Spacing Checker / 間距檢查器:** 查找具有異常間距的字符並將它們打開在一個新分頁中。 *需要 香草JS* +* **Spacing Checker / 間距檢查器:** 搜尋具有異常間距的字符並將它們打開在一個新分頁中。 *需要 香草JS* * **Steal Metrics / 擷取度量值:** 從第二個字型中將所有所選字符的側輻或寬度值擷取過來。可選擇性地轉換度量鍵,例如 '=x+20'。 *需要 香草JS* * **Tabular Checker / 等寬數字檢查器:** 檢查等寬數字字符並確認它們是否等寬。報告例外情況。 *需要 香草JS* From 08e103fde0b67b857698b66ae573d5321ec53d16 Mon Sep 17 00:00:00 2001 From: yintzuyuan Date: Sat, 26 Oct 2024 23:35:25 +0800 Subject: [PATCH 16/18] =?UTF-8?q?=E8=87=AA=E8=BF=B0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=BF=BB=E8=AD=AF=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 891 +++++++++++++++++++++++++++++------------------------- 1 file changed, 473 insertions(+), 418 deletions(-) diff --git a/README.md b/README.md index 201fe652..36dfb8eb 100644 --- a/README.md +++ b/README.md @@ -1,443 +1,498 @@ +--- +date: 2024-10-25 +language: zh-Hant +translator: yintzuyuan +--- # 關於 -這是在 [字型編輯軟體 Glyphs](http://glyphsapp.com/) 中製作字型時使用的 Python 腳本集。 +這些是用於 [Glyphs 字型編輯器](http://glyphsapp.com/)(字型編輯軟體)中進行字型製作的 Python 腳本。 -# 安裝 +# 安裝方式 ## Glyphs 3 -1. **安裝模組:** 在 *視窗 > 外掛程式管理員* 點擊 *模組* 分頁,確保安裝了最新版本的 [Python](glyphsapp3://showplugin/python) 和 [Vanilla](glyphsapp3://showplugin/vanilla) 模組。如果之前從未安裝過,請在完成安裝後重新啟動程式。 -2. **安裝腳本:** 前往 *視窗 > 外掛程式管理員* 點擊上方的 *腳本* 分頁。往下捲動到 [mekkablue scripts](glyphsapp3://showplugin/mekkablue%20scripts) 後點擊 *安裝* 按鈕下載它。 +1. **安裝模組:** 在「視窗 > 外掛程式管理員」中,點選「模組」分頁,確認至少已安裝 [Python](glyphsapp3://showplugin/python)(程式語言)和 [Vanilla](glyphsapp3://showplugin/vanilla)(介面框架)模組。如果這些模組之前未安裝,請重新啟動應用程式。 +2. **安裝腳本:** 前往「視窗 > 外掛程式管理員」並點選「腳本」分頁。向下捲動至 [mekkablue scripts](glyphsapp3://showplugin/mekkablue%20scripts)(腳本集),點選旁邊的「安裝」按鈕。 -現在該腳本集已被安裝在 *腳本 > mekkablue*。如果你沒有在 *腳本* 選單看到該腳本集,請按著 Option 鍵選擇 *腳本 > 重新載入腳本* (Cmd-Opt-Shift-Y)。 +現在這些腳本可在「腳本 > mekkablue」中使用。如果 mekkablue 腳本沒有出現在「腳本」選單中,請按住 Option 鍵並選擇「腳本 > 重新載入腳本」(Cmd-Opt-Shift-Y)。 ## Glyphs 2 -### Video installation guide for Glyphs 2 +### Glyphs 2 的影片安裝指南 -There is a [tutorial video on how to install the mekkablue scripts](https://www.youtube.com/watch?v=Q6ly16Q0BmE) available on YouTube. While you are there, feel free to subscribe to the [mekkablue channel](https://www.youtube.com/channel/UCFPSSuEMZVQtrFpTzgFh9lA). +YouTube 上有一部[關於如何安裝 mekkablue 腳本的教學影片](https://www.youtube.com/watch?v=Q6ly16Q0BmE)。當您造訪時,歡迎訂閱 [mekkablue 頻道](https://www.youtube.com/channel/UCFPSSuEMZVQtrFpTzgFh9lA)。 -### General installation guide for Glyphs 2 +### Glyphs 2 的一般安裝指南 -The scripts need to be in the *Scripts* folder inside the app’s Application Support folder. Here is how: +腳本需要放在應用程式的 Application Support 資料夾中的「Scripts」資料夾內。以下是安裝步驟: -1. Put the scripts folder (or an alias) into the *Scripts* folder which appears when you choose *Script > Open Scripts Folder* (Cmd-Shift-Y): `~/Library/Application Support/Glyphs/Scripts/`, or, better yet, use **git** for that. See below. -2. Then, hold down the Option (Alt) key, and choose *Script > Reload Scripts* (Cmd-Opt-Shift-Y). Now the scripts are visible in the *Script* menu -3. For some of the scripts, you will also need to install Tal Leming's *Vanilla:* Go to *Glyphs > Preferences > Addons > Modules* and click the *Install Modules* button. That’s it. +1. 將腳本資料夾(或其別名)放入選擇「腳本 > 打開腳本資料夾」(Cmd-Shift-Y) 時出現的「Scripts」資料夾中:`~/Library/Application Support/Glyphs/Scripts/`,或者更好的方式是使用 **git**。詳見下方說明。 +2. 然後,按住 Option (Alt) 鍵,並選擇「腳本 > 重新載入腳本」(Cmd-Opt-Shift-Y)。現在腳本會顯示在「腳本」選單中。 +3. 對於某些腳本,您還需要安裝 Tal Leming 的 *Vanilla:* 前往「Glyphs > 偏好設定 > 附加元件 > 模組」並點選「安裝模組」按鈕。這樣就完成了。 -### git installation for Glyphs 2 +### Glyphs 2 的 git 安裝方式 -I recommend to use git for getting the scripts, because it is easier for you to keep them up to date. Use this git command for cloning the repository into your *Scripts* folder: +我建議使用 git 來取得腳本,因為這樣更容易保持更新。使用以下 git 指令將儲存庫複製到您的「腳本」資料夾中: ```bash git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Support/Glyphs/Scripts/mekkablue/ ``` -If the terminal scares you, feel free to use one of the many readily available git clients, e.g. the free [Source Tree](https://www.sourcetreeapp.com) or [GitHub Desktop](https://desktop.github.com). - -After you installed the mekkablue scripts, you can **update** this script repository (and all the others you have in your *Scripts* folder) by running *Scripts > mekkablue > App > Update git Repositories in Scripts Folder.* - -# TROUBLESHOOTING - -Please report problems and request features [as a GitHub issue](/issues). Make sure you have the latest version of the scripts and your app is up to date. And please, always **indicate both your Glyphs and macOS version.** Thank you. - -# REQUIREMENTS - -The scripts require a recent version of Glyphs 2.x running on macOS 10.9 or later. I can only test them and make them work in the latest version of the software. If a script is not working for you, please first update to the latest version of the script. - -# ABOUT THE SCRIPTS - -All the scripts show a **tooltip** when you hover the mouse pointer over their menu entry. In scripts with a GUI, most UI elements (checkboxes, text entry fields, etc.) have tooltips as well. This way you get the explanation you need right where it counts. - -## 錨點(已完成v2) - -*「錨點移動器」用於批次處理錨點位置,在調整 x 高度之後會很有用。 輕而易舉:在組合標記上使用「重新定位」腳本,能讓你在斜體角度時也能維持一致。* - -* **Anchor Mover / 錨點移動器:** 在一個操作視窗中批次移動多個字符中的錨點位置。 *需要 香草JS* -* **Batch Insert Anchors / 批次插入錨點:** 在一個操作視窗中批次在多個字符的相近位置批次插入錨點。 *需要 香草JS* -* **Find and Replace in Anchor Names / 尋找與取代錨點名稱:** 在一個操作視窗中搜尋並取代特定的錨點名稱(尋找範圍為選定字符的所有圖層)。 *需要 香草JS* -* **Fix Arabic Anchor Order in Ligatures / 修復連字中的阿拉伯文錨點順序:** 此腳本可以修正 *top_X* 和 *bottom_X* 錨點的順序,讓它們符合右至左書寫的排列方式。有些從其他格式轉換而來的檔案,可能會發生 *top_1* 在左邊,而 *top_2* 在右邊的情況,但實際上順序應該相反,否則會影響到後續的 mark2liga 步驟。這個腳本會針對所選擇的阿拉伯文連字進行處理,將所有錨點按照右至左的順序重新排列,同時不影響它們的座標位置。 -* **Insert All Anchors in All Layers / 在所有圖層插入錨點:** 為該字符的所有圖層加入遺失的錨點(如果該錨點沒有出現在所有圖層中的話)。 -* **Insert exit and entry Anchors to Selected Positional Glyphs / 在選定的位置字符上插入 exit/entry 錨點:** 此腳本會在所選擇的字符中添加連筆連接所需的入口和出口錨點。預設情況下,它會在座標點 (0, 0) 添加出口錨點,而入口錨點則會放置在 RSB (右側基線) 的節點上(如果有的話)。請根據自己的需求進行調整。 -* **Mark Mover / 標號移動器:** 將結合用標號移到相對應的高度。例如大寫上標符號移到大寫高度,小寫上標符號移到 x 高度...等。你也可以另外設定左右間距的數值。 *需要 香草JS* -* **Move ogonek Anchors to Baseline Intersection / 將反尾形符錨點移動到基線交界處:** 將所有反尾形符錨點和結合用錨點移動到字符線框最右側和基線的交界處。 -* **Move topright Anchors for Vertical Carons / 移動垂直抑揚符的右上角錨點:** 此腳本可以將所有的 topright 和 _topright 錨點移動到字型輪廓與 x-height 的最右交匯點。這對於建立帶有垂直抑揚符的捷克文/斯洛伐克文字母非常有用。 -* **Move Vietnamese Marks to top_viet Anchor in Circumflex / 移動越南語標號到揚抑符中的 top_viet 錨點上:** 此腳本可以將所選擇的字符中每一層的 *acute*、*grave* 和 *hookabovecomb* 錨點移動到 *top_viet* 錨點上。這對於製作越南文雙重音符號非常有用。前提是在所有 *circumflexcomb* 的層中都有 *top_viet* 錨點。 -* **New Tab with Glyphs Containing Anchor / 新分頁-所有包含錨點的字符:** 打開一個新分頁,該分頁包含所有已製作錨點的字符。 -* **New Tab with top and bottom Anchors Not on Metric Lines / 新分頁-所有位在度量線上的頂部和底部錨點:** 將所有 *top* 和 *bottom* 錨點的垂直高度資訊顯示在巨集面板上,並且開啟一個新分頁,列出所有主板或支撐層中錨點位置不在度量線位置上的字符。 -* **Prefix all exit/entry anchors with a hashtag / 在所有 exit/entry 錨點前加上井字號:** 此腳本會搜尋字型中所有的 exit/entry 錨點,並在它們的錨點名稱前加上 `#`,以停用 `curs` 特性的生成。 -* **Realign Stacking Anchors / 重新對齊堆疊錨點:** 此腳本可以在堆疊結合重音符號中,將頂部和底部錨點準確地移動到相應的 _top 和 _bottom 錨點正上方或正下方,同時考慮斜體角度。這樣,堆疊多個非間隔重音符號時,它們將始終保持在一條線上。 *需要 香草JS* -* **Remove Anchors in Suffixed Glyphs / 刪除後綴字符中的錨點:** 此腳本可以從字符中移除所有包含使用者指定後綴的錨點。這對於在複製、縮放和編輯後的上標、下標、下方變體或序數變體中,清除剩餘的錨點非常有用。 *需要 香草JS* -* **Remove Anchors / 移除錨點:** 刪除選定字符(或整個字型)中具有指定名稱的錨點。 *需要 香草JS* -* **Remove Non-Standard Anchors from Selected Glyphs / 移除選定字符的異常錨點:** 此腳本可以從字符中移除所有不應存在的預設錨點,例如在 `J` 字母中的 `ogonek`。這可能存在潛在風險,因為它可能會刪除錯誤的錨點。因此,在使用此移除腳本之前,請先使用下面的報告腳本,以避免意外刪除錯誤的錨點。 -* **Replicate Anchors / 複製錨點:** 在操作視窗中選擇一個來源字符,並在目前的字符上批次加入錨點。 *需要 香草JS* -* **Replicate Anchors in Suffixed Glyphs / 複製錨點到後綴字符:** 掃描選取的後綴字符,從它們的基本字符複製錨點過來。 例如將 *X* 的錨點貼到 *X.ss01*、*X.swsh* 和 *X.alt* 上。 -* **Report Non-Standard Anchors to Macro window / 在巨集面板報告異常錨點資訊:** 掃描字型中的所有字符,將偵測到的異常錨點顯示在巨集面板中,命令行內容可被複製貼上到編輯畫面中。 -* **Shine Through Anchors / 穿透錨點:** 此腳本可以在所選字符的所有圖層中,從組件中插入 ‘traversing’ 錨點。 - -## 應用程式(已完成v1) - -*如果你正在寫程式,請為「方法報告器」添加快捷鍵,你將非常需要它。如果你想要一個與解析度無關的視窗內容的PDF螢幕截圖讓你可以在向量插圖應用程式中進行後製,「列印視窗」可以派上用場。* - -* **Close All Tabs of All Open Fonts / 關閉所有字型檔的編輯分頁:** 關閉目前在應用程式中開啟字型檔的所有編輯分頁。 -* **Copy Download URL for Current App Version / 複製目前應用程式版本的下載連結:** 將目前 Glyphs 應用程式版本的下載連結放入剪貼簿以便於貼上。 -* **Decrease and Increase Line Height / 減少和增加行高:** 將「編輯畫面」的行高增加四分之一或減少五分之一。如果你需要在行高之間頻繁切換,推薦將它們設定到快捷鍵。 -* **Method Reporter / 方法報告器:** 圖形使用者介面用於過濾 Glyphs 中可用的 Python 和 PyObjC 類的方法名稱。你可以使用多個空格分隔檢索詞(用於 AND 串接)和星號作為未知字元(可放在開頭、中間和結尾)。按兩下可將方法名稱放入剪貼簿,然後在巨集面板中打開説明。對寫程式的人很有用。 *需要 香草JS* -* **Navigate - Activate next and previous glyph / :** 啟動下一個或上一個字符的編輯模式。 -* **Parameter Reporter / 參數報告器:** 類似於方法報告器,但用於自定義參數。按兩下以複製剪貼簿中的參數,準備貼到字型資訊中。 *需要 香草JS* -* **Print Window / 列印視窗:** 列印當前視窗。用於保存視窗內容的向量 PDF,包括檢視器外掛的渲染(“顯示”選單的擴展)。 *:question:成果* -* **Resetter / 重置器:** 重置快速查看預覽、鍵盤快捷鍵和清除偏好設定、已儲存的應用程式狀態和自動儲存。 *需要 香草JS* -* **Set Export Paths to Adobe Fonts Folder / 將匯出路徑設置為 Adobe Fonts 資料夾:** 將 OpenType 字型和可變字型的匯出位置設定為 Adobe 字型資料夾。 -* **Set Hidden App Preferences / 設定隱藏的應用程式偏好設定:** GUI for reading and setting ‘hidden’ app preferences, which are not listed in the GUI.一個用於讀取和設定「隱藏」的應用程式偏好設定的圖形使用者介面,這些偏好設定未在圖形使用者介面中列出。 *需要 香草JS* *:question:翻譯* -* **Set Label Colors / 設定標籤顏色:** 覆蓋預設應用程式標籤顏色。 *需要 香草JS* -* **Set Tool Shortcuts / 設定工具快捷鍵:** 為工具列中的工具設置鍵盤快捷鍵。 *需要 香草JS* -* **Toggle Horizontal-Vertical / 切換 橫排-直排:** 在當前分頁切換橫排(左起)-直排書寫方向。推薦在「系統偏好設定」中設定快捷鍵使用。 -* **Toggle RTL-LTR / 切換 右起-左起:** 在當前分頁切換右起-左起書寫方向。推薦在「系統偏好設定」中設定快捷鍵使用。 -* **Update git Repositories in Scripts Folder / 更新文本資料夾中的 git 儲存庫:** 對 Glyphs 腳本資料夾中的所有子資料夾執行「git pull」指令。如果腳本資料夾中有很多 git 儲存庫就很有用。 *:question:功能* - -## 建構字符(已完成v2) - -*推薦腳本:「引號管理器」,以及用於小型大寫數字、符號和 ​​Ldot 的「構建腳本」。其他腳本主要是為了讓你快速開始覆蓋某些 Unicode 範圍如果客戶有需求。* - -* **Build APL Greek / 建立 APL 希臘字母:** 此腳本可以建立算式用的希臘字母。 -* **Build careof and cadauna / 建立 careof 和 cadauna 符號:** B此腳本可以從你的 `c`、`o`、`u` 和 `fraction` 字母建立 `cadauna` 和 `careof` 字符。 -* **Build Circled Glyphs / 建立圓圈符號:** 此腳本可以從 `_part.circle` 和您的字母和數字,建立圓圈數字和字母(U+24B6...24EA 和 U+2460...2473)。 *需要 香草JS* -* **Build Dotted Numbers / 建立帶點數字:** 此腳本可以從你的標準數字和句號建立帶有點的數字。 -* **Build ellipsis from period components / 從句點組件建立刪節號:** 此腳本在句號字形中插入 exit 和 entry 錨點,並使用句號字形的自動對齊組件重新建構省略號。注意:此腳本會解構在其他字形中使用的句號組件(例如冒號)。 -* **Build Extra Math Symbols / 建立額外的數學符號:** 此腳本可以建立 `lessoverequal`, `greateroverequal`, `bulletoperator`, `rightanglearc`, `righttriangle`, `sphericalangle`, `measuredangle`, `sunWithRays`, `positionIndicator`, `diameterSign`, `viewdataSquare`, `control` 等額外的數學符號。 -* **Build Ldot and ldot / 建立 Ldot 和 ldot 字符:** 此腳本可以從現有的 `L` 和 `periodcentered.loclCAT`(`.case`/`.sc`)建立 `Ldot`、`ldot` 和 `ldot.sc`。假設你已經建立並正確設定好間距 `L`-`periodcentered.loclCAT`-`L` 等等。 -* **Build Parenthesized Glyphs / 建立帶括號的字母和數字:** 建立帶括號的字母和數字: `one.paren`, `two.paren`, `three.paren`, `four.paren`, `five.paren`, `six.paren`, `seven.paren`, `eight.paren`, `nine.paren`, `one_zero.paren`, `one_one.paren`, `one_two.paren`, `one_three.paren`, `one_four.paren`, `one_five.paren`, `one_six.paren`, `one_seven.paren`, `one_eight.paren`, `one_nine.paren`, `two_zero.paren`, `a.paren`, `b.paren`, `c.paren`, `d.paren`, `e.paren`, `f.paren`, `g.paren`, `h.paren`, `i.paren`, `j.paren`, `k.paren`, `l.paren`, `m.paren`, `n.paren`, `o.paren`, `p.paren`, `q.paren`, `r.paren`, `s.paren`, `t.paren`, `u.paren`, `v.paren`, `w.paren`, `x.paren`, `y.paren`, `z.paren`。 -* **Build Q from O and _tail.Q / 將 _tail.Q 和現有的 O 元件組合成 Q:** 請在將 Q 的尾巴轉換為組件(使用 將選取的路徑轉為組件 功能)並命名為 `_tail.Q` 後執行此腳本。 -* **Build Rare Symbols / 建立罕見符號:** 建立白色和黑色的小型和大型圓形、三角形和正方形。 *需要 香草JS* -* **Build rtlm Alternates / 建立 rtlm 替代字符:** 為選定的字符建立水平鏡像組合,並更新 rtlm OpenType 功能。自動對齊組件,但也添加度量鍵,以防您進行拆解。 -* **Build Small Figures / 建立小型數字:** 這個腳本會以一組預設的小型數字 (例如`.dnom`) 為基礎,並以組件複製的方式產生其他數字(例如`.numr`、`superior`/`.sups`、`inferior`/`.sinf`、`.subs`等等),同時也會考慮斜體角度。 *需要 香草JS* -* **Build small letter SM, TEL / 建立小寫字母SM和TEL:** 建立字符:`servicemark`(服務商標)和 `telephone`(電話符號)。 -* **Build space glyphs / 建立空格字符:** 建立 `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`等不同寬度的空格字符。 -* **Build Symbols / 建立符號:** 這個腳本會幫你建立一些符號字符,例如沒有定義的符號字符 `.notdef`,它會以最粗的問號作為參考,還有一個代表估算值的字符 `estimated`。此外,還會建立 `bar` 和 `brokenbar` 字符,並且會遵循標準的垂線和斜體角度。 *需要 香草JS* -* **Fix Punctuation Dots and Heights / 修復標點符號和高度:** 此腳本會同步 ¡!¿? 的標點符號點位置(包括它們的小型大寫、一般大寫版本),並且在變體中移動 ¡¿ 的位置。假設 ¡¿ 是 !? 的組件。詳細報告會顯示在巨集面板中。 -* **Quote Manager / 引號管理器:** 從單引號建立雙引號,並在單引號中插入 `#exit` 和 `#entry` 錨點以進行自動對齊。你需要已經有單引號。 *需要 香草JS* - -## 彩色字型(已完成v1) - -*這些腳本能幫助你在製作彩色字體的工作流程中解決遇到的問題。「合併腳本」主要用於為 CPAL/COLR 字型建立後備字符。這個方式產生的後備字符將會填滿編輯框,且不會在 Chrome 瀏覽器中發生裁切。* - -* **Add All Missing Color Layers to Selected Glyphs / 加入所有遺失的顏色圖層到選定字符中:** 為所選字符在色盤參數定義的每個 (CPAL/COLR) 顏色添加圖層,該圖層從備用層複製並轉換為色盤圖層。該腳本只添加字符中仍然缺少的顏色。 -* **Add sbix Images to Font / 加入sbix圖片到字型中:** 將獲取文件夾中的所有 PNG、GIF、JPG 文件,並在當前字型和主板中使用它們建立 iColor 圖層。文件名格式: `字符名稱 像素尺寸.副檔名` ,例: `Adieresis 128.png` 。 -* **Convert Layerfont to CPAL+COLR Font / 將圖層字型轉換為CPAL+COLR字型:** 將圖層彩色字型轉換為在每個字符中具有 CPAL 和 COLR 層的單一主板字型。它將以第一個主板作為備用字體層。 -* **Delete Non-Color Layers in Selected Glyphs / 刪除選定字符的非顏色圖層:** 刪除所有字符中不是 `色盤` 類型的所有子圖層(CPAL/COLR 層)。 -* **Merge All Other Masters in Current Master / 將所有其他主板合併到當前主板:** 在所選字符中,將所有路徑從其他主板複製到目前主板層。 -* **Merge Suffixed Glyphs into Color Layers / 合併關聯字符到顏色層中:** 將 `x.shadow` 、 `x.body` 和 `x.front` 合併到 `x` 的單獨 CPAL 顏色圖層中。 *需要 香草JS* -* **sbix Spacer / sbix字型空間調整器:** 大量設定 sbix 位置和字符寬度。 *需要 香草JS* - -## 比較當前字型(已完成v2) - -*這些腳本用於同步正體和它們的斜體。打開兩個字型檔,然後運行腳本。它們不會更改你的字型,但會在巨集面板中顯示詳細的報告。* - -* **Compare Font Info > Font / 比較字型資訊 > 字型:** 對於前兩個字型檔,詳細比較字型資訊 > 字型,並在巨集面板中輸出報告。 -* **Compare Font Info > Masters / 比較字型資訊 > 主板:** 對於前兩個字型檔,詳細比較字型資訊 > 主板,並在巨集面板中輸出報告。 -* **Compare Font Info > Instances / 比較字型資訊 > 匯出:** 對於前兩個字型檔,詳細比較字型資訊 > 匯出,並在巨集面板中輸出報告。 -* **Compare Font Info > Features / 比較字型資訊 > 特性:** 對於前兩個字型檔,詳細比較字型資訊 > 特性,並在巨集面板中輸出報告。 -* **Compare Anchors / 比較錨點:** 比較前兩個字型檔之間的錨點結構和錨點高度。 -* **Compare Composites / 比較複合字元:** 報告複合字符的不同結構,例如在一個字型中使用 `acutecomb` 構建的 `iacute`,而在另一個字型中使用 `acutecomb.narrow`。 -* **Compare Glyph Heights / 比較字符高度:** 列出所有在字高方面與第二個字體差異超過給定閾值的字符。 -* **Compare Glyph Info / 比較字符資訊:** 比較開啟的字型,並建立一個差異字符資訊列表,包括Unicode值和分類。 *需要 香草JS* -* **Compare Glyphsets / (翻譯名稱):** 比較前兩個字型檔的字符集,並在巨集面板中輸出報告。 -* **Compare Kerning Groups / 比較調距群組:** 比較前兩個字型檔之間的調距群組,輸出具有差異的群組字符名稱表格。 -* **Compare Metrics / 比較度量:** 比較前兩個字型檔的字形寬度。 -* **Compare Sidebearings / 比較字符邊界:** 比較前兩個字型檔的字符邊界。 - -## 組件(已完成v1) - -*當你使用其他字母構建字母時「使用組件填充背景」非常有用,例如:ae 或 oe,該腳本將會把 e 放在每個母版的背景中,且使用者介面有一個選項可以將選定的點與背景中的 e 對齊。如果你正在使用角落組件製作多母版的襯線字體,「傳播角落組件到其他主板」將為你節省大量時間。* - -* **Alignment Manager / 對齊管理器:** 啟用或停用所選字符中可見圖層上所有組件的自動就定位。與右鍵選單中的命令相同,但您可以一步完成多個字符。 *需要 香草JS* -* **Component Mover / 組件移動器:** 跨選定字符批量編輯(智慧)組件。更改位置、比例和智慧組件屬性。 *需要 香草JS* -* **Component Problem Finder / 組件問題搜尋器:** 搜尋組件和角落組件可能存在的問題:同時包含路徑和部件的組合字符;鎖定、嵌套、孤立、鏡像、平移、旋轉和縮放組件;具有異常組件順序或非正統組件結構的複合字符。也包含未連接和縮放過的角落組件。 *需要 香草JS* -* **Decompose Components in Background / 拆開背景中的組件:** 拆開所選字符的背景圖層。適用於當前主板或所有主板,或所有字型的所有主板。 -* **Decompose Corner and Cap Components / 拆開角落和筆帽組件:** 拆開選定字符中的所有角落和筆帽組件。開啟巨集面板顯示報告。 -* **Find and Replace Components / 置換組件:** 將所選字符中的組件重新連結到新的來源。 *需要 香草JS* -* **Find and Replace Cap and Corner Components / 置換角落和筆帽組件:** 將所選字符中的 `_cap.*` 和 `_corner.*` 組件重新連結到新的角落和筆帽組件。 *需要 香草JS* -* **Find and Replace Corner Components at Certain Angles / 依角度置換角落組件:** 以鈍角或銳角取代角落組件。 *需要 香草JS* -* **Move Paths to Component / 將路徑移動到組件:** 將路徑移動到單獨的字符中,並將它們作為錨定的自動就定位組件插入原本的字符中。非常適合將路徑和組件混雜的字符整理成純組件字符。 *需要 香草JS* -* **Populate Backgrounds with Components / 使用組件填充背景:** 添加組件到所選字符的所有背景中。 *需要 香草JS* -* **Propagate Corner Components to Other Masters / 傳播角落組件到其他主板:** 嘗試在同一字符的所有其他主板中重新建立當前主板圖層的角落組件。請確保你的外框是兼容的。 -* **Remove Components / 刪除組件:** 從選定(或所有)的字符中刪除指定的組件。 -* **Remove Detached Corners / 刪除分離的角落組件:** 從選定(或所有)的字符中移除分離的角落組件。 -* **Stitcher / 打洞器:** 打洞器會以固定間隔在您的路徑上插入組件。用於將開放路徑變成虛線。使用稱為 `origin` 的錨點來確定拼接字母中的組件位置。考慮改用 [ Stitcher 外掛](glyphsapp3://showplugin/Stitcher)。 *需要 香草JS* -* **Sync Components Across Masters / 跨主板同步組件:** 獲取目前圖層的組件,並將所有其他主板重置為相同的組件結構。忽略路徑和錨點。按住 Option 鍵 *刪除* 所有路徑和錨點。 - -## 特性 - -*在製作手寫風格字體時,你可能經常需要「建構位置變體」的腳本。如果你發現自己經常開關 OT 功能,請用看看「啟動預設特性」和「浮動特性」腳本。並到 視窗 > 外掛程式管理員 看看 Set Palette 這個外掛。* - -* **Activate Default Features / 啟動預設特性:** 在目前的編輯分頁中,啟用所有根據規範建議預設開啟的OT功能。 -* **Build ccmp for Hebrew Presentation Forms / 建構希伯來表示形式的ccmp:** 為預組 uniFBxx 字符建構ccmp功能,例如,如果你有 pedagesh,則在你的ccmp中會得到 'sub pe dagesh by pedagesh'。 -* **Build Italic Shift Feature / 建構斜體位移特性:** 建立並插入GPOS功能代碼,用於移動字符,例如,用於形式特性的括號和標點符號。 *需要 香草JS* -* **Build Positional Feature / 建構位置變體特性:** 尋找 .`init``.medi``.fina` 和 `.isol` 字符,並將位置取代代碼注入到你的calt特性(或其他你指定的特性)。如果再次運行,將 *更新* 類別和特性代碼。詳細資訊可參考此教程:https://glyphsapp.com/learn/features-part-4-positional-alternates *需要 香草JS* -* **Build rand Feature / 建構 rand 特性:** 從 .cvXX 或其他(編號的)後綴建構 rand(隨機)特性。 *需要 香草JS* -* **Feature Code Tweaks / 特性代碼微調:** 對OT特性代碼進行微調。在巨集面板中顯示報告。請小心使用:如果你不理解某個選項,請勿使用。 *需要 香草JS* -* **Find in Features / 在特性中搜尋:** 在OT特性、前綴和類別中搜尋表達式(字符、搜尋或類別名稱)。 *需要 香草JS* -* **Floating Features / 浮動特性:** 用於啟用和停用OT特性的浮動面板。與彈出菜單具有相同的功能。 *需要 香草JS* -* **Fraction Fever 2 / 分數瘋狂2:** 將Tal Leming 的 Fraction Fever 2 代碼插入字型中。詳細信息請參考此教程:https://glyphsapp.com/learn/fractions -* **New OT Class with Selected Glyphs / 使用所選字符建立新的OT類別:** 用於使用所選字符建立新的OT類別的圖形用戶界面。 *需要 香草JS* -* **New Tab with OT Class / 使用OT類別打開新分頁:** 用於在新分頁中打開所有OT類別中的字符(列在 *文件 > 字體資訊 > 特性 > 類別* 中)的圖形用戶界面。 *需要 香草JS* -* **Update Features without Reordering / 更新特性而不重新排序:** 瀏覽字型中現有的特性,並刷新每一個。既不添加特性,也不重新排序。 -* * **Stylistic Sets > Synchronize ssXX glyphs / 文樣集 > 同步 ssXX 字形:** 建立缺失的 ssXX 字符,使你擁有同步的 ssXX 字符組。例如,如果你有 *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> 該腳本將建立 *b.ss02*。 -* * **Stylistic Sets > Create ssXX from layer / 文樣集 > 從圖層建立 ssXX:** 使用當前圖層將其複製到新的 .ssXX 字符的主要圖層。 -* * **Stylistic Sets > Create pseudorandom calt feature / 文樣集 > 建立虛擬隨機calt特性:** 基於字型中現有的ssXX字形數量,建立基於偽隨機的calt(上下文取代)特性。還包括在旋轉算法中的默認類別。 -* * **Stylistic Sets > Set ssXX Names / 文樣集 > 設置 ssXX 名稱:** 使用‘Alternate’或其他選擇的文本,以及第一個取代的字符名稱,預先填充ssXX特性的名稱,例如‘Alternate a’。也可以選擇保留現有的命名。 *需要 香草JS* - -## 字型資訊(已完成v1) - -*「垂直度量管理器」對於在 字型資訊 視窗的 字型 和 主板 分頁中尋找和同步垂直度量參數很好用。「清除版本字串」也非常好用。「字型資訊批量設定器」是在多個字型檔之間同步字型資訊設定的必備工具。留意「設定 WWS/Preferred 名稱」腳本:Glyphs 通常會自動處理命名,因此使用它們的機會非常少。* - -* **Clean Version String / 清除版本字串:** 添加一個乾淨的 版本字串 參數,並禁用版本字串中的 ttfAutohint 訊息。導出的字型將具有僅包含“Version X.XXX”的版本字符串。 *:question:ttfAutohint功能* -* **Find and Replace in Font Info / 尋找與取代字型資訊:** 尋找與取代在 *字型資訊 > 字型* 和 *字型資訊 > 匯出* 中的名稱。(不包含本地化名稱和數值) *需要 香草JS* -* **Find and Replace In Instance Parameters / 尋找與取代匯出的參數:** 尋找和取代在目前字型或項目文件中選定樣式的自定義參數。 -* **Font Info Batch Setter / 字型資訊批次設定器:** 批次設定已開啟字型的 *字型資訊 > 字型* 數值:包含設計師、設計師 URL、製造商、製造商 URL、版權、版本號、日期和時間。對於跨多種字型同步字型資訊設定很有用。 *需要 香草JS* -* **Font Info Overview / 字型資訊概覽:** 列出所有已開啟字型檔的部分字型資訊數值。 *:question:功能?* -* **Prepare Font Info / 準備字型資訊:** 通過設定部分自定義參數,為現代字型製作和 git 工作流程準備開放字體 *:question:開源?* 。 *需要 香草JS* -* **Remove Custom Parameters / 刪除自定義參數:** 從字型資訊 > 字型、主板、匯出中刪除其中一種類型的所有參數。如果您有許多主板或樣式就會很有用。 *需要 香草JS* -* **Set Preferred Names (Name IDs 16 and 17) for Width Variants / 為寬度變體設定首選名稱:** 為所有樣式設定首選名稱的自定義參數(名稱 ID 16 和 17),以便使寬度變體顯示在 Adob​​e 應用程序的單獨清單中。 -* **Set Style Linking / 設定樣式連結:** Attempts to set the Bold/Italic bits.嘗試設置粗體/斜體位。 *:question:不懂名詞bit* -* **Set Subscript and Superscript Parameters / 設定下標和上標參數:** 測量您的上標和下標圖形並導出下標/上標 X/Y 偏移/尺寸參數。 *需要 香草JS* *:question:沒用過* -* **Set WWS Names (Name IDs 21 and 22) / 設定 WWS 名稱(名稱 ID 21 和 22):** 在必要時為所有樣式設定 WWS 自定義參數(名稱 ID 21 和 22):將除 RIBBI 之外的所有訊息放入 WWSFamilyName,並且僅保留 WWSSubfamilyName 的 RIBBI。 *:question:名詞釋義?* -* **Style Renamer / 樣式改名器:** 將名稱詞綴批次加入到您的樣式名稱中,或將其從樣式名稱中批次刪除。用於將所有樣式從斜體轉換為羅馬體的名稱,反之亦然。 *需要 香草JS* -* **Vertical Metrics Manager / 垂直度量管理器:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics).計算並插入 OS/2 usWin 和 sTypo、hhea 和 fsSelection 位 7 的值(用於優先使用 sTypo 指標而不是 usWin 指標)。*:question:不懂名詞bit* *需要 香草JS* - -## 字形名稱、註釋和 Unicode(已完成v1) - -*大多數腳本使管理字符名稱和 Unicode 更簡單一點。「垃圾收集」對於在將文件移交給第三方之前清理回報器腳本或其他註釋的雜亂很有用。* - -* **Add PUA Unicode Values to Selected Glyphs / 添加 PUA Unicode 值到選定的字符:** 將所選字符套用使用者自訂義的 Unicode 值。 *需要 香草JS* -* **Color Composites in Shade of Base Glyph / 添加關聯的字符顏色標籤:** 基於基本字符添加較淡的字符顏色標籤。例如:如果 A 的顏色標籤是紅色,則 ÄÁÀĂ... 等相關聯字符將添加較淡的淺紅色標籤。 -* **Convert to Uppercase / 轉換為大寫:** 將小寫名稱轉換為大寫名稱,例如: `a` → `A`, `ccaron` → `Ccaron`, `aeacute` → `AEacute` ...等。 -* **Convert to Lowercase / 轉換為小寫:** 將選定字符的名稱轉為小寫。 -* **Encoding Converter / 編碼轉換器:** 基於具有重命名方案的可導入/可導出文本,將舊的專家 8 位編碼轉換為 Glyphs 漂亮的名稱。默認是 AXt 轉換方案。Converts old expert 8-bit encodings into Glyphs nice names, based on a importable/exportable text with renaming scheme. Default is an AXt converting scheme. *需要 香草JS* -* **Garbage Collection / 垃圾收集:** 刪除字符中的標記,例如節點名稱、字符名稱或註釋以及參考線。 -* **New Tab with Uppercase-Lowercase Inconsistencies / 新分頁-大小寫不一致:** 打開一個新分頁,其中包含所有大小寫不一致的字符。在巨集面板中列出詳細報告。 -* **Production Namer / 生產名稱:** 覆蓋默認的生產名稱。默認是在遺留 PDF 工作流程中產生問題的常見主題:mu、onesuperior、twosuperior、threesuperior。Override default production names. Default are the usual subjects which create problems in legacy PDF workflows: mu, onesuperior, twosuperior, threesuperior. *需要 香草JS* -* **Rename Glyphs / 重命名字符:** 獲取 `oldglyphname=newglyphname` 清單並相應的重命名字型中的字符,類似於自訂義參數 *Rename Glyphs* 。 *需要 香草JS* -* **Reorder Unicodes of Selected Glyphs / 重新排序所選字符的 Unicode:** 重新排序 Unicode,使默認 Unicode 排在第一位。 -* **Switch Mirrored Characters / 切換鏡像字元:** 在目前編輯畫面中,切換鏡像雙向字元,例如 () 到 )( 。用於在分頁中切換書寫方向後,切換括號和引號。 - -## 參考線(已完成v1) - -*這些腳本主要用於清理在處理第三方字體時看到的過多參考線。* - -* **Guides through All Selected Nodes / 生成通過所有已選節點的參考線:** 在目前字符中穿過所有已選擇節點放置參考線。盡量避免參考線重複。 -* **Remove Global Guides in Current Master / 刪除目前主板的全域參考線:** 刪除目前主板中的所有全域(紅色)參考線。 -* **Remove Local Guides in Selected Glyphs / 刪除已選擇字符的區域參考線:** 刪除選定字符中的所有區域(藍色)參考線。 -* **Select All Global Guides / 全選全域參考線:** 在編輯區域中選擇所有全域(紅色)參考線。如果你有很多並且需要批次轉換它們會非常有用。 -* **Select All Local Guides / 全選區域參考線:** 選擇所有區域(藍色)參考線(在所有已選擇的字符中)。 - -## 字體微調 - -*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.推薦腳本:「設定 blueScale」「為 PostScript 提示設置系列對齊區域」。如果你要進行大的更改,「Transfer」和「Keep Only」腳本可以為你節省大量工作。「新標籤」腳本有助於找到字形缺失區域。為此,還可以考慮路徑 > 搜尋近垂直未命中。* *:question:翻譯 專業領域暫時擱置* - -* **Add Alignment Zones for Selected Glyphs / (翻譯名稱):** Creates fitting zones for the selected glyphs in all masters. *需要 香草JS* -* **Add Hints for Selected Nodes / (翻譯名稱):** Adds hints for the selected nodes. Tries to guess whether it should be H or V. If exactly one node inside a zone is selected, it will add a Ghost Hint. Useful for setting a shortcut in System Prefs. -* **Add TTF Autohint Control Instructions for Current Glyph / (翻譯名稱):** Adds a touch line for a given up/down amount to the Control Instructions of the current instance. *需要 香草JS* -* **BlueFuzzer / (翻譯名稱):** Extends all alignment zones by the specified value. Similar to what the blueFuzz value used to do, hence the name. *需要 香草JS* -* **Keep Only First Master Hints / (翻譯名稱):** In selected glyphs, deletes all hints in all layers except for whatever is ordered as first master. Respects Bracket Layers. E.g., if your first master is 'Regular', then the script will delete hints in 'Bold', 'Bold [120]', but keep them in 'Regular' and 'Regular [100]'. -* **New Tab with Glyphs in Alignment Zones / (翻譯名稱):** Opens a new tab and lists all glyphs that reach into alignment zones. -* **New Tabs with Glyphs Not Reaching Into Zones / (翻譯名稱):** Opens a new tab with all glyphs that do NOT reach into any top or bottom alignment zone. Only counts glyphs that contain paths in the current master. Ignores empty glyphs and compounds. *需要 香草JS* -* **New Tab with Layers with TTDeltas / (翻譯名稱):** Opens a new tab with all layers that have defined TTDeltas. -* **Remove PS Hints / (翻譯名稱):** Deletes all stem and/or ghost hints throughout the current font, the selected master and/or the selected glyphs. *需要 香草JS* -* **Remove TT Hints / (翻譯名稱):** Deletes a user-specified set of TT instructions throughout the current font, the selected master and/or the selected glyphs. *需要 香草JS* -* **Remove Zero Deltas in Selected Glyphs / (翻譯名稱):** Goes through all layers of each selected glyph, and deletes all TT Delta Hints with an offset of zero. Detailed Report in Macro window. -* **Set blueScale / 設定 blueScale:** Sets maximum blueScale value (determining max size for overshoot suppression) possible in Font Info > Font. Outputs other options in Macro window. -* **Set Family Alignment Zones / (翻譯名稱):** Pick an instance and set its zones as Family Alignment Zones in *Font Info > Font > Custom Parameters.* *需要 香草JS* -* **Set TT Stem Hints to Auto / (翻譯名稱):** Sets all TT stem hints to ‘auto’ in selected glyphs. -* **Set TT Stem Hints to No Stem / (翻譯名稱):** Sets all TT stem hints to ‘no stem’ in selected glyphs. In complex paths, it can improve rendering on Windows. -* **Set TTF Autohint Options / (翻譯名稱):** Set options for existing 'TTF Autohint Options' Custom Parameters. *需要 香草JS* -* **Transfer Hints to First Master / (翻譯名稱):** Copies PS hints from the current layer to the first master layer, provided the paths are compatible. Reports errors to the Macro window. -* **TT Autoinstruct / (翻譯名稱):** Automatically add Glyphs TT instructions to the selected glyphs in the selected master. (Should be the first master.) Attention: this is NOT Werner Lemberg's ttfAutohint, but the manual TT hints that the TT Instruction tool (I) would add through the context menu item of the same name. Useful for adding hints in many glyphs at once. - -## 圖片(已完成v1) - -*主要用於解決處理大量(背景)圖像時可能遇到的頭痛問題。* - -* **Add Same Image to Selected Glyphs / 將相同圖片添加到已選擇字符:** 要求您提供圖片,然後將其作為背景圖片插入到目前所有已選擇的字符中。 -* **Adjust Image Alpha / 調整圖片透明度:** 以滑桿介面設定所選字符中的圖片透明度。 *需要 香草JS* -* **Delete All Images in Font / 刪除字型中的所有圖片:** 刪除整個字型中所有放置的圖片。 - -* **Delete Images / 刪除圖片:** 刪除放置在所選字符可見圖層中的所有圖片。 -* **Reset Image Transformation / 重置圖片變形:** 將所有圖片變形參數(x/y 平移、縮放和變形)重置為所選字符中可見圖層的預設值。 -* **Set New Path for Images / 為圖片設定新路徑:** Resets the path for placed images in selected glyphs. Useful if you have moved your images.重置所選字符中放置圖片的路徑。如果您移動了圖片,這很有用。 *:question:圖片有路徑?* -* **Toggle Image Lock / 切換圖片鎖定:** 以浮動視窗按鈕鎖定或解鎖所有選定字符中的圖片。 *需要 香草JS* -* **Transform Images / 變形圖片:** 用於在已選擇字符的可見圖層中,以浮動視窗界面批次變形圖片(x/y 平移和 x/y 縮放)。 *需要 香草JS* - -## 插值 - -*推薦腳本:「插入實體」(用於確認你的實體及其樣式正確的對應)、「拗折尋找」 和 「尋找變形字符」。作者經常搭配快捷鍵使用「顯示上/下一個實體」這個腳本。* - -* **Axis Location Setter / 軸位置設定器:** 批量為所有具有特定名稱字節的主板設定軸位置。例如,為所有Condensed主板設定一個軸位置。 *需要 香草JS* -* **Axis Mapper / 軸映射器:** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. 提取、重置並插入Axis Mappings參數的'avar'軸映射。 *需要 香草JS* -* **Brace and Bracket Manager / 花括號和方括號管理器:** 在Glyphs 3及更高版本中搜尋並取代花括號或方括號圖層的坐標。 *需要 香草JS* -* **Composite Variabler / 合成變數:** 在使用它們的組件中,將組件的花括號和方括號圖層複製一份。使合成中的方括號圖層運作正常。 *需要 香草JS* -* **Copy Layer to Layer / 複製圖層到圖層:** 從一個主板圖層複製路徑(可選擇性地還包括組件、錨點和度量),然後黏貼到另一個主板圖層。 *需要 香草JS* -* **Dekink Masters / 消除扭結主板:** 去除所有兼容圖層中的節點扭結(如果它們不是水平或垂直的話很有用)。選擇一個或多個產生扭結的節點,運行此腳本將其他所有主圖層中的相應節點移動到相同的相對位置。因此,你在所有主圖層中實現相同的點比例,避免在角度變化時產生節點扭結。有一個 [描述它的影片](http://tinyurl.com/dekink-py)。這個三元組問題在 [這個教程中有描述](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)。 -* **Fill up Empty Masters / 填滿空白主板:** 複製一個主板的路徑到另一個,當目標主板為空白時。 *需要 香草JS* -* **Find and Replace in Layer Names / 在圖層名稱中搜尋並取代:** 取代所選字符的所有圖層名稱(除了主板圖層)中的文本。如果在許多字符中使用花括號技巧,這很有用。 *需要 香草JS* -* **Find Shapeshifting Glyphs / 搜尋形狀變化的字符:** 搜尋在插值時更改路徑數量的字符。打開新的分頁並在巨集面板中報告。 *需要 香草JS* -* **Insert Brace Layers for Component Rotation / 插入用於組件旋轉的花括號圖層:** 插入一些連續縮放和旋轉的組件的花括號圖層。對於帶有旋轉元素的OTVar插值很有用。 *需要 香草JS* -* **Insert Brace Layers for Movement along Background Path / 插入用於沿著背景路徑移動的花括號圖層:** Inserts a number of Brace Layers with copies of the first layer, shifted according to the first path in the background. Useful for OTVar interpolations with moving elements. 插入一些帶有第一圖層的複本的花括號圖層,根據背景中的第一路徑進行偏移。對於帶有移動元素的OTVar插值很有用。 -* **Insert Instances / 插入實體:** 用於計算並插入字重實體的圖形用戶界面。該教程學中有詳細描述:https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances *需要 香草JS* -* **Insert Layers / 插入圖層:** 批量在所選字符中插入花括號或方括號圖層。 *需要 香草JS* -* **Instance Cooker / 實體烹飪器:** 使用配方一次性插入多個實體。 *需要 香草JS* -* **Kink Finder / 扭結尋找:** 在輪廓或插值空間中搜尋扭結,並在巨集面板中報告它們,同時打開一個包含受影響字符的新分頁。有關紐結的訊息可參考此教學:https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible *需要 香草JS* -* **New Tab with Dangerous Glyphs for Interpolation / 打開包含插值風險字符的新分頁:** 打開一個包含字型中至少兩個兼容元素的所有字符的分頁。即,包含一個元素(路徑或元件)可能與錯誤元素進行插值的字符,例如等號。有關詳細訊息,請參閱此教學中的謹慎使用部分:. -* **New Tab with Special Layers / 打開包含特殊圖層的新分頁:** 快速添加一個包含所有包含花括號和方括號圖層字符的新編輯分頁。 -* **New Tab with Uneven Handle Distributions / 打開包含不均勻控制桿分佈的新分頁:** 搜尋控制柄分佈變化過大的字符(例如,從均衡到和諧的變化)。 *需要 香草JS* -* **OTVar Player / OTVar播放器:** 以沿著字重軸的循環方式播放目前字符的動畫。 *需要 香草JS* -* **Remove All Non-Master Layers / 刪除所有非主板圖層:** 刪除既不是主板圖層,也不是花括號圖層或方括號圖層的所有圖層。有助於清理備份圖層。 -* **Report Instance Interpolations / 報告實體插值:** 在巨集面板中輸出每個實體的主板係數。告訴你在插值特定實體時涉及哪些主板和程度。 -* **Reset Axis Mappings / 重置軸映射:** 為字型中目前存在的所有樣式值插入(或重置)默認的軸映射參數。忽略超出主板所定義設計空間範圍的樣式值。 -* **Set Weight Axis Locations in Instances / 在實體中設置字重軸位置:** 將為所有實體設置字重軸位置參數,並將其與相應的usWeightClass同步。如果尚未設置寬度軸座標,則將其設置為usWidthClass的規範默認值。否則將保持不變。 -* **Short Segment Finder / 短線段搜尋器:** 遍歷所有插值,搜尋短於用戶指定閾值長度的線段。 *需要 香草JS* -* **Travel Tracker / 旅行追蹤器:** 搜尋插值中點位移超過應有範圍的情況,即可以找到連接錯誤的星號和斜線。結果不完善,且通常會有很多誤報,但有時可以找到Shapeshifter腳本錯過的情況。 *需要 香草JS* -* **Variation Interpolator / 變體插值器:** 建立由用戶定義的字符變體數量,帶有用戶定義的後綴,其中包含圖層與其相應背景之間的插值。覆蓋相同名稱的字符。類似於Pablo Impallari的SimplePolator。例如,對於長度變體的天城體Matra很有用,請參見José Nicolás Silva Schwarzenberg的示範視頻:。 *需要 香草JS* -* * **Other > Lines by Master / 每個主板一行字:** 透過每個主板呈現你的編輯文本內容,將在編輯視窗中為每個主板圖層添加一行文本。謹慎使用,將覆蓋第一個換行符後的所有內容。用於在系統偏好設定中添加快捷鍵。 -* * **Other > New Tab with Masters of Selected Glyphs / 其他 > 打開包含所選字符主板圖層的新分頁:** 打開一個新的編輯分頁,其中包含所選字符的所有主板圖層。 -* * **Other > Show Masters of Next/Previous Glyph / 其他 > 顯示上/下一個字符的主板圖層:** 允許你逐個字符地查看所有主板圖層。結合了顯示上/下一個字符功能(fn+左/右)和 *編輯 > 顯示所有主板* 功能。方便在系統偏好設定中設定快捷鍵。 -* * **Other > Show Next/Previous Instance / 其他 > 顯示上/下一個實體:** 跳轉到目前編輯分頁預覽部分中的上/下一個實體。方便在系統偏好設定中設定快捷鍵。 - -## Kerning 調距 - -*推薦腳本:「自動緩衝器」、「KernCrasher」、「GapFinder」、「示例字符串製造器」。如果你有太多的 kerning,請考慮使用「異常清除器」。* - -* **Adjust Kerning in Master / 調整主板調距:** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. 通過圖形用戶界面為所有調距字偶添加一個值,將它們乘以一個值,按一個值四捨五入,或將它們限制在一個值內。*:question:round的意思?* *需要 香草JS* -* **Auto Bumper / 自動調整器:** 指定最小距離、左邊和右邊的字符,自動調整器將為當前主圖層添加最小必要的調距。 *需要 香草JS* -* **BBox Bumper / 邊界框調整器:** 與自動調整器類似,但使用一組字符的邊界框,並將字距插入為GPOS特徵代碼,在 字型資訊 > 特性 > kern 中。如果要使用與字距群組不同的類進行群組字距調整,這很有用。 *需要 香草JS* -* **Convert RTL Kerning from Glyphs 2 to 3 / 將Glyphs 2中的RTL字距轉換為Glyphs 3格式:** 將Glyphs 2中的RTL調距轉換為Glyphs 3格式並切換調距類別。 (按住OPTION和SHIFT鍵可將Glyphs 3轉換回Glyphs 2。)在巨集面板中有詳細的報告。 -* **Copy Kerning Exceptions to Double Accents / 將調距例外複製到雙重附加符號:** 將具有 `acircumflex`, `ecircumflex`, `ocircumflex`, `udieresis` 的調距例外複製到越南語和拼音的雙重附加符號中。 -* **Exception Cleaner / 例外清理器:** 將每個例外與相同對的調距群組進行比較。如果差異在一個閾值以下,則刪除該調距例外。 *需要 香草JS* -* **Find and Replace in Kerning Groups / 在調距群組中搜尋與取代:** 用於在左右調距群組中搜索和取代文本的圖形用戶界面,例如將 'O' 取代為 'O.alt'。將搜尋欄位留空以進行附加。 *需要 香草JS* -* **GapFinder / 間隙搜尋器:** 在當前字型主板中打開一個新的分頁,其中包含具有大間隙的調距組合。 *需要 香草JS* -* **Import Kerning from .fea File / 從 .fea 文件導入調距:** 選擇一個包含 AFDKO 代碼中 kern 特徵的 .fea 文件,此腳本將嘗試將調距值導入到最前面的字型主板中(參見 *視窗 > 調距*)。 -* **KernCrash Current Glyph / 調距衝突檢查(目前字符):** 打開一個包含與目前字符在目前字型主板中發生衝突的調距組合的新分頁。 -* **KernCrasher / 調距衝突檢查器:** 在當前字型主板中打開一個包含調距組合衝突的新分頁。 *需要 香草JS* -* **Kern Flattener / 調距平坦化工具:** 複製您的字型,將字距平坦化為僅字符對字符的調距,刪除所有調距群組並僅保留相關配對(具有內置列表),為每個實體添加一個 *匯出字距表* 參數(以及其他一些參數)。警告:僅在需要使您的調距與過時且不完善的軟體(如PowerPoint)相容時才這樣做。儘管如此,不能保證其有效性。 -* **Kern String Mixer / 調距字串混合器:** 將兩組字符(也可能是標記)相互交叉,以獲得所有可能的字符組合。 *需要 香草JS* -* **New Tab with All Group Members / 包含所有群組成員的新分頁:** 選擇兩個字符,例如 'Ta',運行該腳本,它將打開一個新分頁,其中包含 'T' 的右調距群組與 'a' 的左調距群組的所有組合。 -* **New Tab with Glyphs of Same Kerning Groups / 包含相同調距群組的字符的新分頁:** 打開一個新分頁,其中包含當前字符左右調距群組的所有成員。 -* **New Tab with Kerning Missing in Masters / 缺失調距的主板的新分頁:** 為每個主板打開新分頁,顯示在該主板中缺失但在其他主板中存在的調距。 -* **New Tab with Large Kerning Pairs / 過大調距字偶的新分頁:** 列出所有超出給定閾值的正向和負向調距字偶。 *需要 香草JS* -* **New Tab with Overkerned Pairs / 過度調距字偶的新分頁:** 詢問閾值百分比,並打開一個新分頁,其中包含所有超出寬度閾值的負向調距字偶。例如:對於閾值為40%和寬度為160的逗號,腳本將報告任何逗號的負向調距字偶大於64(等於160的40%)。假設 r-逗號的調距為 -60,而 P-逗號的調距為 -70。在這種情況下,它將回報後者,但不是前者。 *需要 香草JS* -* **New Tab with Right Groups / 右調距群組的新分頁:** 建立一個新分頁,其中包含每個右調距群組的一個字符。用於檢查右調距群組的一致性。 -* **New Tab with all Selected Glyph Combinations / 包含所有選定字符組合的新分頁:** 使用您選定的字符,打開一個包含所有可能字母組合的新分頁。同時輸出一個字符串,以便將其複製到巨集面板中,以防分頁打開失敗。 -* **New Tab with Uneven Symmetric Kernings / 包含不均勻對稱調距的新分頁:** 查找對稱字母(如ATA AVA TOT WIW等)的調距字偶,並查看AT是否與TA相同之類的。 -* **New Tabs with Punctuation Kern Strings / 包含標點符號調距字符串的新分頁:** 輸出帶有標點符號的調距字符串的多個分頁。 -* **Remove all Kerning Exceptions / 刪除所有調距例外:** 刪除當前主板的所有調距,除了群組對群組的調距。請小心操作! -* **Remove Kerning Between Categories / 刪除類別間的調距:** 刪除字符、類別、子類別、文字之間的調距。 *需要 香草JS* -* **Remove Kerning Pairs for Selected Glyphs / 刪除所選字符的調距字偶:** 僅刪除當前主板中與所選字符相關的所有調距字偶。 -* **Remove Orphaned Group Kerning / 刪除孤立的調距群組:** 刪除字型中所有指向不存在群組的調距群組。 -* **Remove Small Kerning Pairs / (翻譯名稱):** Removes all kerning pairs in the current font master with a value smaller than specified, or a value equal to zero. Be careful. *需要 香草JS* -* **Report Kerning Mistakes / (翻譯名稱):** Tries to find unnecessary kernings and groupings. Reports in Macro window, for reviewing. -* **Sample String Maker / 示例字符串製造器:** Creates kern strings for user-defined categories and adds them to the Sample Strings. Group kerning only, glyphs without groups are ignored. *需要 香草JS* -* **Set Kerning Groups / (翻譯名稱):** Sets left and right kerning groups for all selected glyphs. In the case of compounds, will use the groups of the base components, otherwise makes an informed guess based on a built-in dictionary. -* **Steal Kerning from InDesign / (翻譯名稱):** Steals the kerning from text set in InDesign. Useful for extracting InDesign’s [Optical Kerning](https://web.archive.org/web/20160414170915/http://blog.extensis.com/adobe/about-adobe’s-optical-kerning.php) values. -* **Steal Kerning Groups from Font / (翻譯名稱):** Steals left/right kerning groups for all selected glyphs from a 2nd font. *需要 香草JS* -* **Zero Kerner / (翻譯名稱):** Add group kernings with value zero for pairs that are missing in one master but present in others. Helps preserve interpolatable kerning in OTVar exports. *需要 香草JS* - -## 路徑(已完成v2) - -*我使用「以錨點為中心旋轉」功能來處理星號符號。在輪廓檢查中非常重要:「路徑問題搜尋器」、「尋找近垂直缺失」和「節點綠藍管理器」。在 OTVar 製作中,「Rewire Fire」 變得越來越重要,因為它有助於減少形狀邊緣重疊輪廓線段(這會在反鋸齒中造成暗斑)。* - -* **Align Selected Nodes with Background / 對齊選取節點與背景:** 將選取的節點與最近的背景節點對齊,除非它已經被先前移動的節點佔用。類似於使用 Cmd-Shift-A 將單個節點與背景對齊,但可針對多個節點。 -* **Batch-Set Path Attributes / 批次設置路徑屬性:** 設定所選字符、主板、字型等中所有路徑的路徑屬性。 *需要 香草JS* -* **Copy Glyphs from Other Font into Backup Layers / 從其他字型複製字符到備份圖層:** 在目標字型中為所選字符建立備份圖層,並使用來源字型中相應的字符填充它們。如果您想要將一個字型的字符作為括號層添加到另一個字型中,這非常有用。 *需要 香草JS* -執行有問題? -* **Distribute Nodes / 均分節點:** 水平或垂直均分節點(取決於所選範圍的寬高比)。 -* **Enlarge Short Segments / 放大單位線段:** 將線段長度小於一個單位的線段加倍。 -小於一單位? -* **Fill Up with Rectangles / 填滿矩形:** 遍歷所選字符,如果發現空白字符,則插入一個佔位符矩形。對於快速構建用於測試的虛擬字型非常有用。 -* **Find Close Encounters of Orthogonal Line Segments / 找出靠近但未完全對齊的直角線段交會點:** 遍歷所有垂直和水平線段,並找到接近但未完全對齊的線段對。 *需要 香草JS* -* **Find Near Vertical Misses / 尋找近垂直缺失:** 找到靠近但不完全在垂直度量上的節點。 *需要 香草JS* -* **Green Blue Manager / 節點綠藍管理器:** 定義一個角度,節點在該角度之上被設置為藍色,在該角度之下被設置為綠色。 *需要 香草JS* -* **Grid Switcher / 格線單位切換器:** 通過點擊浮動按鈕在兩個用戶定義的格線單位之間切換。 *需要 香草JS* -* **Harmonise Curve to Line / 協調曲線與直線:** 將(選定的)曲線線段上的控制手柄重新排列,以便與後面的直線段之間的過渡是平滑的(匹配)。 -功能原理不明? -* **Interpolate two paths / 插值兩條路徑:** 選擇兩個路徑並運行此腳本,它將以50%的插值取代它們。(節點數量需一致) -* **New Tab with Small Paths / 開新分頁-小路徑:** 打開一個包含小於用戶定義閾值大小(平方單位)的路徑的新標籤頁。-小於用戶定義單位? -* **Path Problem Finder / 路徑問題搜尋器:** 在輪廓中搜尋各種潛在問題,並打開一個包含受影響圖層的新分頁。 *需要 香草JS* -* **Position Clicker / 位置點擊器:** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping.搜尋那些在重疊時兩個形狀不能良好對齊的位置,並列出它們的組合。重疊的兩個形狀在同一個位置有共同的點坐標。-功能待測試 *需要 香草JS* -* **Realign BCPs / 重新對齊貝茲曲線控制點:** Realigns all BCPs in all selected glyphs. Useful if handles got out of sync, e.g. after nudging or some other transformation, or after interpolation. Hold down Option to apply to all layers of the selected glyph(s).重新對齊所選字符中的所有貝茲曲線控制點。 如果控制柄失去同步,例如在微調或其他轉換之後或在插值之後,此腳本非常有用。按住Option鍵以將其應用於所選字形的所有圖層。-功能待測試 -* **Remove all Open Paths / 刪除所有開放路徑:** 刪除所有所選字符的可見圖層中的 開放 路徑。 -* **Remove Nodes and Try to Keep Shape / 刪除節點並儘可能保持形狀:** 刪除所選擇的節點,並儘可能保持形狀。類似於刪除單個節點時發生的情況,但針對多個節點的選擇。專業提示:在運行腳本時按住Shift鍵,它也會盡可能平衡剩餘的控制柄,這正是刪除單個節點時發生的情況。 -* **Remove Short Segments / 刪除短線段:** 刪除線段長度小於一個單位的線段。-功能待測試 -* **Remove Stray Points / 移除零散的點:** 在所選字形中刪除零散的點(僅有一個節點的路徑)。注意:零散的點可以被用來快速禁用自動對齊。腳本將在巨集面板詳細報告。 -* **Rewire Fire / 重整連線:** 尋找、選取並標記重複的座標。通常兩個在相同位置的節點可以使用重新連接節點功能進行重整。 *需要 香草JS* -* **Rotate Around Anchor / 環繞錨點旋轉:** 圖形使用者介面,用於繞「rotate」錨點旋轉選擇的字符或節點、組件。可以進行角度、方向和重複次數的設定。 *需要 香草JS* -* **Set Transform Origin / 設定變形原點:** 一個簡單的GUI,用於以數值方式設定旋轉工具的變形原點。也應該對縮放工具有影響。 *需要 香草JS* -* **Straight Stem Cruncher / 字幹壓縮器:** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. 可以檢查字型中是否有部分字符的字幹(如直的線條)偏離了指定的標準大小。它會列出這些有問題的字符,方便使用者進一步修正。 *需要 香草JS* -功能待測試 -* **Tunnify:** 尋找至少有一個控制桿被選中的所有路徑段。接著,平均調整這些路徑段的控制桿,即兩個控制桿的擬合曲線百分比將相同。可以修復Adobe Illustrator的零控制桿問題(即將一個控制桿縮回到最近的節點中)。這個腳本的靈感來自Eduardo Tunni(由Pablo Impallari傳達),因此得名。但是我沒有看過Eduardo的算法,因此我的實現可能與他的有些不同,尤其是對於零控制桿的處理。 - -## 像素字型(已完成v1) - -*這些腳本在像素字型的工作流程中都很有用,它們能幫助你在較粗的網格中放置像素組件。如果你正在進行像素設計,請看看 窗口 > 外掛程式管理員 中可用的像素相關外掛。* - -* **Align Anchors to Grid / 對齊錨點與網格:** 將變音符號錨點對齊到字型網格上。 -* **Delete Components out of Bounds / 刪除邊界外的組件:** 如果組件放置在遠離平常坐標的地方(通常發生在當您使用 cmd 加方向鍵在低網格密度中移動組件時),此腳本將刪除它們。 -* **Delete Duplicate Components / 刪除重複組件:** 尋找重複的組件(相同名稱和位置)並只保留一個。這個情況經常在建立像素字型時發生。 -* **Flashify Pixels / Flash化像素:** 創造小接口以避免路徑交錯產生的白色區域,這對於 Flash 字體渲染器來說尤其是一個問題,這也是此腳本名稱的由來。 -* **Reset Rotated and Mirrored Components / 重置被旋轉和鏡像的組件:** 尋找被縮放、鏡像和旋轉的組件並將它們恢復為預設的比例和方向,但不更動其位置。用於修復被鏡像的像素。 - -## 小體大寫字母(已完成v1) - -*當製作中的字體包含小體大寫字母時,可以執行「檢查小體大寫字母一致性」。不過請對它的報告持保留態度:它列出了許多誤報,而且也不是每個警告都這麼重要。* - -* **Check Smallcap Consistency / 檢查小體大寫字母一致性:** 對您的小體大寫字母集執行一些測試並在巨集面板列出報告,尤其是調距群組和字符集。 -* **Copy Kerning from Caps to Smallcaps / 將大寫字母的調距數值複製到小體大寫字母:** 將大寫字母的調距字偶複製到相應的小體大寫字母,如果它們包含在字型中。請注意:將覆蓋現有的小體大寫字母的調距字偶。 - -## 間距 - -*推薦腳本:「修復數學運算符間距」、「括號度量管理器」,如果你的字型中有箭頭可以試試「修復箭頭定位」。「新增分頁」腳本在建立數字時也很好用。* - -* **Add Metrics Keys for Symmetric Glyphs / 為對稱字形添加度量鍵:** 如果在所有主要字符中RSB與LSB相同,將添加RSB =|。 *需要 香草JS* -* **Bracket Metrics Manager / 括號度量管理器:** 管理括號圖層(例如,美元和分)的側輻和寬度。 *需要 香草JS* -* **Center Glyphs / 居中字符:** 將所有選定的字符置於其寬度內居中,使LSB=RSB。 -* **Change Metrics by Percentage / 按百分比更改度量值:** 通過百分比值更改所選字形的LSB/RSB。可使用「還原」按鈕還原更改。 *需要 香草JS* -* **Find and Replace in Metrics Keys / 在度量鍵中搜尋並取代:** 用於在左右度量鍵中搜索和取代文本的圖形用戶界面,例如將 '=X+15' 取代為 '=X'。將搜索字段留空以進行附加。 -* **Fix Arrow Positioning / 修復箭頭定位:** 修復箭頭的位置和度量鍵,依賴於指定的默認箭頭。添加度量鍵並將箭頭垂直移動。不建立新字符,僅對現有字符有效。 *需要 香草JS* -* **Fix Math Operator Spacing / 修復數學運算符間距:** 同步+−×÷=≠±≈¬等符號的寬度並使其居中,可選擇還包括小於/大於符號以及上標符號/波浪號。 *需要 香草JS* -* **Freeze Placeholders / 凍結占位符:** 在當前的編輯分頁中,將更改當前字符的所有插入占位符,從而“凍結”這些占位符。 -* **Metrics Key Manager / 度量鍵管理器:** 批次應用度量鍵到目前字型。 *需要 香草JS* -* **Monospace Checker / 等寬字體檢查器:** 檢查前景字型中的所有字符寬度是否實際上是等寬的。在巨集面板中報告,並打開一個包含受影響圖層的分頁。 *需要 香草JS* -* **New Tab with all Figure Combinations / 包含所有數字組合的新分頁:** 打開一個包含所有可能的數字組合的新分頁。同時輸出一個字串,以便將其複製到巨集面板中,以防分頁打開失敗。 -* **New Tab with Fraction Figure Combinations / 包含分數數字組合的新分頁:** 打開一個編輯分頁,其中包含分數數字組合,以用於間距和字距的調整。 -* **Remove Layer-Specific Metrics Keys / 刪除特定圖層的度量鍵:** 刪除所有所選字符的所有圖層中特定圖層(==)的左右度量鍵。同時簡化字符度量鍵(即將 "=H" 轉換為 "H")。 -* **Remove Metrics Keys / 刪除度量鍵:** 刪除所有所選字符中的左右度量鍵。影響所有主板和所有圖層。 -* **Reset Alternate Glyph Widths / 重置替代字符寬度:** 將帶有後綴的字符寬度重置為其沒有後綴的對應字符的寬度。例如,`Adieresis.ss01` 將被重置為 `Adieresis` 的寬度。 -* **Spacing Checker / 間距檢查器:** 搜尋具有異常間距的字符並將它們打開在一個新分頁中。 *需要 香草JS* -* **Steal Metrics / 擷取度量值:** 從第二個字型中將所有所選字符的側輻或寬度值擷取過來。可選擇性地轉換度量鍵,例如 '=x+20'。 *需要 香草JS* -* **Tabular Checker / 等寬數字檢查器:** 檢查等寬數字字符並確認它們是否等寬。報告例外情況。 *需要 香草JS* - -## 測試(已完成v1) - -*推薦「測試用 HTML 腳本」。如果你在 Adobe 或 Apple 應用程式中發現選取框異常的高或低,可以執行「最高和最低點字符報告」查詢找出導致狀況發生的字符。「拉丁字母支援語言報告」提供的資訊是參考性的建議,不是絕對要遵守的規範。* - -* **Copy InDesign Test Text / 複製 InDesign 測試文字:** 將 InDesign 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* -* **Copy Word Test Text / 複製 Word 測試文字:** 將 Word 的測試文字複製到剪貼簿。 *:question:功能 無軟體測試* -* **Language Report / 拉丁字母支援語言報告:** 在巨集面板輸出讓你初步了解你的拉丁字符支持多少種語言以及哪些語言的資訊。基於 Underware's Latin-Plus 列表,並進行了修改。 -* **Pangram Helper / 全字母句小幫手:** 幫助你編寫歐文的全字母句,你可以將其複製到剪貼簿或放入新分頁中。 *需要 香草JS* *:question:成果 其他字母句要自己添加?* -* **Report Highest and Lowest Glyphs / 最高和最低點字符報告:** 讀取所有母版的所有字符,在巨集面板輸出最高和最低點字符的資訊。 -* **Variable Font Test HTML / 可變字型測試 HTML:** 為目前已輸出到資料夾的可變字型在預設瀏覽器開啟一個測試用的 HTML。 -* **Webfont Test HTML / 網頁字型測試 HTML:** 為目前已輸出到資料夾的網頁字型或當前的字符專案在預設瀏覽器開啟一個測試用的 HTML。 - -# License - -Copyright 2011 The mekkablue Glyphs-Scripts Project Authors. - -Some code samples by Georg Seifert (@schriftgestalt) and Tal Leming (@typesupply). - -Some algorithm input by Christoph Schindler (@hop) and Maciej Ratajski (@maciejratajski). - -Some code fixes from Rafał Buchner (@RafalBuchner). - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use the software provided here except in compliance with the License. -You may obtain a copy of the License at +如果您對終端機感到不安,可以使用許多現成的 git 用戶端,例如免費的 [Source Tree](https://www.sourcetreeapp.com)(版本控制工具)或 [GitHub Desktop](https://desktop.github.com)(版本控制工具)。 + +安裝 mekkablue 腳本後,您可以透過執行「腳本 > mekkablue > App > Update git Repositories in Scripts Folder」來**更新**這個腳本儲存庫(以及您腳本資料夾中的所有其他儲存庫)。 + +# 疑難排解 + +請在 [GitHub issue](/issues) 回報問題和功能要求。請確保您使用最新版本的腳本,且應用程式已更新至最新版本。此外,請務必**同時註明您的 Glyphs 和 macOS 版本**。感謝您的配合。 + +# 系統需求 + +這些腳本需要在 macOS 10.9 或更新版本上執行最新版本的 Glyphs 2.x。我只能在最新版本的軟體中測試並使用這些腳本。如果腳本無法運作,請先更新至最新版本的腳本。 + +# 關於這些腳本 + +所有腳本在滑鼠指標停留在其選單項目上時都會顯示**工具提示**。在具有圖形使用者介面的腳本中,大多數 UI 元素(核取方塊、文字輸入欄位等)也都有工具提示。這樣您就能在需要的地方獲得解釋說明。 + +## Anchors(錨點) + +*Anchor Mover(錨點移動工具)用於批次處理錨點位置。在調整 x 字高後特別有用。簡單建議:我總是在組合標號上使用 Reposition 指令碼,這樣堆疊的組合標號就能保持在義大利體的傾斜角度。* + +* **Add missing smart anchors(新增遺漏的智慧錨點):** 在所有圖層中為選取的智慧字符的屬性新增所有錨點。略過 *Width*(寬度)和 *Height*(高度)錨點。 +* **Add ZWRO origin Anchors(新增 ZWRO 原點錨點):** 在指定文字的所有組合標號中插入 ZWRO 的原點錨點。 +* **Anchor Mover(錨點移動工具):** 用於在多個字符中批次處理錨點位置的圖形使用者介面。 +* **Batch Insert Anchors(批次插入錨點):** 用於在多個字符中批次插入相同名稱且位於相近位置的錨點的圖形使用者介面。 +* **Find and Replace in Anchor Names(錨點名稱尋找與取代):** 用於在選取字符的錨點名稱中取代文字的圖形使用者介面。處理所有圖層。 +* **Fix Arabic Anchor Order in Ligatures(修正阿拉伯文合字中的錨點順序):** 將 *top_X* 和 *bottom_X* 錨點的順序修正為從右到左。在從其他格式轉換的檔案中,有時會發生 *top_1* 在 *top_2* 左側的情況,但應該相反,否則您的 mark2liga 會出錯。這個指令碼會檢查您選取的字符,如果是阿拉伯文合字,就會將所有錨點重新排序為從右到左,同時保持其座標不變。 +* **Insert All Anchors in All Layers(在所有圖層中插入所有錨點):** 在選取字符的每個圖層中,新增所有遺漏的錨點(但在該字符的其他圖層中已存在)。將錨點放在平均位置。 +* **Insert #exit and #entry anchors at sidebearings(在字距邊緣插入 #exit 和 #entry 錨點):** 在選取字符的所有主板和特殊圖層中,在左側字距插入 #entry,在右側字距插入 #exit(從左到右)或相反(從右到左)。除非按住 Option-Shift,否則不會覆寫現有錨點。 +* **Insert #exit and #entry on baseline at selected points(在選取點的基線上插入 #exit 和 #entry):** 使用最外側選取點的 x 座標,在基線上新增具有相同 x 座標的 #exit 和 #entry 錨點。對於從組件建立合字很有用。 +* **Insert exit and entry Anchors to Selected Positional Glyphs(在選取的位置字符中插入 exit 和 entry 錨點):** 在選取字符中新增用於連寫連接的 entry 和 exit 錨點。預設會將 exit 放在 (0, 0),如果右側字距存在控制點,則將 entry 放在該處。請根據需求調整。 +* **Mark Mover(標號移動工具):** 將標號移動到各自的高度,例如將 …comb.case 移至大寫字高,將 …comb 移至 x 字高等。也允許設定左右度量鍵。 +* **Move ogonek Anchors to Baseline Intersection(將 ogonek 錨點移至基線交點):** 將所有 ogonek 和 _ogonek 錨點移至外框與基線最右側的交點。 +* **Move topright Anchors for Vertical Carons(移動垂直抑揚符號的右上錨點):** 將所有 topright 和 _topright 錨點移至外框與 x 字高最右側的交點。對於建立捷克/斯洛伐克文字的垂直抑揚符號很有用。 +* **Move Vietnamese Marks to top_viet Anchor in Circumflex(將越南文標號移至外加符號中的 top_viet 錨點):** 在選取字符的每個圖層中,將 *acute*、*grave* 和 *hookabovecomb* 移至 *top_viet* 錨點。對於越南文雙重重音很有用。假設您在 *circumflexcomb* 的所有圖層中都有 *top_viet* 錨點。 +* **New Tab with Glyphs Containing Anchor(含錨點字符分頁):** 開啟新分頁,顯示所有包含特定錨點的字符。 +* **New Tab with top and bottom Anchors Not on Metric Lines(頂底錨點偏離基準線分頁):** 在巨集面板中回報所有 *top* 和 *bottom* 錨點的垂直位置,並開啟新分頁顯示在字型中任何字符的主板、中括號或大括號圖層中有偏離錨點的字符。忽略使用者的選取範圍,分析所有字符(包含匯出和未匯出的字符)。適用於檢查頂部錨點是否位於正確位置。 +* **Prefix all exit/entry anchors with a hashtag(替出入錨點加上井字號):** 尋找字型中所有的 exit/entry 錨點,並在錨點名稱前加上 `#` 以停用 `curs` 特性的生成。 +* **Propagate Components and Mark Anchoring(複製組件和標號錨點):** 將目前主板的組件和標號錨點設定,複製到所有其他(相容)主板。適用於複雜的阿拉伯文合字標號。 +* **Realign Stacking Anchors(重新對齊堆疊錨點):** 在堆疊組合重音中,將頂部和底部錨點精確移動到各自的 _top 和 _bottom 錨點正上方或下方,並顧及義大利體角度。如此一來,堆疊多個非間距重音符號時將保持一致。 +* **Remove Anchors in Suffixed Glyphs(移除後綴字符錨點):** 移除具有使用者指定後綴的字符中的所有錨點。在複製、縮放和編輯字符的 sups/subs/sinf/ordn 變體後,適用於移除殘留的錨點。 +* **Remove Anchors(移除錨點):** 在選取的字符(或整個字型)中刪除具有指定名稱的錨點。 +* **Remove Non-Standard Anchors from Selected Glyphs(移除選取字符中的非標準錨點):** 移除字符中預設不應存在的所有錨點,例如 `J` 中的 `ogonek`。可能具有風險,因為它可能刪除誤判項目。建議先使用下方的回報腳本。 +* **Replicate Anchors(複製錨點):** 批次將錨點新增至選取的字符。指定來源字符以複製其錨點。 +* **Replicate Anchors in Suffixed Glyphs(複製後綴字符錨點):** 檢查選取的點後綴字符,並從其各自的基本字符複製錨點。例如,將在 *X.ss01*、*X.swsh* 和 *X.alt* 中重新建立 *X* 的錨點。 +* **Report Non-Standard Anchors to Macro window(回報非標準錨點至巨集視窗):** 檢查字型中的所有字符,並在巨集視窗中回報發現的非預設錨點。可在編輯檢視中複製貼上這些行。 +* **Shine Through Anchors(透視錨點):** 在選取字符的所有圖層中,插入來自組件的「穿透」錨點。 +* **Snap Anchors to Nearest Metric(對齊錨點至最近基準):** 在指定閾值內,將指定的錨點移動到最近的基準(如 x 字高、上伸部等)。 +* **Steal Anchors(擷取錨點):** 批次將錨點從一個字型主板複製到另一個。 +* **Top Mark Mover(頂部標號移動工具):** 垂直移動選取的標號,使其 _top 錨點位於相應的垂直基準上。 + +## App(應用程式) + +*如果您正在編寫程式碼,建議為 Method Reporter(方法回報器)設定快捷鍵,因為您會經常需要使用它。如果您想要取得視窗內容的解析度獨立的 PDF 螢幕截圖,Print Window(列印視窗)會很有用,特別適合在向量繪圖應用程式中進行後製。* + +* **Close All Tabs of All Open Fonts(關閉所有開啟字型的所有分頁):**關閉目前在應用程式中開啟的所有字型的所有編輯分頁。 +* **Copy Download URL for Current App Version(複製目前應用程式版本的下載網址):**將目前 Glyphs 應用程式版本的下載網址複製到剪貼簿中,方便貼上。 +* **Decrease(減少)**和 **Increase Line Height(增加行高):**將編輯檢視的行高增加四分之一或減少五分之一。如果您需要經常切換行高,設定快捷鍵會很有用。 +* **Method Reporter(方法回報器):**用於過濾 Glyphs 中可用的 Python 和 PyObjC 類別方法名稱的圖形使用者介面。您可以使用多個以空格分隔的搜尋詞(作為 AND 連接)以及星號作為萬用字元(可在開頭、中間和結尾使用)。連按兩下可將方法名稱複製到剪貼簿並在巨集視窗中開啟說明。對程式設計師很有用。 +* **Parameter Reporter(參數回報器):**類似 Method Reporter,但用於自訂參數。連按兩下可將參數複製到剪貼簿中,可直接貼到字型資訊中。 +* **Print Window(列印視窗):**列印最前方的視窗。適用於儲存視窗內容的向量 PDF,包含回報器外掛程式的渲染結果(*顯示* 選單的擴充功能)。 +* **Resetter(重設工具):**重設快速預覽、鍵盤快捷鍵,並清除應用程式偏好設定、已儲存的應用程式狀態和自動儲存。 +* **Set Export Paths to Adobe Fonts Folder(設定匯出路徑至 Adobe 字型資料夾):**將 OpenType 字型和可變字型的匯出路徑設定為 Adobe 字型資料夾。 +* **Set Hidden App Preferences(設定隱藏的應用程式偏好設定):**用於讀取和設定圖形使用者介面中未列出的「隱藏」應用程式偏好設定的介面。 +* **Set Label Colors(設定標籤顏色):**覆寫預設的應用程式標籤顏色。 +* **Set Tool Shortcuts(設定工具快捷鍵):**設定工具列中工具的鍵盤快捷鍵。 +* **Toggle Horizontal-Vertical(切換水平-垂直):**在 LTR(水平)和垂直書寫方向之間切換最前方的分頁。適合設定鍵盤快捷鍵。 +* **Toggle Macro Window Separator(切換巨集視窗分隔線):**在巨集視窗中切換分隔線位置,在 80% 和 20% 之間切換。 +* **Toggle RTL-LTR(切換 RTL-LTR):**在 LTR 和 RTL 書寫方向之間切換最前方的分頁。適合在系統偏好設定中設定鍵盤快捷鍵。 +* **Toggle Script Windows(切換腳本視窗):**顯示或隱藏所有腳本視窗。適合在應用程式設定中指派快捷鍵。 +* **Update git Repositories in Scripts Folder(更新腳本資料夾中的 git 儲存庫):**在 Glyphs 腳本資料夾的所有子資料夾中執行「git pull」指令。如果您的腳本資料夾中有許多 git 儲存庫,這會很有用。 +* **Update Text Preview(更新文字預覽):**強制更新「視窗 > 文字預覽」。當您在字型視窗以外進行變更(如在字型資訊中的 OpenType 特性)且預覽無法自動重新整理時很有用。 +* **Navigate > Activate next/previous glyph(導覽 > 啟用下一個/上一個字符):**在編輯檢視中啟用下一個/上一個字符進行編輯。 + +## Build Glyphs(建立字符) + +*最重要的是:Quote Manager(引號管理器),以及用於建立 Small Figures(小型數字)、Symbols(符號)、Ldot(L 點)的建構指令。其他指令主要用於當客戶要求特定 Unicode 範圍時,能快速開始製作。* + +* **Add Adobe Symbol Glyphs(新增 Adobe 符號字符):** 當字型中缺少以下符號字符時,會新增 Adobe 的內插符號:*Omega、Delta、Ohm、increment(增量)、asciicircum(插入符號)、greaterequal(大於等於)、infinity(無限)、partialdiff(偏微分)、lessequal(小於等於)、notequal(不等於)、product(乘積)、approxequal(約等於)、plus(加號)、lozenge(菱形)、integral(積分)、summation(總和)、radical(根號)、daggerdbl(雙劍號)、perthousand(千分號)、logicalnot(邏輯非)、plusminus(正負號)、asciitilde(波浪號)、divide(除號)、minus(減號)、multiply(乘號)、dagger(劍號)、less(小於)、equal(等於)、greater(大於)、literSign(升號)、.notdef(未定義字符)。* 需要安裝 makeotf (AFDKO)。 +* **Build APL Greek(建立 APL 希臘文):** 建立 APL 希臘文字符。 +* **Build careof and cadauna(建立 careof 與 cadauna):** 使用 `c`、`o`、`u` 和 `fraction` 字符建立 `cadauna` 和 `careof`。 +* **Build Circled Glyphs(建立圓圈字符):** 使用 `_part.circle` 以及現有的字母和數字建立圓圈數字和字母(U+24B6...24EA 和 U+2460...2473)。 +* **Build Dotted Numbers(建立點號數字):** 使用預設數字和句點建立帶句點的編號字符(例如用於有序清單的 1.、2.、3. 等格式)。 +* **Build ellipsis from period components(使用句點組件建立省略號):** 在句點字符中插入出口和入口錨點,並使用自動對齊的句點組件重建省略號。注意:會分解所有用於其他字符中的句點組件(例如冒號)。 +* **Build Extra Math Symbols(建立額外數學符號):** 建立 `lessoverequal`(小於上等於)、`greateroverequal`(大於上等於)、`bulletoperator`(點運算符)、`rightanglearc`(直角弧)、`righttriangle`(直角三角形)、`sphericalangle`(球面角)、`measuredangle`(測量角)、`sunWithRays`(帶光芒太陽)、`positionIndicator`(位置指示器)、`diameterSign`(直徑符號)、`viewdataSquare`(檢視資料方塊)、`control`(控制)。 +* **Build Ldot and ldot(建立 Ldot 和 ldot):** 使用現有的 `L` 和 `periodcentered.loclCAT`(`.case`/`.sc`)建立 `Ldot`、`ldot` 和 `ldot.sc`。假設您已經建立並適當調整了 `L`-`periodcentered.loclCAT`-`L` 等的間距。 +* **Build Parenthesized Glyphs(建立括號字符):** 建立帶括號的字母和數字:`one.paren`、`two.paren`、`three.paren`、`four.paren`、`five.paren`、`six.paren`、`seven.paren`、`eight.paren`、`nine.paren`、`one_zero.paren`、`one_one.paren`、`one_two.paren`、`one_three.paren`、`one_four.paren`、`one_five.paren`、`one_six.paren`、`one_seven.paren`、`one_eight.paren`、`one_nine.paren`、`two_zero.paren`、`a.paren`、`b.paren`、`c.paren`、`d.paren`、`e.paren`、`f.paren`、`g.paren`、`h.paren`、`i.paren`、`j.paren`、`k.paren`、`l.paren`、`m.paren`、`n.paren`、`o.paren`、`p.paren`、`q.paren`、`r.paren`、`s.paren`、`t.paren`、`u.paren`、`v.paren`、`w.paren`、`x.paren`、`y.paren`、`z.paren`。 +* **Build Q from O and _tail.Q(使用 O 和 _tail.Q 建立 Q):** 在對 Q 尾部執行「將選取的路徑轉為組件」並將其命名為 `_tail.Q` *之後*執行此指令。 +* **Build Rare Symbols(建立罕用符號):** 建立白色和黑色、小型和大型的圓形、三角形和方形。 +* **Build rtlm Alternates(建立 rtlm 替代字):** 為選取的字符建立水平鏡像組件,並更新 rtlm OpenType 特性。自動對齊組件,並在您分解組件時加入度量鍵。 +* **Build Small Figures(建立小型數字):** 使用預設的數字集(例如 `.dnom`),並衍生其他變體(`.numr`、`superior`/`.sups`、`inferior`/`.sinf`、`.subs`)作為組件副本。會顧及義大利體角度。 +* **Build small letter SM, TEL(建立小寫字母 SM、TEL):** 建立以下字符:`servicemark`(服務標記)、`telephone`(電話)。 +* **Build space glyphs(建立空格字符):** 建立各種空格字符 `mediumspace-math`、`emquad`、`emspace`、`enquad`、`enspace`、`figurespace`、`fourperemspace`、`hairspace`、`narrownbspace`、`punctuationspace`、`sixperemspace`、`nbspace`、`thinspace`、`threeperemspace`、`zerowidthspace`。 +* **Build Symbols(建立符號):** 建立符號字符,如 `.notdef`(基於最粗的可用 `question` 標記)、`estimated`(估計)字符,以及 `bar`(直線)和 `brokenbar`(斷直線)(會顧及標準字幹和義大利體角度)。 +* **Center punt volat(置中間隔圓點):** 水平移動所有 `periodcentered.loclCAT` 字符,使其適合放置在兩個 L 之間。按住 ⌘ Cmd 和 ⇧ Shift 可處理所有開啟的字型。 +* **Quote Manager(引號管理器):** 使用單引號建立雙引號,並在單引號中插入 `#exit` 和 `#entry` 錨點以進行自動對齊。您需要已經有單引號。 + +## Color Fonts (彩色字型) + +*這些腳本是用於處理彩色字型工作流程中會遇到的情況。Merge(合併)腳本主要用於為 CPAL/COLR 字型建立備用字符。這樣備用字符就能具有完整的邊界框,且不會在 Chrome 瀏覽器中發生裁切。* + +* **Add All Missing Color Layers to Selected Glyphs(為選取的字符加入所有缺少的彩色圖層):** 為每個選取的字符,依據 Color Palettes(色盤)參數中定義的每個 CPAL/COLR 顏色,加入備用圖層的副本。僅加入字符中尚未設定的顏色。 +* **Add sbix Images to Font(為字型加入 sbix 圖片):** 會取得資料夾中所有的 PNG、GIF、JPG 檔案,並在目前的字型和主板中以這些檔案建立 iColor 圖層。檔案命名規則:「字符名稱 像素大小.副檔名」,例如:「Adieresis 128.png」。 +* **Convert Layerfont to CPAL+COLR Font(將圖層字型轉換為 CPAL+COLR 字型):** 將圖層彩色字型轉換為單一主板字型,每個字符都具有 CPAL 和 COLR 圖層。它會採用第一個主板作為預設值。 +* **Convert Master Colors to CPAL Palette(將主板顏色轉換為 CPAL 色盤):** 會在字型主板中尋找 Master Color(主板顏色)參數,然後在「字型資訊 > 字型」中建立具有相同顏色的 Color Palettes(色盤)參數。若缺少主板顏色參數則預設為黑色。會將深色模式主板顏色加入為第二個色盤。 +* **Cycle CPAL Colors for Selected Glyphs(循環選取字符的 CPAL 顏色):** 會遞增每個 CPAL Color Palette 圖層的顏色索引,若超過可用顏色數量則設為 0。 +* **Delete Non-Color Layers in Selected Glyphs(刪除選取字符中的非彩色圖層):** 刪除所有字符中不屬於 "Color X"(CPAL/COLR 圖層)類型的子圖層。 +* **Merge All Other Masters in Current Master(將所有其他主板合併至目前主板):** 在選取的字符中,將其他主板的所有路徑複製到目前的主板圖層。 +* **Merge CPAL Layers into Master Layer(將 CPAL 圖層合併至主板圖層):** 取得所有 CPAL/COLR 圖層並將其圖形的副本放入主板圖層。 +* **Merge Suffixed Glyphs into Color Layers(將帶後綴的字符合併為彩色圖層):** 將 x.shadow、x.body 和 x.front 合併為 x 的個別 CPAL Color 圖層。 +* **Randomly Distribute Shapes on Color Layers(在彩色圖層上隨機分配圖形):** 取得備用主板圖層的圖形,並隨機將它們複製到可用的 CPAL/COLR 彩色圖層上。注意:除非按住 Cmd-Shift,否則會覆寫現有彩色圖層的內容。 +* **Reverse CPAL Colors for Selected Glyphs(反轉選取字符的 CPAL 顏色):** 將反轉每個 CPAL Color Palette 圖層的顏色索引。例如,對於三個顏色,會將索引 0,1,2 轉換為 2,1,0。 +* **sbix Spacer(sbix 間距工具):** 批次設定 sbix 位置和字符寬度。 + +## Compare Frontmost Fonts(比較最前方字型) + +*這些腳本用於同步正體與其對應的義大利體。開啟兩個字型後執行腳本。腳本不會變更您的字型,而是在巨集視窗中提供詳細報告。* + +* **Compare Font Info > Font(比較字型資訊 > 字型):** 針對最前方的兩個字型,比較其「字型資訊 > 字型」的詳細資料,並在巨集視窗中輸出報告。 +* **Compare Font Info > Masters(比較字型資訊 > 主板):** 針對最前方的兩個字型,比較其「字型資訊 > 主板」的詳細資料,並在巨集視窗中輸出報告。 +* **Compare Font Info > Instances(比較字型資訊 > 實體):** 針對最前方的兩個字型,比較其「字型資訊 > 實體」的詳細資料,並在巨集視窗中輸出報告。 +* **Compare Font Info > Features(比較字型資訊 > 特性):** 比較最前方兩個字型的 OpenType 特性設定,並在巨集視窗中輸出報告。 +* **Compare Anchors(比較錨點):** 比較最前方兩個字型之間的錨點結構與高度。 +* **Compare Composites(比較組合字符):** 報告組合字符中不一致的組件結構,例如一個字型中的 `iacute` 使用 `acutecomb` 建構,而另一個字型則使用 `acutecomb.narrow`。 +* **Compare Glyph Heights(比較字符高度):** 列出所有與第二個字型在高度上差異超過指定閾值的字符。 +* **Compare Glyph Info(比較字符資訊):** 比較開啟的字型並建立字符資訊差異清單,包含 Unicode 值和分類。 +* **Compare Glyphsets(比較字符集):** 比較最前方兩個字型的字符集,並在巨集視窗中輸出報告。 +* **Compare Kerning Groups(比較調距群組):** 比較最前方字型之間的調距群組,輸出群組不符的字符名稱表格。 +* **Compare Metrics(比較度量):** 比較最前方兩個字型的寬度。 +* **Compare Sidebearings(比較邊界):** 比較最前方兩個字型的邊界。 +* **Report Missing Glyphs for all Open Fonts(報告所有開啟字型的遺漏字符):** 在巨集視窗中,報告目前開啟的檔案中遺漏,但存在於其他字型中的所有字符。 + +## Components(組件) + +*當您想根據其他字母建立新字母時,Populate Backgrounds with Components(使用組件填充背景)非常實用,例如 ae 或 oe 可以在背景中放置 e。此腳本會在每個主板的背景中放入 e,並且使用者介面有一個選項可以將選取的控制點與背景中的 e 對齊。如果您在多主板字型中使用角落組件來製作襯線,Propagate(傳播)腳本可以為您節省大量時間。* + +* **Alignment Manager(對齊管理器):**啟用或停用所選字符中可見圖層上所有組件的自動就定位功能。與右鍵選單中的指令功能相同,但您可以一次為多個字符執行此操作。 +* **Auto-align Composites with Incremental Metrics Keys(使用遞增度量鍵自動對齊組合字符):**針對最前方的字型,自動對齊只有第一個組件停用自動就定位的組合字符。忽略 .tf、.tosf 和數學運算符。會開啟一個分頁顯示受影響的字符圖層。 +* **Cap and Corner Manager(筆帽與角落管理器):**在最前方字型的所有字符中批次編輯筆帽、角落、筆刷或線段組件的設定。 +* **Component Mover(組件移動工具):**在選取的字符中批次編輯(智慧)組件。變更位置、縮放比例和智慧屬性。 +* **Component Problem Finder(組件問題偵測器):**尋找組件和角落組件可能存在的問題:由路徑組成的可組合字符;鎖定、巢狀、孤立、鏡射、偏移、旋轉和縮放的組件;具有不尋常組件順序或非正統組件結構的組合字符。同時也會檢查斷開連接和縮放的角落組件。 +* **Composite Consistencer(組合字符一致性檢查器):**檢查最前方字型中所有字符的目前主板中的組合字符。如果帶點後綴的字符變體缺少組件,會在巨集視窗中報告。 +* **Decompose Components in Background(分解背景中的組件):**分解選取字符的背景圖層。可用於目前主板或所有主板,或所有字型的所有主板。 +* **Decompose Corner and Cap Components(分解角落和筆帽組件):**分解選取字符中的所有角落和筆帽組件。在巨集視窗中報告結果。 +* **Find and Replace Components(尋找和取代組件):**將選取字符中的組件重新連結到新的來源字符。 +* **Find and Replace Cap and Corner Components(尋找和取代筆帽和角落組件):**將選取字符中的 `_cap.*` 和 `_corner.*` 組件重新連結到不同的角落/筆帽組件。 +* **Find and Replace Corner Components at Certain Angles(在特定角度尋找和取代角落組件):**取代鈍角或銳角處的角落組件。 +* **Move Paths to Component(將路徑移至組件):**將路徑移至單獨的字符,並將其作為自動就定位的錨點組件插入來源字符中。非常適合將路徑與組件混合的字符轉換為純組合字符。 +* **Populate Backgrounds with Components(使用組件填充背景):**將指定的組件加入字符的所有背景中,並允許您將選取的前景控制點對齊到該組件。對於保持前景中已分解形狀與相似字符同步很有用。 +* **Propagate Corner Components to Other Masters(將角落組件傳播到其他主板):**嘗試在同一字符的所有其他主板中重新建立目前主板圖層的角落組件。請確保您的外框相容。 +* **Remove Components(移除組件):**從所有(選取的)字符中移除指定的組件。 +* **Remove Detached Corners(移除分離的角落):**從所有(選取的)字符中移除分離的角落組件。 +* **Sync Components Across Masters(在主板間同步組件):**取用目前圖層的組件,並將所有其他主板重設為相同的組件結構。忽略路徑和錨點。按住 Option 鍵可*刪除*所有路徑和錨點。 + +## Features(特性) + +*在手寫字體中,您可能經常需要 Build Positional calt script(建立位置相關 calt 腳本)。如果您發現自己經常需要開關 OT 特性,建議查看 Activate Default Features(啟用預設特性)和 Floating Features(浮動特性)腳本。另外別忘了從「視窗 > 外掛程式管理員」查看 Set Palette(設定控制盤)。* + +* **Activate Default Features(啟用預設特性):** 在目前的編輯分頁中,啟用所有依照規格建議預設開啟的 OT 特性。 +* **Baseline Wiggle(基線擺動):** 為指定類別中的所有字符加入具有虛擬隨機 GPOS 基線位移的 OpenType 特性。 +* **Build ccmp for Hebrew Presentation Forms(建立希伯來文顯示形式的 ccmp):** 為預組合的 `uniFBxx` 字符建立 ccmp 特性,例如:若您有 pedagesh,就會在 ccmp 中得到 'sub pe dagesh by pedagesh'。 +* **Build Italic Shift Feature(建立義大利體位移特性):** 建立並插入用於位移字符的 GPOS 特性程式碼,如大小寫特性中的括號和標點符號。 +* **Build Positional Feature(建立位置特性):** 尋找 `.init`、`.medi`、`.fina` 和 `.isol` 字符,並將位置替換程式碼注入到您的 `calt` 特性(或您指定的任何其他特性)中。再次執行時,會*更新*類別和特性程式碼。更多資訊請參考[此教學](https://glyphsapp.com/learn/features-part-4-positional-alternates)。 +* **Build rand Feature(建立隨機特性):** 從 .cvXX 或其他(編號)後綴建立 rand(隨機)特性。 +* **Feature Code Tweaks(特性程式碼調整):** 對 OT 特性程式碼進行調整。在巨集視窗中報告。請注意:如果您不了解某個選項,請勿使用。 +* **Find in Features(在特性中尋找):** 在 OT 特性、前置和類別中尋找表達式(字符、查詢或類別名稱)。 +* **Floating Features(浮動特性):** 用於啟用和停用 OT 特性的浮動控制盤。功能與彈出式選單相同。 +* **Fraction Fever 2(分數狂熱 2):** 將 Tal Leming 的 Fraction Fever 2 程式碼插入字型中。在[此教學](https://glyphsapp.com/learn/fractions)中了解更多。 +* **New OT Class with Selected Glyphs(以選取的字符建立新 OT 類別):** 用於以選取的字符建立新 OT 類別的圖形使用者介面。 +* **New Tab with OT Class(包含 OT 類別的新分頁):** 用於在新分頁中開啟 OT 類別(列於「*檔案 > 字型資訊 > 特性 > 類別*」)中所有字符的圖形使用者介面。 +* **Update Features without Reordering(更新特性但不重新排序):** 檢視字型中現有的特性並重新整理每一個特性。不會新增或重新排序特性。 +* * **Stylistic Sets > Synchronize ssXX glyphs(樣式集 > 同步 ssXX 字符):** 建立缺少的 ssXX 字符,以使您擁有同步的 ssXX 字符群組。例如:若您有 *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> 此腳本會建立 *b.ss02* +* * **Stylistic Sets > Create ssXX from layer(樣式集 > 從圖層建立 ssXX):** 取用目前的圖層並將其複製到新 .ssXX 字符的主要圖層。 +* * **Stylistic Sets > Create pseudorandom calt feature(樣式集 > 建立虛擬隨機 calt 特性):** 根據字型中現有的 ssXX 字符數量建立虛擬隨機 calt(上下文替換)特性。也在輪替演算法中包含預設類別。 +* * **Stylistic Sets > Report ssXX Names(樣式集 > 報告 ssXX 名稱):** 報告所有開啟字型中的所有 ssXX 特性名稱。 +* * **Stylistic Sets > Set ssXX Names(樣式集 > 設定 ssXX 名稱):** 使用「Alternate」或其他選擇的文字,加上第一個被替換字符的名稱(例如「Alternate a」)預填 ssXX 特性的名稱。可選擇保留現有名稱。 + +## Font Info(字型資訊) + +*Vertical Metrics(垂直度量)對於在「字型資訊 > 字型」和「字型資訊 > 主板」中尋找和同步垂直度量參數很有用。Clean Version String(清理版本字串)也非常實用。Font Info Batch Setter(字型資訊批次設定器)對於在多個字型之間同步字型資訊設定是不可或缺的。使用 Set WWS/Preferred Names(設定 WWS/偏好名稱)腳本時要小心:應用程式通常會自動處理命名,所以很少需要使用這些腳本。* + +* **Batch-Import Masters(批次匯入主板):**使用匯入主板參數一次匯入多個主板。 +* **Clean Version String(清理版本字串):**新增乾淨的 versionString 參數,並在版本字串中停用 ttfAutohint 資訊。匯出的字型將只包含「Version X.XXX」格式的版本字串。 +* **Find and Replace in Font Info(字型資訊搜尋與取代):**在「字型資訊 > 字型」和「字型資訊 > 實體」中搜尋和取代名稱。 +* **Find and Replace In Instance Parameters(實體參數搜尋與取代):**在目前字型或專案檔案被選取實體的自訂參數中進行搜尋和取代。 +* **Font Info Batch Setter(字型資訊批次設定器):**批次套用「字型資訊 > 字型」內的設定到開啟的字型中:設計師、設計師網址、製造商、製造商網址、版權、版本號碼、日期和時間。適用於在多個字型之間同步字型資訊設定。 +* **Font Info Overview(字型資訊總覽):**列出所有開啟字型的部分字型資訊值。 +* **OTVAR Maker(OTVAR 產生器):**在「字型資訊 > 匯出」中建立可變字型設定。 +* **Prepare Font Info(準備字型資訊):**透過設定特定自訂參數,為現代字型製作和 git 工作流程準備開啟的字型。 +* **PS Name Maker(PS 名稱產生器):**為所有實體建立 postscriptFontName 項目(名稱 ID 6),並提供縮短名稱的選項。 +* **Remove Custom Parameters(移除自訂參數):**從「字型資訊 > 字型、主板、實體」中移除某一類型的所有參數。當您有許多主板或實體時很有用。 +* **Set Preferred Names for Width Variants(設定寬度變體的偏好名稱)(名稱 ID 16 和 17):**為所有實體設定偏好名稱自訂參數(名稱 ID 16 和 17),使寬度變體在 Adobe 應用程式中出現在獨立的選單中。 +* **Set Style Linking(設定樣式連結):**嘗試設定粗體/義大利體位元。 +* **Set Subscript and Superscript Parameters(設定下標和上標參數):**測量您的上標和下標數字,並推導出下標/上標的 X/Y 偏移/大小參數。 +* **Set WWS Names(設定 WWS 名稱)(名稱 ID 21 和 22):**在必要時為所有實體設定 WWS 自訂參數(名稱 ID 21 和 22):將除 RIBBI 以外的所有資訊放入 WWSFamilyName,並只在 WWSSubfamilyName 中保留 RIBBI。 +* **Style Renamer(樣式重命名器):**批次在樣式名稱中添加名稱片段,或從中批次移除。適用於將所有樣式從義大利體命名切換到羅馬體命名,反之亦然。 +* **Vertical Metrics Manager(垂直度量管理器):**計算並插入 OS/2 usWin 和 sTypo、hhea 以及 fsSelection 位元 7 的值(用於優先使用 sTypo 度量而非 usWin 度量)。 + +## Glyph Names, Notes and Unicode(字符名稱、註記與 Unicode) + +*大多數文字系統都能讓字符名稱和 Unicode 的管理變得較為容易。在將檔案交給第三方之前,Garbage Collection(垃圾清理)對清除回報腳本或其他註記的雜亂資料很有幫助。* + +* **Add PUA Unicode Values to Selected Glyphs(替選取的字符加入私用區 Unicode 值):**逐一處理選取的字符,並從使用者指定的值開始,依序套用自訂 Unicode 值。 +* **Casefolding Report(大小寫配對回報):**檢查大寫與小寫是否相符。開啟新的編輯分頁,顯示所有沒有一致大小寫配對的字符。在巨集視窗中寫入詳細回報。 +* **Color Composites in Shade of Base Glyph(以基礎字符色調標示組合字符):**以基礎字符較淺色調標示組合字符。例如,如果您的 A 標示為紅色,那麼 ÄÁÀĂ... 就會呈現較淺的紅色。 +* **Convert to Uppercase(轉換為大寫):**將小寫名稱轉換為大寫名稱,例如:`a` → `A`、`ccaron` → `Ccaron`、`aeacute` → `AEacute` 等。 +* **Convert to Lowercase(轉換為小寫):**將選取字符的名稱轉換為小寫。 +* **Double Encode micro, Ohm and increment(micro、Ohm 和 increment 雙重編碼):**替 micro、Ohm 和 increment 加入 mu、Omega 和 Delta 的 Unicode。 +* **Encoding Converter(編碼轉換器):**根據可匯入/匯出的重新命名方案文字,將舊式專家級 8 位元編碼轉換為 Glyphs 的標準名稱。預設為 AXt 轉換方案。 +* **Garbage Collection(垃圾清理):**移除字符中的標記,如控制點名稱、字符名稱或註記,以及參考線。 +* **Glyph Order Manager(字符順序管理器):**用於管理字符順序參數的使用者介面,也可跨多個檔案。 +* **Production Namer(產品用命名器):**覆寫預設的產品用名稱。預設為在傳統 PDF 工作流程中會造成問題的常見項目:mu、onesuperior、twosuperior、threesuperior。 +* **Rename Glyphs(重新命名字符):**採用 `oldglyphname=newglyphname` 的配對清單,據此重新命名字型中的字符,類似「重新命名字符」自訂參數。 +* **Reorder Unicodes of Selected Glyphs(重新排序選取字符的 Unicode):**重新排序 Unicode,使預設 Unicode 排在最前。 +* **Reset Unicode Codepoints Based on GlyphData(根據字符資料重設 Unicode 碼位):**對於選取的字符,其功能類似「字符 > 更新字符資訊」,但不會更改名稱,而是重設 Unicode。將處理內建的 GlyphData 和位於 ~/Library/Application Support/Glyphs 3/Info/ 的 GlyphData-XXX.xml。 +* **Switch Mirrored Characters(切換鏡像字元):**在目前的編輯面板中,切換雙向文字的鏡射字元,例如 () → )(。在分頁中切換書寫方向後,用於切換括號和引號很有用。 + +## Guides(參考線) + +*這些腳本主要用於清理在處理第三方字型時看到的大量參考線。* + +* **Guides through All Selected Nodes (貫穿所有選取控制點的參考線):** 在目前字符中建立貫穿所有選取控制點的參考線。會嘗試避免重複的參考線。 +* **Remove Global Guides in Current Master (移除目前主板中的全域參考線):** 刪除目前主板中所有全域(紅色)參考線。 +* **Remove Local Guides in Selected Glyphs (移除選取字符中的區域參考線):** 刪除選取字符中所有區域(藍色)參考線。 +* **Select All Global Guides (選取所有全域參考線):** 在編輯面板中選取所有全域(紅色)參考線。當您有許多參考線需要批次變形時特別有用。 +* **Select All Local Guides (選取所有區域參考線):** 選取所有區域(藍色)參考線(在所有選取的字符中)。 + +## Hinting(字型調適) + +*最重要:為 PostScript 調適設定 blueScale 值和字型家族對齊區域。如果您要進行大幅度修改,Transfer(傳輸)和 Keep Only(僅保留)腳本可以為您節省大量工作。New Tab(新增分頁)系列腳本可協助找出缺少對齊區域的字符。另外也可以考慮使用「Paths > Find Near Vertical Misses(路徑 > 尋找接近垂直未對齊處)」來達到此目的。* + +* **Add Alignment Zones for Selected Glyphs(為選取的字符新增對齊區域):** 在所有主板中為選取的字符建立適當的對齊區域。 +* **Add Hints for Selected Nodes(為選取的控制點新增調適):** 為選取的控制點新增調適。會自動判斷應該使用水平或垂直調適。如果在對齊區域內只選取一個控制點,會新增幽靈調適。適合在系統偏好設定中設定快捷鍵。 +* **Add TTF Autohint Control Instructions for Current Glyph(為目前字符新增 TTF 自動調適控制指令):** 為目前實體的控制指令新增指定上/下數值的邊線。 +* **Auto Stems(自動字幹):** 透過測量字型中特定圖形來為所有主板推導出一個水平和一個垂直字幹值。 +* **BlueFuzzer(藍色模糊工具):** 將所有對齊區域擴展指定的數值。類似於過去 blueFuzz 值的功能,因此得名。 +* **Keep Only First Master Hints(僅保留第一主板調適):** 在選取的字符中,刪除所有圖層中的調適,只保留排序為第一主板的調適。會保留括號圖層。例如,如果您的第一主板是「Regular」,腳本會刪除「Bold」、「Bold [120]」中的調適,但保留「Regular」和「Regular [100]」中的調適。 +* **New Tab with Glyphs in Alignment Zones(以位於對齊區域中的字符開啟新分頁):** 開啟新分頁並列出所有延伸至對齊區域的字符。 +* **New Tab with Layers with TTDeltas(以具有 TTDeltas 的圖層開啟新分頁):** 開啟包含所有已定義 TTDeltas 圖層的新分頁。 +* **New Tabs with Glyphs Not Reaching Into Zones(以未延伸至對齊區域的字符開啟新分頁):** 開啟包含所有未延伸至任何上方或下方對齊區域字符的新分頁。僅計算目前主板中包含路徑的字符。忽略空白字符和組合字符。 +* **Remove PS Hints(移除 PS 調適):** 刪除目前字型、選取的主板和/或選取字符中的所有字幹和/或幽靈調適。 +* **Remove TT Hints(移除 TT 調適):** 刪除目前字型、選取的主板和/或選取字符中使用者指定的 TT 指令集。 +* **Remove Zero Deltas in Selected Glyphs(移除選取字符中的零位移值):** 檢查每個選取字符的所有圖層,並刪除所有位移值為零的 TT 差值調適。詳細報告會顯示在巨集視窗中。 +* **Set blueFuzz to zero for master instances(將主板實體的 blueFuzz 設為零):** 為與主板相同的實體新增值為 0 的 blueFuzz 自訂參數。 +* **Set blueScale(設定 blueScale):** 在「字型資訊 > 字型」中設定可能的最大 blueScale 值(決定出框微調整抑制的最大尺寸)。在巨集視窗中輸出其他選項。 +* **Set Family Alignment Zones(設定字型家族對齊區域):** 選擇一個實體,並在「字型資訊 > 字型 > 自訂參數」中將其區域設為字型家族對齊區域。 +* **Set TT Stem Hints to Auto(將 TT 字幹調適設為自動):** 將選取字符中的所有 TT 字幹調適設為「自動」。 +* **Set TT Stem Hints to No Stem(將 TT 字幹調適設為無字幹):** 將選取字符中的所有 TT 字幹調適設為「無字幹」。在複雜路徑中,這可以改善 Windows 上的渲染效果。 +* **Set TTF Autohint Options(設定 TTF 自動調適選項):** 設定現有「TTF 自動調適選項」自訂參數的選項。 +* **Transfer Hints to First Master(將調適傳輸至第一主板):** 將 PS 調適從目前圖層複製到第一主板圖層,前提是路徑必須相容。錯誤會回報至巨集視窗。 +* **TT Autoinstruct(TT 自動指令):** 自動將 Glyphs TT 指令新增至選取主板(應為第一主板)中選取的字符。注意:這不是 Werner Lemberg 的 ttfAutohint,而是 TT 指令工具(I)透過相同名稱的右鍵選單項目所新增的手動 TT 調適。適用於一次為多個字符新增調適。 + +## Images(圖片) + +*主要用於解決處理大量(背景)圖片時可能遇到的困擾。* + +* **Add Same Image to Selected Glyphs(將相同圖片加入已選取的字符):**要求您選擇一個圖片,然後將其作為背景圖片插入至所有目前選取的字符中。 +* **Adjust Image Alpha(調整圖片透明度):**用於設定已選取字符中所有圖片透明度的滑桿。 +* **Delete All Images in Font(刪除字型中的所有圖片):**刪除整個字型中所有置入的圖片。 +* **Delete Images(刪除圖片):**刪除已選取字符之可見圖層中所有置入的圖片。 +* **Reset Image Transformation(重設圖片變形):**將已選取字符之可見圖層中的所有圖片變形(X/Y 位移、縮放和扭曲)重設回預設值。 +* **Set New Path for Images(設定圖片的新路徑):**重設已選取字符中置入圖片的路徑。當您移動了圖片位置時很實用。 +* **Toggle Image Lock(切換圖片鎖定):**鎖定或解除鎖定所有已選取字符中的全部圖片。 +* **Transform Images(變形圖片):**用於批次變形已選取字符之可見圖層中的圖片(X/Y 位移和 X/Y 縮放)的圖形使用者介面。 + +## Interpolation(內插) + +*最重要的是:Insert Instances(插入實體,用於決定實體及其樣式連結)、Kink Finder(折點尋找器)和 Find Shapeshifting Glyphs(形變字符尋找器)。我經常使用 Show Next/Previous Instance(顯示下一個/上一個實體)搭配 ctrl-上/下方向鍵的快捷鍵。* + +* **Add Grade(新增等級):** 根據您的 Weight(字重)和 Width(字寬)變化軸,新增 Grade(等級)軸和/或 Grade 主板。 +* **Add Missing Brace Layers(新增遺漏的大括號圖層):** 完成 OTVAR 匯出所需的矩形設定。 +* **Axis Location Setter(變化軸位置設定器):** 批次設定具有特定名稱片段的所有實體的軸位置。例如,設定所有 Condensed(壓縮)實體的變化軸位置。 +* **Axis Mapper(變化軸映射器):** 提取、重設並插入軸映射參數的 'avar' 變化軸映射。 +* **Batch-Add Smart Axes(批次新增智慧型變化軸):** 為選取的字符新增智慧型變化軸和額外的智慧型圖層。 +* **Brace and Bracket Manager(大括號和方括號管理器):** 在 Glyphs 3 及更新版本中尋找和替換大括號或方括號圖層座標。 +* **Bracify(大括號化):** 將字型主板轉換為特定字符的大括號圖層。又稱為 Sparsify(稀疏化)。 +* **Composite Variabler(組合變數器):** 在使用組件的複合字符中重新複製組件的大括號和方括號圖層。使方括號圖層在組合字符中生效。 +* **Copy Layer to Layer(圖層間複製):** 將路徑(也可以選擇性地包含組件、錨點和度量)從一個主板複製到另一個主板。 +* **Dekink Masters(主板去折點):** 在所有相容圖層中去除平滑節點三元組的折點(當它們不是水平或垂直時很有用)。在一個或多個平滑節點三元組中選擇一個節點,執行此腳本可將其他所有主板中對應的控制點移動到相同的相對位置。這樣可以在所有主板中達到相同的節點比例,避免當三元組角度改變時出現內插折點。這裡有一個[說明影片](http://tinyurl.com/dekink-py)。三元組問題在[這個教學中有詳細說明](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)。 +* **Enhance Compatibility(增強相容性):** 取用每個選取字符的目前圖層,並將控制點類型、控制點連接、重新對齊控制桿傳播到相同字符的技術相容圖層中。用於修復顯示為相容但仍無法匯出之字符的相容性。 +* **Fill up Empty Masters(填充空白主板):** 將路徑從一個主板複製到另一個主板,但僅在目標主板為空時進行。 +* **Find and Replace in Layer Names(圖層名稱尋找和替換):** 替換選取字符中所有圖層名稱(主板圖層除外)中的文字。當您在多個字符中使用方括號技巧時很有用。 +* **Find Shapeshifting Glyphs(尋找形變字符):** 尋找在內插時改變路徑數量的字符。開啟新分頁並在巨集視窗中回報。 +* **Insert Brace Layers for Component Rotation(插入組件旋轉大括號圖層):** 插入多個具有連續縮放和旋轉組件的大括號圖層。對於具有旋轉元素的 OTVar 內插很有用。 +* **Insert Brace Layers for Movement along Background Path(插入沿背景路徑移動的大括號圖層):** 插入多個包含第一個圖層副本的大括號圖層,根據背景中的第一個路徑進行位移。對於具有移動元素的 OTVar 內插很有用。 +* **Insert Instances(插入實體):** 計算和插入字重實體的圖形使用者介面。在[此教學](https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances)中有相關描述。 +* **Insert Layers(插入圖層):** 在選取的字符中批次插入大括號或方括號圖層。 +* **Instance Cooker(實體產生器):** 使用成份設定一次產生多個實體。 +* **Kink Finder(折點尋找器):** 在外框或內插空間中尋找折點,並在巨集視窗中回報,同時開啟新分頁顯示受影響的字符。關於折點的詳細說明請參考[此教學](https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)。 +* **New Tab with Dangerous Glyphs for Interpolation(開啟具內插風險字符分頁):** 開啟包含所有至少有兩個相容元素的字符分頁。也就是說,會顯示某個元素(路徑或組件)可能與錯誤元素進行內插的字符,例如等號。詳細說明請參考[此教學](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)中的「Find shapeshifters」章節。 +* **New Tab with Special Layers(特殊圖層分頁):** 快速新增包含所有具有大括號和方括號圖層的字符編輯分頁。 +* **New Tab with Uneven Handle Distributions(控制桿分布不均分頁):** 尋找控制桿分布變化過大的字符(例如從平衡分布變為和諧分布)。 +* **OTVar Player(OpenType 可變動畫播放器):** 以迴圈方式沿著字重軸線製作目前字符的動畫。 +* **Remove All Non-Master Layers(移除非主板圖層):** 刪除所有非主板圖層、非大括號圖層、非方括號圖層。適用於清除備份圖層。 +* **Report Instance Interpolations(實體內插報告):** 在巨集視窗中輸出每個實體的主板係數。說明特定實體涉及哪些主板的內插,以及其影響程度。 +* **Reset Axis Mappings(重設變化軸映射):** 為字型中目前所有的樣式值插入(或重設)預設的變化軸映射參數。忽略主板定義的設計空間範圍以外的樣式值。 +* **Set Weight Axis Locations in Instances(設定實體字重軸位置):** 為所有實體設定字重軸位置參數,並與各自的 usWeightClass 同步。如果尚未設定寬度軸座標,將設定為符合 usWidthClass 規格的預設值。否則保持現有設定。 +* **Short Segment Finder(短線段尋找器):** 檢查所有內插並尋找短於使用者指定閾值的線段。 +* **Travel Tracker(路徑追蹤器):** 尋找控制點位移過度的內插,可用於找出錯誤連接的星號和斜線。結果可能不完整,且通常會有許多誤判,但有時能找出 Shapeshifter 腳本遺漏的情況。 +* **Variation Interpolator(變體內插器):** 建立使用者定義數量的字符變體,並加上使用者定義的後綴,包含圖層與其各自背景之間的內插。會覆寫同名字符。類似 Pablo Impallari 的 SimplePolator。適用於例如天城文 Matra 的長度變體,請參考 José Nicolás Silva Schwarzenberg 的[示範影片](https://www.youtube.com/watch?v=QDbaUlHifBc)。 +* * **Other > Lines by Master(依主板分行):** 將您的編輯文字複製到各個主板中,會在編輯面板中為每個主板新增一行。請注意,會忽略第一個換行符號之後的所有內容。適用於在系統偏好設定中新增鍵盤快捷鍵。 +* * **Other > New Tab with Masters of Selected Glyphs(以所選字符的主板開新分頁):** 開啟新的編輯分頁,顯示所選字符的所有主板。 +* * **Other > Show Masters of Next/Previous Glyph(顯示下一個/上一個字符的主板):** 讓您可以逐一瀏覽字符,但會顯示所有主板。結合了顯示下一個/上一個字符功能(fn+左/右方向鍵)與「*編輯 > 顯示所有主板*」功能。適合在系統偏好設定中設定鍵盤快捷鍵。 +* * **Other > Show Next/Previous Instance(顯示下一個/上一個實體):** 在目前編輯分頁的預覽區塊中跳至下一個/上一個實體。適合在系統偏好設定中設定鍵盤快捷鍵。 + +## Kerning(調距) + +*最重要的工具:Auto Bumper(自動調距)、KernCrasher(調距碰撞檢查)、GapFinder(間距檢查)、Sample String Maker(範例字串產生器)。如果您的調距過多,可以考慮使用 Exception Cleaner(例外清理器)。* + +* **Adjust Kerning in Master(主板調距調整):**提供圖形介面,可對所有調距對新增數值、進行倍數運算、進行數值四捨五入,或限制在特定數值範圍內。 +* **Auto Bumper(自動調距):**指定最小間距、左右字符後,Auto Bumper 會在目前的主板中新增必要的最小調距。 +* **BBox Bumper(邊界框調距):**類似 Auto Bumper,但是使用一組字符的邊界框,並將調距以 GPOS 特性程式碼插入到「字型資訊 > 特性 > kern」。當您想要使用與調距群組不同的類別進行群組調距時很有用。需要 Vanilla。 +* **Compare Kerning Between Masters(主板間調距比較):**回報兩個主板之間調距結構的差異。 +* **Compress Glyph(字符壓縮):**僅壓縮指定字符的調距。 +* **Convert RTL Kerning from Glyphs 2 to 3(從 Glyphs 2 轉換 RTL 調距到 Glyphs 3):**將 Glyphs 2 的 RTL 調距轉換為 Glyphs 3 格式並切換調距類別。(按住 Option 和 Shift 可從 Glyphs 3 轉回 Glyphs 2。)詳細報告在巨集視窗中。 +* **Copy Kerning Exceptions to Double Accents(複製調距例外到雙重重音):**將包含 abreve、`acircumflex`、`ecircumflex`、`ocircumflex`、`udieresis` 的調距例外複製到越南語和拼音的雙重重音符號。 +* **Exception Cleaner(例外清理器):**比較每個例外與相同字偶可用的群組調距。如果差異低於閾值,則移除該調距例外。 +* **Find and Replace in Kerning Groups(調距群組尋找與取代):**提供圖形介面,用於在左右調距群組中搜尋和取代文字,例如將「O」取代為「O.alt」。留空搜尋欄位可用於附加。 +* **GapFinder(間隙檢查):**在目前的字型主板中開啟新分頁,顯示具有大間隙的調距組合。 +* **Import Kerning from .fea File(從 .fea 檔案匯入調距):**選擇包含 AFDKO 程式碼 kern 特性的 .fea 檔案,此指令碼將嘗試將調距值匯入最前方的字型主板(請參見「*視窗 > 調距*」)。 +* **KernCrash Current Glyph(目前字符調距碰撞檢查):**在目前的字型主板中開啟新分頁,顯示與目前字符發生碰撞的調距組合。 +* **KernCrasher(調距碰撞檢查):**在目前的字型主板中開啟新分頁,顯示發生碰撞的調距組合。 +* **Kern Flattener(調距平面化):**複製您的字型,將調距平面化為僅限字符對字符的調距,刪除所有群組調距並僅保留相關字偶(內建清單),為每個實體新增*匯出 kern 表格*參數(和其他一些參數)。警告:這只適用於使其與過時和損壞的軟體(如 PowerPoint)相容。不過,無法保證一定有效。 +* **Kern String Mixer(調距字串混合器):**將兩組字符(可使用代碼)相互交叉,以獲得所有可能的字符組合。 +* **New Tab with All Group Members(使用群組成員開新分頁):** 選取兩個字符,例如「Ta」,執行腳本後會開啟新分頁,顯示 T 的右側調距群組與 a 的左側調距群組的所有組合。 +* **New Tab with Glyphs of Same Kerning Groups(相同調距群組字符開新分頁):** 開啟新分頁,顯示目前字符的左右調距群組的所有成員。 +* **New Tab with Kerning Missing in Masters(主板缺漏調距開新分頁):** 為每個主板開啟新分頁,顯示在此主板中缺少但存在於其他主板中的調距。 +* **New Tab with Overkerned Pairs(過度調距字偶開新分頁):** 詢問閾值百分比,並開啟新分頁顯示所有超過寬度閾值的負值調距字偶。例如:閾值為 40%,逗號寬度為 160,腳本會回報任何大於 64(160 的 40%)的負值調距字偶。假設 r-逗號的調距值為 -60,P-逗號的調距值為 -70,在這種情況下,只會回報後者而非前者。 +* **New Tab with Right Groups(右側群組開新分頁):** 建立新分頁,每個右側群組顯示一個字符。適用於檢查右側調距群組的一致性。 +* **New Tab with all Selected Glyph Combinations(已選字符組合開新分頁):** 將您選取的字符建立所有可能的組合並開啟新分頁。同時輸出一個字串到巨集視窗,以備分頁開啟失敗時使用。 +* **New Tab with Uneven Symmetric Kernings(不對稱調距開新分頁):** 尋找對稱字母的調距字偶,如 ATA、AVA、TOT、WIW 等,並檢查 AT 是否與 TA 相同等。 +* **New Tabs with Punctuation Kern Strings(標點符號調距字串開新分頁):** 輸出多個包含標點符號調距字串的分頁。 +* **Partial Compress(部分壓縮):** 僅針對特定字符壓縮調距。 +* **Remove Kerning Between Categories(移除類別間調距):** 移除字符、類別、子類別、字符集之間的調距。 +* **Remove Kerning Exceptions(移除調距例外):** 移除目前主板的所有調距,但保留群組對群組的調距。請謹慎使用。 +* **Remove Kerning Pairs for Selected Glyphs(移除已選字符的調距字偶):** 僅刪除目前主板中已選字符的所有調距字偶。 +* **Remove Orphaned Group Kerning(移除孤立群組調距):** 刪除所有參照到字型中不存在群組的群組調距。 +* **Remove Small Kerning Pairs(移除微小調距字偶):** 移除目前字型主板中所有小於指定值或等於零的調距字偶。請謹慎使用。 +* **Report Kerning Mistakes(回報調距錯誤):** 嘗試找出不必要的調距和群組。在巨集視窗中回報供審查。 +* **Sample String Maker(範例字串產生器):** 為使用者定義的類別建立調距字串,並加入到範例字串中。僅限群組調距,忽略無群組的字符。 +* **Sample Strings with Master Kerning(主板調距範例字串):** 為目前的調距建立調距字串,並加入到範例字串中。 +* **Set Kerning Groups(設定調距群組):** 為所有選取的字符設定左右調距群組。對於組合字符,會使用基礎組件的群組,否則會根據內建字典做出合理推測。 +* **Steal Kerning from InDesign(從 InDesign 取得調距):** 從 InDesign 中設定的文字取得調距。適用於擷取 InDesign 的[光學調距](https://web.archive.org/web/20160414170915/http://blog.extensis.com/adobe/about-adobe%E2%80%99s-optical-kerning.php)值。 +* **Steal Kerning Groups from Font(從字型取得調距群組):** 從第二個字型中取得所有選取字符的左右調距群組。 +* **Transfer RTL kerning(轉移 RTL 調距):** 將從右至左書寫的調距從一個主板轉移到另一個主板。 +* **Zero Kerner(零值調距器):** 為在某個主板中缺少但存在於其他主板的字偶加入值為零的群組調距。有助於在 OTVar 匯出時保留可內插的調距。 + +## Paths(路徑) + +*我使用 Rotate Around Anchor(繞錨點旋轉)來製作星號。對於外框檢查來說很重要的工具有:Path Problem Finder(路徑問題檢測器)、Find Near Vertical Misses(尋找接近垂直的未對齊點)和 Green Blue Manager(綠藍控制點管理器)。Rewire Fire(重新連接工具)在可變字型製作中變得很重要,因為它可以減少形狀邊緣的重複外框線段(這些重複線段會在反鋸齒時產生暗點)。* + +* **Align Selected Nodes with Background(將選取的控制點對齊背景):**將選取的控制點對齊最近的背景控制點,除非該背景控制點已被先前移動的控制點佔用。類似使用 Cmd-Shift-A 來對齊單一控制點與背景,但這個功能可以一次處理多個控制點。 +* **Batch-Set Path Attributes(批次設定路徑屬性):**設定選取字符、主板、字型等中所有路徑的屬性。 +* **Copy Glyphs from Other Font into Backup Layers(將其他字型的字符複製到備份圖層):**在目標字型中為選取的字符建立備份圖層,並用來源字型中對應的字符填充這些圖層。當您想要將一個字型的字符作為另一個字型的括號圖層時很有用。 +* **Distribute Nodes(分配控制點):**水平或垂直分配控制點(取決於選取範圍邊界框的寬高比)。 +* **Enlarge Single-Unit Segments(放大單位線段):**將短於一個單位的線段長度加倍。 +* **Fill Up with Rectangles(以矩形填充):**檢查您選取的字符,如果發現空白的字符,就插入一個佔位矩形。適用於快速建立測試用的暫代字型。 +* **Find Close Encounters of Orthogonal Line Segments(尋找正交線段的接近處):**檢查所有垂直和水平線段,找出接近但未完全對齊的線段對。 +* **Find Near Vertical Misses(尋找接近垂直的未對齊控制點):**找出接近但未完全位於垂直度量線上的控制點。 +* **Green Blue Manager(綠藍控制點管理器):**定義一個角度,高於此角度的控制點將設為藍色,低於此角度的控制點將設為綠色。 +* **Grid Switcher(格線切換器):**透過點選浮動按鈕,在兩個使用者可定義的格線間距值之間切換。 +* **Harmonise Curve to Line(曲線與直線和諧化):**將(選取的)曲線段與其後續直線段的控制點重新排列,使兩個線段之間平滑的轉換(和諧化)。 +* **Interpolate two paths(內插兩個路徑):**選取兩個路徑並執行此腳本,它會將這兩個路徑替換為它們在 50% 處的內插結果。 +* **New Tab with Small Paths(開啟含小路徑的新分頁):**開啟一個新分頁,顯示面積小於使用者可定義閾值(以平方單位計)的路徑。 +* **Path Problem Finder(路徑問題偵測器):**尋找外框中所有可能的問題,並在新分頁中顯示受影響的圖層。 +* **Position Clicker(位置吻合檢查器):**尋找所有位置形狀組合中不能良好吻合的部分。「吻合」指的是重疊時共用兩個節點座標。 +* **Realign BCPs(重新對齊貝茲控制點):**重新對齊所有選取字符中的所有貝茲控制點。當控制桿因推移或其他變形後失去同步,或是在內插後特別有用。按住 Option 鍵可套用到選取字符的所有圖層。 +* **Remove all Open Paths(移除所有開放路徑):**刪除所有選取字符可見圖層中的所有*開放*路徑。 +* **Remove Short Segments(移除短線段):**刪除短於一個單位的線段。 +* **Rewire Fire(重複座標檢查):**尋找、選取並標記重複的座標。位於相同位置的兩個控制點通常可以使用重新連接控制點功能進行重新連接。 +* **Rotate Around Anchor(錨點旋轉):**提供以「rotate」錨點為中心旋轉字符或選取的控制點和組件的圖形介面。允許逐步和重複操作。 +* **Set Transform Origin(設定變形基準點):**提供以數值方式設定旋轉工具變形基準點的簡易圖形介面。對縮放工具也會有效果。 +* **Snap selected points to nearest metric in all masters(將選取節點對齊所有主板中最近的度量):**選取節點並執行此腳本,可將節點對齊每個相容圖層中最近的度量,前提是與度量的距離不超過 2 個單位。在巨集視窗中顯示報告。 +* **Straight Stem Cruncher(直線字幹檢查器):**在所有圖層中尋找節點之間的距離,並與指定的字幹寬度進行比較(具有容許值)。列出繪製中具有偏差字幹的字符。 +* **Tunnify(控制桿平均化):**尋找至少有一個控制桿被選取的所有路徑段。然後,將這些線段的控制桿平均化,也就是讓它們具有相同的曲線符合百分比。可以修正 Adobe Illustrator 的零控制桿(一個控制桿縮回最近控制點的線段)。這個腳本的想法來自 Eduardo Tunni(由 Pablo Impallari 轉述),因此以此命名。不過我從未看過 Eduardo 的演算法,所以我的實作可能與他的有些許不同,特別是在處理零控制桿的部分。 + +## Pixelfonts(像素字型) + +*這些腳本適用於像素字型的工作流程,讓您可以在較粗的網格中放置像素組件。如果您在進行像素設計,可以查看「視窗 > 外掛程式管理員」中提供的像素相關外掛程式。* + +* **Align Anchors to Grid(將錨點對齊格線):**將變音符號的錨點對齊至字型格線。 +* **Delete Components out of Bounds(刪除超出邊界的組件):**如果組件被放置在一般座標範圍之外(當您使用 cmd-方向鍵移動具有較大格線間距的組件時可能發生),這個腳本會將其刪除。 +* **Delete Duplicate Components(刪除重複組件):**尋找重複的組件(相同名稱和位置)並只保留一個。這種情況在製作像素字型時經常發生。 +* **Flashify Pixels(Flash 像素最佳化):**建立小型橋接以防止路徑自我相交,使字符內空白部分保持白色。這個問題在 Flash 字型渲染器中特別明顯,因此腳本以此命名。 +* **Reset Rotated and Mirrored Components(重設旋轉和鏡射組件):**尋找經過縮放、鏡像和旋轉的組件,將它們恢復為預設的縮放比例和方向,但保持其位置不變。這對修正鏡射像素很有用。 + +## Post Production(後製處理) + +*如果您使用最新版本的 Glyphs,DSIG 和 GDEF 腳本已不再需要。對於義大利體的匯出,我建議修正 PS 名稱和 STAT 項目。Upgrade STAT 腳本是選用性的,它會新增目前軟體幾乎不支援的範圍,但可能對未來相容性有幫助。* + +* **Add Empty DSIG (OTVAR)「新增空白 DSIG」:** 在匯出可變字型 (TTF) 後執行此腳本,它會新增一個空白的 DSIG 表格。這是通過 MyFonts 的 OTVAR TTF 上架程序所必需的。需要 FontTools 模組。在最新的 Glyphs 3.2+ 版本中,此腳本應該已不再需要。 +* **Fix GDEF class definition of Legacy Marks (OTVAR)「修正傳統標記的 GDEF 類別定義」:** 修正最近匯出的 OTVAR 中,具有間距、非組合標記的 GDEF 定義,必要時會切換至類別 1(「基底字符」,單一字元,具間距字符)。需要 FontTools 模組。在最新的 Glyphs 3.2+ 版本中,此腳本應該已不再需要。 +* **Fix Italic PS Names (OTVAR)「修正義大利體 PS 名稱」:** 修正目前字型最近匯出中,用於 fvar postScriptName 項目的名稱表格中重複的義大利體命名,例如將 `MyfontItalic-SemiboldItalic` 改為 `MyfontItalic-Semibold`。在匯出義大利體可變字型後立即執行此腳本。需要 FontTools 模組。 +* **Fix Italic STAT Entries (OTVAR)「修正義大利體 STAT 項目」:** 針對每個軸向,將一般 STAT 項目重新命名為「Regular」(必要時也會修改名稱表格),並使其可省略(Flags=2)。通常只在義大利體 OTVAR 匯出時需要。需要 FontTools 模組。 +* **Read and Write Axis Values (OTVAR)「讀取與寫入軸向數值」:** 在 OTVAR 匯出後執行一次,它會讀取目前 Glyphs 檔案最近匯出的 STAT.AxisValueArray,並在您的可變字型設定中新增「Axis Values」參數。當執行時若存在這些自訂參數,它會用來重寫目前 Glyphs 檔案最近匯出的 OTVAR 中的 STAT.AxisValueArray。自訂參數的數值語法:`axisTag; value=name, value=elidableName*, minValue:nominalValue:maxValue=name, value>linkedValue=name` +* **Upgrade STAT Axis Values from Discrete to Ranges (OTVAR)「將 STAT 軸向數值從離散升級為範圍」:** 將具有多個軸向數值的軸的格式 1(離散)STAT 項目轉換為格式 2(範圍)。請在匯出可變字型後立即執行此腳本。需要 FontTools 模組。 + +## Smallcaps(小型大寫字母) + +*當我的字型中有小型大寫字母時,我總是會執行 Check Smallcap Consistency(檢查小型大寫字母一致性)。不過對其報告要抱持保留態度:它列出了許多誤判項目,且並非每個警告都同樣重要。* + +* **Check Smallcap Consistency(檢查小型大寫字母一致性):**對您的小型大寫字母集進行一系列測試,並在巨集視窗中提供報告,特別是針對調距群組和字符集的部分。 +* **Copy Kerning from Caps to Smallcaps(從大寫複製調距至小型大寫字母):**尋找大寫字母的調距字偶,並在字型中有對應的 .sc 字符時,複製其調距設定。請謹慎使用:這會覆寫現有的小型大寫字母調距字偶。 + +## Spacing(間距) + +*最重要的是:Fix Math Operator Spacing(修正數學運算子間距)、Bracket Metrics Manager(括號度量管理器),如果有箭頭符號,則需要 Fix Arrow Positioning(修正箭頭位置)。建立數字時,New Tab(開新分頁)系列腳本很實用。* + +* **Add Metrics Keys for Symmetric Glyphs(為對稱字符加入度量鍵):** 當所有主板中的右側空白 (RSB) 與左側空白 (LSB) 相同時,會加入 RSB =|。 +* **Adjust Sidebearings(調整邊界):** 可進行邊界的乘除、加減、限制或四捨五入,並可區分正負值的邊界。 +* **Bracket Metrics Manager(括號度量管理器):** 管理括號圖層的邊界和寬度,例如美元符號和美分符號。 +* **Center Glyphs(置中字符):** 將所有選取的字符置中於其寬度內,使 LSB=RSB。 +* **Change Metrics by Percentage(依百分比更改度量):** 依百分比更改選取字符的左右邊界。可使用還原按鈕復原。 +* **Find and Replace in Metrics Keys(在度量鍵中尋找和取代):** 用於在左右度量鍵中搜尋與取代文字的圖形介面,例如將「=X+15」取代為「=X」。搜尋欄位留空則為附加模式。 +* **Fix Arrow Positioning(修正箭頭位置):** 根據指定的預設箭頭修正箭頭的位置和度量鍵。加入度量鍵並垂直移動箭頭。僅作用於現有字符,不會建立新字符。 +* **Fix Math Operator Spacing(修正數學運算子間距):** 同步寬度並置中 +−×÷=≠±≈¬ 等符號,可選擇是否包含大於/小於符號和抑揚符/波浪號。 +* **Freeze Placeholders(凍結預留位置):** 在目前的編輯分頁中,將所有插入的預留位置變更為目前字符,從而「凍結」預留位置。 +* **Metrics Key Manager(度量鍵管理器):** 批次套用度量鍵到目前的字型。 +* **Monospace Checker(等寬檢查器):** 檢查最前方字型中的所有字符寬度是否確實等寬。在巨集視窗中回報並開啟受影響圖層的分頁。 +* **New Tab with all Figure Combinations(開啟含所有數字組合的新分頁):** 開啟含所有可能數字組合的新分頁。同時輸出字串到巨集視窗,以備開啟分頁失敗時使用。 +* **New Tab with Fraction Figure Combinations(開啟含分數數字組合的新分頁):** 開啟含分數數字組合的編輯分頁,用於調整間距和調距。 +* **Remove Layer-Specific Metrics Keys(移除圖層專用度量鍵):** 刪除所有選取字符的所有圖層專用(==)左右度量鍵。同時簡化字符度量鍵(例如,將「=H」變更為「H」)。 +* **Remove Metrics Keys(移除度量鍵):** 刪除所有選取字符的左右度量鍵。影響所有主板和圖層。 +* **Reset Alternate Glyph Widths(重設替代字符寬度):** 將帶後綴的字符寬度重設為其無後綴對應字符的寬度。例如,將 `Adieresis.ss01` 重設為 `Adieresis` 的寬度。 +* **Spacing Checker(間距檢查器):** 尋找具有異常間距的字符並在新分頁中開啟。 +* **Steal Metrics(擷取度量):** 從第二個字型擷取所有選取字符的邊界或寬度值。可選擇是否也轉移如「=x+20」等度量鍵。 +* **Tabular Checker(等寬檢查器):** 檢查等寬字符是否等寬,並回報例外情況。 +* **Tabular Figure Maker(等寬數字製作器):** 使用現有的 .tf 數字並設定等寬間距,或從現有的預設數字建立它們。 + +## Test(測試) + +*最重要的是 Test HTML(測試 HTML)腳本。如果你在 Adobe 或 Apple 應用程式中發現文字選取區域異常偏高或偏低,請執行 Report Highest and Lowest Glyphs(回報最高與最低字符)來找出造成問題的字符。Language Report(語言報告)僅供充實你的樣本使用,不會提供權威性的資訊。* + +* **Copy InDesign Test Text(複製 InDesign 測試文字):**將測試文字複製到剪貼簿中,供 InDesign 使用。 +* **Copy Word Test Text(複製 Word 測試文字):**將測試文字複製到剪貼簿中,供 MS Word 使用。 +* **Language Report(語言報告):**試圖根據你的拉丁字符提供初步的語言支援範圍評估。以 Underware 的 Latin-Plus 清單為基礎並加以修改。 +* **Pangram Helper(全字母句協助工具):**協助你撰寫全字母句,可複製到剪貼簿或放入新分頁中。 +* **Report Highest and Lowest Glyphs(回報最高與最低字符):**回報所有主板中具有最高和最低邊界框的字符。 +* **Variable Font Test HTML(可變字型測試 HTML):**在目前可變字型匯出資料夾中為目前的字型建立測試用 HTML。 +* **Webfont Test HTML(網頁字型測試 HTML):**在目前的網頁字型匯出資料夾內,或是目前 Glyphs 專案的匯出路徑中,建立一個測試用 HTML。 + +# 授權條款 + +Copyright 2011 The mekkablue Glyphs-Scripts (Glyphs 腳本) Project Authors (專案作者群)。 + +部分程式碼範例由 Georg Seifert (@schriftgestalt) 和 Tal Leming (@typesupply) 提供。 + +部分演算法構想由 Christoph Schindler (@hop) 和 Maciej Ratajski (@maciejratajski) 提供。 + +部分程式碼修正來自 Rafał Buchner (@RafalBuchner)。 + +本專案採用 Apache License, Version 2.0 (Apache 2.0 版授權條款) 授權。 +除非遵守本授權條款,否則不得使用此處提供的軟體。 +您可以在以下網址取得授權條款內容: http://www.apache.org/licenses/LICENSE-2.0 -See the License file included in this repository for further details. +如需更多詳細資訊,請參閱本儲存庫中隨附的授權條款檔案。 From 51c70743967a62ad6991a310ee6aca70c87e8186 Mon Sep 17 00:00:00 2001 From: yintzuyuan Date: Sat, 26 Oct 2024 23:50:44 +0800 Subject: [PATCH 17/18] =?UTF-8?q?md=E6=A0=BC=E5=BC=8F=E8=AA=BF=E6=95=B4?= =?UTF-8?q?=E3=80=81Most=20important:=20=E7=B5=B1=E4=B8=80=E8=AA=BF?= =?UTF-8?q?=E6=95=B4=E7=82=BA=E3=80=8C=E8=87=B3=E9=97=9C=E9=87=8D=E8=A6=81?= =?UTF-8?q?=EF=BC=9A=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 268 +++++++++++++++++++++++++++--------------------------- 1 file changed, 134 insertions(+), 134 deletions(-) diff --git a/README.md b/README.md index 36dfb8eb..9b2636a6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ --- -date: 2024-10-25 +updated: 2024-10-25 language: zh-Hant translator: yintzuyuan --- @@ -93,28 +93,28 @@ git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Sup *如果您正在編寫程式碼,建議為 Method Reporter(方法回報器)設定快捷鍵,因為您會經常需要使用它。如果您想要取得視窗內容的解析度獨立的 PDF 螢幕截圖,Print Window(列印視窗)會很有用,特別適合在向量繪圖應用程式中進行後製。* -* **Close All Tabs of All Open Fonts(關閉所有開啟字型的所有分頁):**關閉目前在應用程式中開啟的所有字型的所有編輯分頁。 -* **Copy Download URL for Current App Version(複製目前應用程式版本的下載網址):**將目前 Glyphs 應用程式版本的下載網址複製到剪貼簿中,方便貼上。 -* **Decrease(減少)**和 **Increase Line Height(增加行高):**將編輯檢視的行高增加四分之一或減少五分之一。如果您需要經常切換行高,設定快捷鍵會很有用。 -* **Method Reporter(方法回報器):**用於過濾 Glyphs 中可用的 Python 和 PyObjC 類別方法名稱的圖形使用者介面。您可以使用多個以空格分隔的搜尋詞(作為 AND 連接)以及星號作為萬用字元(可在開頭、中間和結尾使用)。連按兩下可將方法名稱複製到剪貼簿並在巨集視窗中開啟說明。對程式設計師很有用。 -* **Parameter Reporter(參數回報器):**類似 Method Reporter,但用於自訂參數。連按兩下可將參數複製到剪貼簿中,可直接貼到字型資訊中。 -* **Print Window(列印視窗):**列印最前方的視窗。適用於儲存視窗內容的向量 PDF,包含回報器外掛程式的渲染結果(*顯示* 選單的擴充功能)。 -* **Resetter(重設工具):**重設快速預覽、鍵盤快捷鍵,並清除應用程式偏好設定、已儲存的應用程式狀態和自動儲存。 -* **Set Export Paths to Adobe Fonts Folder(設定匯出路徑至 Adobe 字型資料夾):**將 OpenType 字型和可變字型的匯出路徑設定為 Adobe 字型資料夾。 -* **Set Hidden App Preferences(設定隱藏的應用程式偏好設定):**用於讀取和設定圖形使用者介面中未列出的「隱藏」應用程式偏好設定的介面。 -* **Set Label Colors(設定標籤顏色):**覆寫預設的應用程式標籤顏色。 -* **Set Tool Shortcuts(設定工具快捷鍵):**設定工具列中工具的鍵盤快捷鍵。 -* **Toggle Horizontal-Vertical(切換水平-垂直):**在 LTR(水平)和垂直書寫方向之間切換最前方的分頁。適合設定鍵盤快捷鍵。 -* **Toggle Macro Window Separator(切換巨集視窗分隔線):**在巨集視窗中切換分隔線位置,在 80% 和 20% 之間切換。 -* **Toggle RTL-LTR(切換 RTL-LTR):**在 LTR 和 RTL 書寫方向之間切換最前方的分頁。適合在系統偏好設定中設定鍵盤快捷鍵。 -* **Toggle Script Windows(切換腳本視窗):**顯示或隱藏所有腳本視窗。適合在應用程式設定中指派快捷鍵。 -* **Update git Repositories in Scripts Folder(更新腳本資料夾中的 git 儲存庫):**在 Glyphs 腳本資料夾的所有子資料夾中執行「git pull」指令。如果您的腳本資料夾中有許多 git 儲存庫,這會很有用。 -* **Update Text Preview(更新文字預覽):**強制更新「視窗 > 文字預覽」。當您在字型視窗以外進行變更(如在字型資訊中的 OpenType 特性)且預覽無法自動重新整理時很有用。 -* **Navigate > Activate next/previous glyph(導覽 > 啟用下一個/上一個字符):**在編輯檢視中啟用下一個/上一個字符進行編輯。 +* **Close All Tabs of All Open Fonts(關閉所有開啟字型的所有分頁):** 關閉目前在應用程式中開啟的所有字型的所有編輯分頁。 +* **Copy Download URL for Current App Version(複製目前應用程式版本的下載網址):** 將目前 Glyphs 應用程式版本的下載網址複製到剪貼簿中,方便貼上。 +* **Decrease(減少)** 和 **Increase Line Height(增加行高):** 將編輯檢視的行高增加四分之一或減少五分之一。如果您需要經常切換行高,設定快捷鍵會很有用。 +* **Method Reporter(方法回報器):** 用於過濾 Glyphs 中可用的 Python 和 PyObjC 類別方法名稱的圖形使用者介面。您可以使用多個以空格分隔的搜尋詞(作為 AND 連接)以及星號作為萬用字元(可在開頭、中間和結尾使用)。連按兩下可將方法名稱複製到剪貼簿並在巨集視窗中開啟說明。對程式設計師很有用。 +* **Parameter Reporter(參數回報器):** 類似 Method Reporter,但用於自訂參數。連按兩下可將參數複製到剪貼簿中,可直接貼到字型資訊中。 +* **Print Window(列印視窗):** 列印最前方的視窗。適用於儲存視窗內容的向量 PDF,包含回報器外掛程式的渲染結果(*顯示* 選單的擴充功能)。 +* **Resetter(重設工具):** 重設快速預覽、鍵盤快捷鍵,並清除應用程式偏好設定、已儲存的應用程式狀態和自動儲存。 +* **Set Export Paths to Adobe Fonts Folder(設定匯出路徑至 Adobe 字型資料夾):** 將 OpenType 字型和可變字型的匯出路徑設定為 Adobe 字型資料夾。 +* **Set Hidden App Preferences(設定隱藏的應用程式偏好設定):** 用於讀取和設定圖形使用者介面中未列出的「隱藏」應用程式偏好設定的介面。 +* **Set Label Colors(設定標籤顏色):** 覆寫預設的應用程式標籤顏色。 +* **Set Tool Shortcuts(設定工具快捷鍵):** 設定工具列中工具的鍵盤快捷鍵。 +* **Toggle Horizontal-Vertical(切換水平-垂直):** 在 LTR(水平)和垂直書寫方向之間切換最前方的分頁。適合設定鍵盤快捷鍵。 +* **Toggle Macro Window Separator(切換巨集視窗分隔線):** 在巨集視窗中切換分隔線位置,在 80% 和 20% 之間切換。 +* **Toggle RTL-LTR(切換 RTL-LTR):** 在 LTR 和 RTL 書寫方向之間切換最前方的分頁。適合在系統偏好設定中設定鍵盤快捷鍵。 +* **Toggle Script Windows(切換腳本視窗):** 顯示或隱藏所有腳本視窗。適合在應用程式設定中指派快捷鍵。 +* **Update git Repositories in Scripts Folder(更新腳本資料夾中的 git 儲存庫):** 在 Glyphs 腳本資料夾的所有子資料夾中執行「git pull」指令。如果您的腳本資料夾中有許多 git 儲存庫,這會很有用。 +* **Update Text Preview(更新文字預覽):** 強制更新「視窗 > 文字預覽」。當您在字型視窗以外進行變更(如在字型資訊中的 OpenType 特性)且預覽無法自動重新整理時很有用。 +* **Navigate > Activate next/previous glyph(導覽 > 啟用下一個/上一個字符):** 在編輯檢視中啟用下一個/上一個字符進行編輯。 ## Build Glyphs(建立字符) -*最重要的是:Quote Manager(引號管理器),以及用於建立 Small Figures(小型數字)、Symbols(符號)、Ldot(L 點)的建構指令。其他指令主要用於當客戶要求特定 Unicode 範圍時,能快速開始製作。* +*至關重要:Quote Manager(引號管理器),以及用於建立 Small Figures(小型數字)、Symbols(符號)、Ldot(L 點)的建構指令。其他指令主要用於當客戶要求特定 Unicode 範圍時,能快速開始製作。* * **Add Adobe Symbol Glyphs(新增 Adobe 符號字符):** 當字型中缺少以下符號字符時,會新增 Adobe 的內插符號:*Omega、Delta、Ohm、increment(增量)、asciicircum(插入符號)、greaterequal(大於等於)、infinity(無限)、partialdiff(偏微分)、lessequal(小於等於)、notequal(不等於)、product(乘積)、approxequal(約等於)、plus(加號)、lozenge(菱形)、integral(積分)、summation(總和)、radical(根號)、daggerdbl(雙劍號)、perthousand(千分號)、logicalnot(邏輯非)、plusminus(正負號)、asciitilde(波浪號)、divide(除號)、minus(減號)、multiply(乘號)、dagger(劍號)、less(小於)、equal(等於)、greater(大於)、literSign(升號)、.notdef(未定義字符)。* 需要安裝 makeotf (AFDKO)。 * **Build APL Greek(建立 APL 希臘文):** 建立 APL 希臘文字符。 @@ -174,23 +174,23 @@ git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Sup *當您想根據其他字母建立新字母時,Populate Backgrounds with Components(使用組件填充背景)非常實用,例如 ae 或 oe 可以在背景中放置 e。此腳本會在每個主板的背景中放入 e,並且使用者介面有一個選項可以將選取的控制點與背景中的 e 對齊。如果您在多主板字型中使用角落組件來製作襯線,Propagate(傳播)腳本可以為您節省大量時間。* -* **Alignment Manager(對齊管理器):**啟用或停用所選字符中可見圖層上所有組件的自動就定位功能。與右鍵選單中的指令功能相同,但您可以一次為多個字符執行此操作。 -* **Auto-align Composites with Incremental Metrics Keys(使用遞增度量鍵自動對齊組合字符):**針對最前方的字型,自動對齊只有第一個組件停用自動就定位的組合字符。忽略 .tf、.tosf 和數學運算符。會開啟一個分頁顯示受影響的字符圖層。 -* **Cap and Corner Manager(筆帽與角落管理器):**在最前方字型的所有字符中批次編輯筆帽、角落、筆刷或線段組件的設定。 -* **Component Mover(組件移動工具):**在選取的字符中批次編輯(智慧)組件。變更位置、縮放比例和智慧屬性。 -* **Component Problem Finder(組件問題偵測器):**尋找組件和角落組件可能存在的問題:由路徑組成的可組合字符;鎖定、巢狀、孤立、鏡射、偏移、旋轉和縮放的組件;具有不尋常組件順序或非正統組件結構的組合字符。同時也會檢查斷開連接和縮放的角落組件。 -* **Composite Consistencer(組合字符一致性檢查器):**檢查最前方字型中所有字符的目前主板中的組合字符。如果帶點後綴的字符變體缺少組件,會在巨集視窗中報告。 -* **Decompose Components in Background(分解背景中的組件):**分解選取字符的背景圖層。可用於目前主板或所有主板,或所有字型的所有主板。 -* **Decompose Corner and Cap Components(分解角落和筆帽組件):**分解選取字符中的所有角落和筆帽組件。在巨集視窗中報告結果。 -* **Find and Replace Components(尋找和取代組件):**將選取字符中的組件重新連結到新的來源字符。 -* **Find and Replace Cap and Corner Components(尋找和取代筆帽和角落組件):**將選取字符中的 `_cap.*` 和 `_corner.*` 組件重新連結到不同的角落/筆帽組件。 -* **Find and Replace Corner Components at Certain Angles(在特定角度尋找和取代角落組件):**取代鈍角或銳角處的角落組件。 -* **Move Paths to Component(將路徑移至組件):**將路徑移至單獨的字符,並將其作為自動就定位的錨點組件插入來源字符中。非常適合將路徑與組件混合的字符轉換為純組合字符。 -* **Populate Backgrounds with Components(使用組件填充背景):**將指定的組件加入字符的所有背景中,並允許您將選取的前景控制點對齊到該組件。對於保持前景中已分解形狀與相似字符同步很有用。 -* **Propagate Corner Components to Other Masters(將角落組件傳播到其他主板):**嘗試在同一字符的所有其他主板中重新建立目前主板圖層的角落組件。請確保您的外框相容。 -* **Remove Components(移除組件):**從所有(選取的)字符中移除指定的組件。 -* **Remove Detached Corners(移除分離的角落):**從所有(選取的)字符中移除分離的角落組件。 -* **Sync Components Across Masters(在主板間同步組件):**取用目前圖層的組件,並將所有其他主板重設為相同的組件結構。忽略路徑和錨點。按住 Option 鍵可*刪除*所有路徑和錨點。 +* **Alignment Manager(對齊管理器):** 啟用或停用所選字符中可見圖層上所有組件的自動就定位功能。與右鍵選單中的指令功能相同,但您可以一次為多個字符執行此操作。 +* **Auto-align Composites with Incremental Metrics Keys(使用遞增度量鍵自動對齊組合字符):** 針對最前方的字型,自動對齊只有第一個組件停用自動就定位的組合字符。忽略 .tf、.tosf 和數學運算符。會開啟一個分頁顯示受影響的字符圖層。 +* **Cap and Corner Manager(筆帽與角落管理器):** 在最前方字型的所有字符中批次編輯筆帽、角落、筆刷或線段組件的設定。 +* **Component Mover(組件移動工具):** 在選取的字符中批次編輯(智慧)組件。變更位置、縮放比例和智慧屬性。 +* **Component Problem Finder(組件問題偵測器):** 尋找組件和角落組件可能存在的問題:由路徑組成的可組合字符;鎖定、巢狀、孤立、鏡射、偏移、旋轉和縮放的組件;具有不尋常組件順序或非正統組件結構的組合字符。同時也會檢查斷開連接和縮放的角落組件。 +* **Composite Consistencer(組合字符一致性檢查器):** 檢查最前方字型中所有字符的目前主板中的組合字符。如果帶點後綴的字符變體缺少組件,會在巨集視窗中報告。 +* **Decompose Components in Background(分解背景中的組件):** 分解選取字符的背景圖層。可用於目前主板或所有主板,或所有字型的所有主板。 +* **Decompose Corner and Cap Components(分解角落和筆帽組件):** 分解選取字符中的所有角落和筆帽組件。在巨集視窗中報告結果。 +* **Find and Replace Components(尋找和取代組件):** 將選取字符中的組件重新連結到新的來源字符。 +* **Find and Replace Cap and Corner Components(尋找和取代筆帽和角落組件):** 將選取字符中的 `_cap.*` 和 `_corner.*` 組件重新連結到不同的角落/筆帽組件。 +* **Find and Replace Corner Components at Certain Angles(在特定角度尋找和取代角落組件):** 取代鈍角或銳角處的角落組件。 +* **Move Paths to Component(將路徑移至組件):** 將路徑移至單獨的字符,並將其作為自動就定位的錨點組件插入來源字符中。非常適合將路徑與組件混合的字符轉換為純組合字符。 +* **Populate Backgrounds with Components(使用組件填充背景):** 將指定的組件加入字符的所有背景中,並允許您將選取的前景控制點對齊到該組件。對於保持前景中已分解形狀與相似字符同步很有用。 +* **Propagate Corner Components to Other Masters(將角落組件傳播到其他主板):** 嘗試在同一字符的所有其他主板中重新建立目前主板圖層的角落組件。請確保您的外框相容。 +* **Remove Components(移除組件):** 從所有(選取的)字符中移除指定的組件。 +* **Remove Detached Corners(移除分離的角落):** 從所有(選取的)字符中移除分離的角落組件。 +* **Sync Components Across Masters(在主板間同步組件):** 取用目前圖層的組件,並將所有其他主板重設為相同的組件結構。忽略路徑和錨點。按住 Option 鍵可*刪除*所有路徑和錨點。 ## Features(特性) @@ -219,41 +219,41 @@ git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Sup *Vertical Metrics(垂直度量)對於在「字型資訊 > 字型」和「字型資訊 > 主板」中尋找和同步垂直度量參數很有用。Clean Version String(清理版本字串)也非常實用。Font Info Batch Setter(字型資訊批次設定器)對於在多個字型之間同步字型資訊設定是不可或缺的。使用 Set WWS/Preferred Names(設定 WWS/偏好名稱)腳本時要小心:應用程式通常會自動處理命名,所以很少需要使用這些腳本。* -* **Batch-Import Masters(批次匯入主板):**使用匯入主板參數一次匯入多個主板。 -* **Clean Version String(清理版本字串):**新增乾淨的 versionString 參數,並在版本字串中停用 ttfAutohint 資訊。匯出的字型將只包含「Version X.XXX」格式的版本字串。 -* **Find and Replace in Font Info(字型資訊搜尋與取代):**在「字型資訊 > 字型」和「字型資訊 > 實體」中搜尋和取代名稱。 -* **Find and Replace In Instance Parameters(實體參數搜尋與取代):**在目前字型或專案檔案被選取實體的自訂參數中進行搜尋和取代。 -* **Font Info Batch Setter(字型資訊批次設定器):**批次套用「字型資訊 > 字型」內的設定到開啟的字型中:設計師、設計師網址、製造商、製造商網址、版權、版本號碼、日期和時間。適用於在多個字型之間同步字型資訊設定。 -* **Font Info Overview(字型資訊總覽):**列出所有開啟字型的部分字型資訊值。 -* **OTVAR Maker(OTVAR 產生器):**在「字型資訊 > 匯出」中建立可變字型設定。 -* **Prepare Font Info(準備字型資訊):**透過設定特定自訂參數,為現代字型製作和 git 工作流程準備開啟的字型。 -* **PS Name Maker(PS 名稱產生器):**為所有實體建立 postscriptFontName 項目(名稱 ID 6),並提供縮短名稱的選項。 -* **Remove Custom Parameters(移除自訂參數):**從「字型資訊 > 字型、主板、實體」中移除某一類型的所有參數。當您有許多主板或實體時很有用。 -* **Set Preferred Names for Width Variants(設定寬度變體的偏好名稱)(名稱 ID 16 和 17):**為所有實體設定偏好名稱自訂參數(名稱 ID 16 和 17),使寬度變體在 Adobe 應用程式中出現在獨立的選單中。 -* **Set Style Linking(設定樣式連結):**嘗試設定粗體/義大利體位元。 -* **Set Subscript and Superscript Parameters(設定下標和上標參數):**測量您的上標和下標數字,並推導出下標/上標的 X/Y 偏移/大小參數。 -* **Set WWS Names(設定 WWS 名稱)(名稱 ID 21 和 22):**在必要時為所有實體設定 WWS 自訂參數(名稱 ID 21 和 22):將除 RIBBI 以外的所有資訊放入 WWSFamilyName,並只在 WWSSubfamilyName 中保留 RIBBI。 -* **Style Renamer(樣式重命名器):**批次在樣式名稱中添加名稱片段,或從中批次移除。適用於將所有樣式從義大利體命名切換到羅馬體命名,反之亦然。 -* **Vertical Metrics Manager(垂直度量管理器):**計算並插入 OS/2 usWin 和 sTypo、hhea 以及 fsSelection 位元 7 的值(用於優先使用 sTypo 度量而非 usWin 度量)。 +* **Batch-Import Masters(批次匯入主板):** 使用匯入主板參數一次匯入多個主板。 +* **Clean Version String(清理版本字串):** 新增乾淨的 versionString 參數,並在版本字串中停用 ttfAutohint 資訊。匯出的字型將只包含「Version X.XXX」格式的版本字串。 +* **Find and Replace in Font Info(字型資訊搜尋與取代):** 在「字型資訊 > 字型」和「字型資訊 > 實體」中搜尋和取代名稱。 +* **Find and Replace In Instance Parameters(實體參數搜尋與取代):** 在目前字型或專案檔案被選取實體的自訂參數中進行搜尋和取代。 +* **Font Info Batch Setter(字型資訊批次設定器):** 批次套用「字型資訊 > 字型」內的設定到開啟的字型中:設計師、設計師網址、製造商、製造商網址、版權、版本號碼、日期和時間。適用於在多個字型之間同步字型資訊設定。 +* **Font Info Overview(字型資訊總覽):** 列出所有開啟字型的部分字型資訊值。 +* **OTVAR Maker(OTVAR 產生器):** 在「字型資訊 > 匯出」中建立可變字型設定。 +* **Prepare Font Info(準備字型資訊):** 透過設定特定自訂參數,為現代字型製作和 git 工作流程準備開啟的字型。 +* **PS Name Maker(PS 名稱產生器):** 為所有實體建立 postscriptFontName 項目(名稱 ID 6),並提供縮短名稱的選項。 +* **Remove Custom Parameters(移除自訂參數):** 從「字型資訊 > 字型、主板、實體」中移除某一類型的所有參數。當您有許多主板或實體時很有用。 +* **Set Preferred Names for Width Variants(設定寬度變體的偏好名稱)(名稱 ID 16 和 17):** 為所有實體設定偏好名稱自訂參數(名稱 ID 16 和 17),使寬度變體在 Adobe 應用程式中出現在獨立的選單中。 +* **Set Style Linking(設定樣式連結):** 嘗試設定粗體/義大利體位元。 +* **Set Subscript and Superscript Parameters(設定下標和上標參數):** 測量您的上標和下標數字,並推導出下標/上標的 X/Y 偏移/大小參數。 +* **Set WWS Names(設定 WWS 名稱)(名稱 ID 21 和 22):** 在必要時為所有實體設定 WWS 自訂參數(名稱 ID 21 和 22):將除 RIBBI 以外的所有資訊放入 WWSFamilyName,並只在 WWSSubfamilyName 中保留 RIBBI。 +* **Style Renamer(樣式重命名器):** 批次在樣式名稱中添加名稱片段,或從中批次移除。適用於將所有樣式從義大利體命名切換到羅馬體命名,反之亦然。 +* **Vertical Metrics Manager(垂直度量管理器):** 計算並插入 OS/2 usWin 和 sTypo、hhea 以及 fsSelection 位元 7 的值(用於優先使用 sTypo 度量而非 usWin 度量)。 ## Glyph Names, Notes and Unicode(字符名稱、註記與 Unicode) *大多數文字系統都能讓字符名稱和 Unicode 的管理變得較為容易。在將檔案交給第三方之前,Garbage Collection(垃圾清理)對清除回報腳本或其他註記的雜亂資料很有幫助。* -* **Add PUA Unicode Values to Selected Glyphs(替選取的字符加入私用區 Unicode 值):**逐一處理選取的字符,並從使用者指定的值開始,依序套用自訂 Unicode 值。 -* **Casefolding Report(大小寫配對回報):**檢查大寫與小寫是否相符。開啟新的編輯分頁,顯示所有沒有一致大小寫配對的字符。在巨集視窗中寫入詳細回報。 -* **Color Composites in Shade of Base Glyph(以基礎字符色調標示組合字符):**以基礎字符較淺色調標示組合字符。例如,如果您的 A 標示為紅色,那麼 ÄÁÀĂ... 就會呈現較淺的紅色。 -* **Convert to Uppercase(轉換為大寫):**將小寫名稱轉換為大寫名稱,例如:`a` → `A`、`ccaron` → `Ccaron`、`aeacute` → `AEacute` 等。 -* **Convert to Lowercase(轉換為小寫):**將選取字符的名稱轉換為小寫。 -* **Double Encode micro, Ohm and increment(micro、Ohm 和 increment 雙重編碼):**替 micro、Ohm 和 increment 加入 mu、Omega 和 Delta 的 Unicode。 -* **Encoding Converter(編碼轉換器):**根據可匯入/匯出的重新命名方案文字,將舊式專家級 8 位元編碼轉換為 Glyphs 的標準名稱。預設為 AXt 轉換方案。 -* **Garbage Collection(垃圾清理):**移除字符中的標記,如控制點名稱、字符名稱或註記,以及參考線。 -* **Glyph Order Manager(字符順序管理器):**用於管理字符順序參數的使用者介面,也可跨多個檔案。 -* **Production Namer(產品用命名器):**覆寫預設的產品用名稱。預設為在傳統 PDF 工作流程中會造成問題的常見項目:mu、onesuperior、twosuperior、threesuperior。 -* **Rename Glyphs(重新命名字符):**採用 `oldglyphname=newglyphname` 的配對清單,據此重新命名字型中的字符,類似「重新命名字符」自訂參數。 -* **Reorder Unicodes of Selected Glyphs(重新排序選取字符的 Unicode):**重新排序 Unicode,使預設 Unicode 排在最前。 -* **Reset Unicode Codepoints Based on GlyphData(根據字符資料重設 Unicode 碼位):**對於選取的字符,其功能類似「字符 > 更新字符資訊」,但不會更改名稱,而是重設 Unicode。將處理內建的 GlyphData 和位於 ~/Library/Application Support/Glyphs 3/Info/ 的 GlyphData-XXX.xml。 -* **Switch Mirrored Characters(切換鏡像字元):**在目前的編輯面板中,切換雙向文字的鏡射字元,例如 () → )(。在分頁中切換書寫方向後,用於切換括號和引號很有用。 +* **Add PUA Unicode Values to Selected Glyphs(替選取的字符加入私用區 Unicode 值):** 逐一處理選取的字符,並從使用者指定的值開始,依序套用自訂 Unicode 值。 +* **Casefolding Report(大小寫配對回報):** 檢查大寫與小寫是否相符。開啟新的編輯分頁,顯示所有沒有一致大小寫配對的字符。在巨集視窗中寫入詳細回報。 +* **Color Composites in Shade of Base Glyph(以基礎字符色調標示組合字符):** 以基礎字符較淺色調標示組合字符。例如,如果您的 A 標示為紅色,那麼 ÄÁÀĂ... 就會呈現較淺的紅色。 +* **Convert to Uppercase(轉換為大寫):** 將小寫名稱轉換為大寫名稱,例如:`a` → `A`、`ccaron` → `Ccaron`、`aeacute` → `AEacute` 等。 +* **Convert to Lowercase(轉換為小寫):** 將選取字符的名稱轉換為小寫。 +* **Double Encode micro, Ohm and increment(micro、Ohm 和 increment 雙重編碼):** 替 micro、Ohm 和 increment 加入 mu、Omega 和 Delta 的 Unicode。 +* **Encoding Converter(編碼轉換器):** 根據可匯入/匯出的重新命名方案文字,將舊式專家級 8 位元編碼轉換為 Glyphs 的標準名稱。預設為 AXt 轉換方案。 +* **Garbage Collection(垃圾清理):** 移除字符中的標記,如控制點名稱、字符名稱或註記,以及參考線。 +* **Glyph Order Manager(字符順序管理器):** 用於管理字符順序參數的使用者介面,也可跨多個檔案。 +* **Production Namer(產品用命名器):** 覆寫預設的產品用名稱。預設為在傳統 PDF 工作流程中會造成問題的常見項目:mu、onesuperior、twosuperior、threesuperior。 +* **Rename Glyphs(重新命名字符):** 採用 `oldglyphname=newglyphname` 的配對清單,據此重新命名字型中的字符,類似「重新命名字符」自訂參數。 +* **Reorder Unicodes of Selected Glyphs(重新排序選取字符的 Unicode):** 重新排序 Unicode,使預設 Unicode 排在最前。 +* **Reset Unicode Codepoints Based on GlyphData(根據字符資料重設 Unicode 碼位):** 對於選取的字符,其功能類似「字符 > 更新字符資訊」,但不會更改名稱,而是重設 Unicode。將處理內建的 GlyphData 和位於 ~/Library/Application Support/Glyphs 3/Info/ 的 GlyphData-XXX.xml。 +* **Switch Mirrored Characters(切換鏡像字元):** 在目前的編輯面板中,切換雙向文字的鏡射字元,例如 () → )(。在分頁中切換書寫方向後,用於切換括號和引號很有用。 ## Guides(參考線) @@ -267,7 +267,7 @@ git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Sup ## Hinting(字型調適) -*最重要:為 PostScript 調適設定 blueScale 值和字型家族對齊區域。如果您要進行大幅度修改,Transfer(傳輸)和 Keep Only(僅保留)腳本可以為您節省大量工作。New Tab(新增分頁)系列腳本可協助找出缺少對齊區域的字符。另外也可以考慮使用「Paths > Find Near Vertical Misses(路徑 > 尋找接近垂直未對齊處)」來達到此目的。* +*至關重要:為 PostScript 調適設定 blueScale 值和字型家族對齊區域。如果您要進行大幅度修改,Transfer(傳輸)和 Keep Only(僅保留)腳本可以為您節省大量工作。New Tab(新增分頁)系列腳本可協助找出缺少對齊區域的字符。另外也可以考慮使用「Paths > Find Near Vertical Misses(路徑 > 尋找接近垂直未對齊處)」來達到此目的。* * **Add Alignment Zones for Selected Glyphs(為選取的字符新增對齊區域):** 在所有主板中為選取的字符建立適當的對齊區域。 * **Add Hints for Selected Nodes(為選取的控制點新增調適):** 為選取的控制點新增調適。會自動判斷應該使用水平或垂直調適。如果在對齊區域內只選取一個控制點,會新增幽靈調適。適合在系統偏好設定中設定快捷鍵。 @@ -294,18 +294,18 @@ git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Sup *主要用於解決處理大量(背景)圖片時可能遇到的困擾。* -* **Add Same Image to Selected Glyphs(將相同圖片加入已選取的字符):**要求您選擇一個圖片,然後將其作為背景圖片插入至所有目前選取的字符中。 -* **Adjust Image Alpha(調整圖片透明度):**用於設定已選取字符中所有圖片透明度的滑桿。 -* **Delete All Images in Font(刪除字型中的所有圖片):**刪除整個字型中所有置入的圖片。 -* **Delete Images(刪除圖片):**刪除已選取字符之可見圖層中所有置入的圖片。 -* **Reset Image Transformation(重設圖片變形):**將已選取字符之可見圖層中的所有圖片變形(X/Y 位移、縮放和扭曲)重設回預設值。 -* **Set New Path for Images(設定圖片的新路徑):**重設已選取字符中置入圖片的路徑。當您移動了圖片位置時很實用。 -* **Toggle Image Lock(切換圖片鎖定):**鎖定或解除鎖定所有已選取字符中的全部圖片。 -* **Transform Images(變形圖片):**用於批次變形已選取字符之可見圖層中的圖片(X/Y 位移和 X/Y 縮放)的圖形使用者介面。 +* **Add Same Image to Selected Glyphs(將相同圖片加入已選取的字符):** 要求您選擇一個圖片,然後將其作為背景圖片插入至所有目前選取的字符中。 +* **Adjust Image Alpha(調整圖片透明度):** 用於設定已選取字符中所有圖片透明度的滑桿。 +* **Delete All Images in Font(刪除字型中的所有圖片):** 刪除整個字型中所有置入的圖片。 +* **Delete Images(刪除圖片):** 刪除已選取字符之可見圖層中所有置入的圖片。 +* **Reset Image Transformation(重設圖片變形):** 將已選取字符之可見圖層中的所有圖片變形(X/Y 位移、縮放和扭曲)重設回預設值。 +* **Set New Path for Images(設定圖片的新路徑):** 重設已選取字符中置入圖片的路徑。當您移動了圖片位置時很實用。 +* **Toggle Image Lock(切換圖片鎖定):** 鎖定或解除鎖定所有已選取字符中的全部圖片。 +* **Transform Images(變形圖片):** 用於批次變形已選取字符之可見圖層中的圖片(X/Y 位移和 X/Y 縮放)的圖形使用者介面。 ## Interpolation(內插) -*最重要的是:Insert Instances(插入實體,用於決定實體及其樣式連結)、Kink Finder(折點尋找器)和 Find Shapeshifting Glyphs(形變字符尋找器)。我經常使用 Show Next/Previous Instance(顯示下一個/上一個實體)搭配 ctrl-上/下方向鍵的快捷鍵。* +*至關重要:Insert Instances(插入實體,用於決定實體及其樣式連結)、Kink Finder(折點尋找器)和 Find Shapeshifting Glyphs(形變字符尋找器)。我經常使用 Show Next/Previous Instance(顯示下一個/上一個實體)搭配 ctrl-上/下方向鍵的快捷鍵。* * **Add Grade(新增等級):** 根據您的 Weight(字重)和 Width(字寬)變化軸,新增 Grade(等級)軸和/或 Grade 主板。 * **Add Missing Brace Layers(新增遺漏的大括號圖層):** 完成 OTVAR 匯出所需的矩形設定。 @@ -345,23 +345,23 @@ git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Sup ## Kerning(調距) -*最重要的工具:Auto Bumper(自動調距)、KernCrasher(調距碰撞檢查)、GapFinder(間距檢查)、Sample String Maker(範例字串產生器)。如果您的調距過多,可以考慮使用 Exception Cleaner(例外清理器)。* - -* **Adjust Kerning in Master(主板調距調整):**提供圖形介面,可對所有調距對新增數值、進行倍數運算、進行數值四捨五入,或限制在特定數值範圍內。 -* **Auto Bumper(自動調距):**指定最小間距、左右字符後,Auto Bumper 會在目前的主板中新增必要的最小調距。 -* **BBox Bumper(邊界框調距):**類似 Auto Bumper,但是使用一組字符的邊界框,並將調距以 GPOS 特性程式碼插入到「字型資訊 > 特性 > kern」。當您想要使用與調距群組不同的類別進行群組調距時很有用。需要 Vanilla。 -* **Compare Kerning Between Masters(主板間調距比較):**回報兩個主板之間調距結構的差異。 -* **Compress Glyph(字符壓縮):**僅壓縮指定字符的調距。 -* **Convert RTL Kerning from Glyphs 2 to 3(從 Glyphs 2 轉換 RTL 調距到 Glyphs 3):**將 Glyphs 2 的 RTL 調距轉換為 Glyphs 3 格式並切換調距類別。(按住 Option 和 Shift 可從 Glyphs 3 轉回 Glyphs 2。)詳細報告在巨集視窗中。 -* **Copy Kerning Exceptions to Double Accents(複製調距例外到雙重重音):**將包含 abreve、`acircumflex`、`ecircumflex`、`ocircumflex`、`udieresis` 的調距例外複製到越南語和拼音的雙重重音符號。 -* **Exception Cleaner(例外清理器):**比較每個例外與相同字偶可用的群組調距。如果差異低於閾值,則移除該調距例外。 -* **Find and Replace in Kerning Groups(調距群組尋找與取代):**提供圖形介面,用於在左右調距群組中搜尋和取代文字,例如將「O」取代為「O.alt」。留空搜尋欄位可用於附加。 -* **GapFinder(間隙檢查):**在目前的字型主板中開啟新分頁,顯示具有大間隙的調距組合。 -* **Import Kerning from .fea File(從 .fea 檔案匯入調距):**選擇包含 AFDKO 程式碼 kern 特性的 .fea 檔案,此指令碼將嘗試將調距值匯入最前方的字型主板(請參見「*視窗 > 調距*」)。 -* **KernCrash Current Glyph(目前字符調距碰撞檢查):**在目前的字型主板中開啟新分頁,顯示與目前字符發生碰撞的調距組合。 -* **KernCrasher(調距碰撞檢查):**在目前的字型主板中開啟新分頁,顯示發生碰撞的調距組合。 -* **Kern Flattener(調距平面化):**複製您的字型,將調距平面化為僅限字符對字符的調距,刪除所有群組調距並僅保留相關字偶(內建清單),為每個實體新增*匯出 kern 表格*參數(和其他一些參數)。警告:這只適用於使其與過時和損壞的軟體(如 PowerPoint)相容。不過,無法保證一定有效。 -* **Kern String Mixer(調距字串混合器):**將兩組字符(可使用代碼)相互交叉,以獲得所有可能的字符組合。 +*至關重要:Auto Bumper(自動調距)、KernCrasher(調距碰撞檢查)、GapFinder(間距檢查)、Sample String Maker(範例字串產生器)。如果您的調距過多,可以考慮使用 Exception Cleaner(例外清理器)。* + +* **Adjust Kerning in Master(主板調距調整):** 提供圖形介面,可對所有調距對新增數值、進行倍數運算、進行數值四捨五入,或限制在特定數值範圍內。 +* **Auto Bumper(自動調距):** 指定最小間距、左右字符後,Auto Bumper 會在目前的主板中新增必要的最小調距。 +* **BBox Bumper(邊界框調距):** 類似 Auto Bumper,但是使用一組字符的邊界框,並將調距以 GPOS 特性程式碼插入到「字型資訊 > 特性 > kern」。當您想要使用與調距群組不同的類別進行群組調距時很有用。需要 Vanilla。 +* **Compare Kerning Between Masters(主板間調距比較):** 回報兩個主板之間調距結構的差異。 +* **Compress Glyph(字符壓縮):** 僅壓縮指定字符的調距。 +* **Convert RTL Kerning from Glyphs 2 to 3(從 Glyphs 2 轉換 RTL 調距到 Glyphs 3):** 將 Glyphs 2 的 RTL 調距轉換為 Glyphs 3 格式並切換調距類別。(按住 Option 和 Shift 可從 Glyphs 3 轉回 Glyphs 2。)詳細報告在巨集視窗中。 +* **Copy Kerning Exceptions to Double Accents(複製調距例外到雙重重音):** 將包含 abreve、`acircumflex`、`ecircumflex`、`ocircumflex`、`udieresis` 的調距例外複製到越南語和拼音的雙重重音符號。 +* **Exception Cleaner(例外清理器):** 比較每個例外與相同字偶可用的群組調距。如果差異低於閾值,則移除該調距例外。 +* **Find and Replace in Kerning Groups(調距群組尋找與取代):** 提供圖形介面,用於在左右調距群組中搜尋和取代文字,例如將「O」取代為「O.alt」。留空搜尋欄位可用於附加。 +* **GapFinder(間隙檢查):** 在目前的字型主板中開啟新分頁,顯示具有大間隙的調距組合。 +* **Import Kerning from .fea File(從 .fea 檔案匯入調距):** 選擇包含 AFDKO 程式碼 kern 特性的 .fea 檔案,此指令碼將嘗試將調距值匯入最前方的字型主板(請參見「*視窗 > 調距*」)。 +* **KernCrash Current Glyph(目前字符調距碰撞檢查):** 在目前的字型主板中開啟新分頁,顯示與目前字符發生碰撞的調距組合。 +* **KernCrasher(調距碰撞檢查):** 在目前的字型主板中開啟新分頁,顯示發生碰撞的調距組合。 +* **Kern Flattener(調距平面化):** 複製您的字型,將調距平面化為僅限字符對字符的調距,刪除所有群組調距並僅保留相關字偶(內建清單),為每個實體新增*匯出 kern 表格*參數(和其他一些參數)。警告:這只適用於使其與過時和損壞的軟體(如 PowerPoint)相容。不過,無法保證一定有效。 +* **Kern String Mixer(調距字串混合器):** 將兩組字符(可使用代碼)相互交叉,以獲得所有可能的字符組合。 * **New Tab with All Group Members(使用群組成員開新分頁):** 選取兩個字符,例如「Ta」,執行腳本後會開啟新分頁,顯示 T 的右側調距群組與 a 的左側調距群組的所有組合。 * **New Tab with Glyphs of Same Kerning Groups(相同調距群組字符開新分頁):** 開啟新分頁,顯示目前字符的左右調距群組的所有成員。 * **New Tab with Kerning Missing in Masters(主板缺漏調距開新分頁):** 為每個主板開啟新分頁,顯示在此主板中缺少但存在於其他主板中的調距。 @@ -389,40 +389,40 @@ git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Sup *我使用 Rotate Around Anchor(繞錨點旋轉)來製作星號。對於外框檢查來說很重要的工具有:Path Problem Finder(路徑問題檢測器)、Find Near Vertical Misses(尋找接近垂直的未對齊點)和 Green Blue Manager(綠藍控制點管理器)。Rewire Fire(重新連接工具)在可變字型製作中變得很重要,因為它可以減少形狀邊緣的重複外框線段(這些重複線段會在反鋸齒時產生暗點)。* -* **Align Selected Nodes with Background(將選取的控制點對齊背景):**將選取的控制點對齊最近的背景控制點,除非該背景控制點已被先前移動的控制點佔用。類似使用 Cmd-Shift-A 來對齊單一控制點與背景,但這個功能可以一次處理多個控制點。 -* **Batch-Set Path Attributes(批次設定路徑屬性):**設定選取字符、主板、字型等中所有路徑的屬性。 -* **Copy Glyphs from Other Font into Backup Layers(將其他字型的字符複製到備份圖層):**在目標字型中為選取的字符建立備份圖層,並用來源字型中對應的字符填充這些圖層。當您想要將一個字型的字符作為另一個字型的括號圖層時很有用。 -* **Distribute Nodes(分配控制點):**水平或垂直分配控制點(取決於選取範圍邊界框的寬高比)。 -* **Enlarge Single-Unit Segments(放大單位線段):**將短於一個單位的線段長度加倍。 -* **Fill Up with Rectangles(以矩形填充):**檢查您選取的字符,如果發現空白的字符,就插入一個佔位矩形。適用於快速建立測試用的暫代字型。 -* **Find Close Encounters of Orthogonal Line Segments(尋找正交線段的接近處):**檢查所有垂直和水平線段,找出接近但未完全對齊的線段對。 -* **Find Near Vertical Misses(尋找接近垂直的未對齊控制點):**找出接近但未完全位於垂直度量線上的控制點。 -* **Green Blue Manager(綠藍控制點管理器):**定義一個角度,高於此角度的控制點將設為藍色,低於此角度的控制點將設為綠色。 -* **Grid Switcher(格線切換器):**透過點選浮動按鈕,在兩個使用者可定義的格線間距值之間切換。 -* **Harmonise Curve to Line(曲線與直線和諧化):**將(選取的)曲線段與其後續直線段的控制點重新排列,使兩個線段之間平滑的轉換(和諧化)。 -* **Interpolate two paths(內插兩個路徑):**選取兩個路徑並執行此腳本,它會將這兩個路徑替換為它們在 50% 處的內插結果。 -* **New Tab with Small Paths(開啟含小路徑的新分頁):**開啟一個新分頁,顯示面積小於使用者可定義閾值(以平方單位計)的路徑。 -* **Path Problem Finder(路徑問題偵測器):**尋找外框中所有可能的問題,並在新分頁中顯示受影響的圖層。 -* **Position Clicker(位置吻合檢查器):**尋找所有位置形狀組合中不能良好吻合的部分。「吻合」指的是重疊時共用兩個節點座標。 -* **Realign BCPs(重新對齊貝茲控制點):**重新對齊所有選取字符中的所有貝茲控制點。當控制桿因推移或其他變形後失去同步,或是在內插後特別有用。按住 Option 鍵可套用到選取字符的所有圖層。 -* **Remove all Open Paths(移除所有開放路徑):**刪除所有選取字符可見圖層中的所有*開放*路徑。 -* **Remove Short Segments(移除短線段):**刪除短於一個單位的線段。 -* **Rewire Fire(重複座標檢查):**尋找、選取並標記重複的座標。位於相同位置的兩個控制點通常可以使用重新連接控制點功能進行重新連接。 -* **Rotate Around Anchor(錨點旋轉):**提供以「rotate」錨點為中心旋轉字符或選取的控制點和組件的圖形介面。允許逐步和重複操作。 -* **Set Transform Origin(設定變形基準點):**提供以數值方式設定旋轉工具變形基準點的簡易圖形介面。對縮放工具也會有效果。 -* **Snap selected points to nearest metric in all masters(將選取節點對齊所有主板中最近的度量):**選取節點並執行此腳本,可將節點對齊每個相容圖層中最近的度量,前提是與度量的距離不超過 2 個單位。在巨集視窗中顯示報告。 -* **Straight Stem Cruncher(直線字幹檢查器):**在所有圖層中尋找節點之間的距離,並與指定的字幹寬度進行比較(具有容許值)。列出繪製中具有偏差字幹的字符。 -* **Tunnify(控制桿平均化):**尋找至少有一個控制桿被選取的所有路徑段。然後,將這些線段的控制桿平均化,也就是讓它們具有相同的曲線符合百分比。可以修正 Adobe Illustrator 的零控制桿(一個控制桿縮回最近控制點的線段)。這個腳本的想法來自 Eduardo Tunni(由 Pablo Impallari 轉述),因此以此命名。不過我從未看過 Eduardo 的演算法,所以我的實作可能與他的有些許不同,特別是在處理零控制桿的部分。 +* **Align Selected Nodes with Background(將選取的控制點對齊背景):** 將選取的控制點對齊最近的背景控制點,除非該背景控制點已被先前移動的控制點佔用。類似使用 Cmd-Shift-A 來對齊單一控制點與背景,但這個功能可以一次處理多個控制點。 +* **Batch-Set Path Attributes(批次設定路徑屬性):** 設定選取字符、主板、字型等中所有路徑的屬性。 +* **Copy Glyphs from Other Font into Backup Layers(將其他字型的字符複製到備份圖層):** 在目標字型中為選取的字符建立備份圖層,並用來源字型中對應的字符填充這些圖層。當您想要將一個字型的字符作為另一個字型的括號圖層時很有用。 +* **Distribute Nodes(分配控制點):** 水平或垂直分配控制點(取決於選取範圍邊界框的寬高比)。 +* **Enlarge Single-Unit Segments(放大單位線段):** 將短於一個單位的線段長度加倍。 +* **Fill Up with Rectangles(以矩形填充):** 檢查您選取的字符,如果發現空白的字符,就插入一個佔位矩形。適用於快速建立測試用的暫代字型。 +* **Find Close Encounters of Orthogonal Line Segments(尋找正交線段的接近處):** 檢查所有垂直和水平線段,找出接近但未完全對齊的線段對。 +* **Find Near Vertical Misses(尋找接近垂直的未對齊控制點):** 找出接近但未完全位於垂直度量線上的控制點。 +* **Green Blue Manager(綠藍控制點管理器):** 定義一個角度,高於此角度的控制點將設為藍色,低於此角度的控制點將設為綠色。 +* **Grid Switcher(格線切換器):** 透過點選浮動按鈕,在兩個使用者可定義的格線間距值之間切換。 +* **Harmonise Curve to Line(曲線與直線和諧化):** 將(選取的)曲線段與其後續直線段的控制點重新排列,使兩個線段之間平滑的轉換(和諧化)。 +* **Interpolate two paths(內插兩個路徑):** 選取兩個路徑並執行此腳本,它會將這兩個路徑替換為它們在 50% 處的內插結果。 +* **New Tab with Small Paths(開啟含小路徑的新分頁):** 開啟一個新分頁,顯示面積小於使用者可定義閾值(以平方單位計)的路徑。 +* **Path Problem Finder(路徑問題偵測器):** 尋找外框中所有可能的問題,並在新分頁中顯示受影響的圖層。 +* **Position Clicker(位置吻合檢查器):** 尋找所有位置形狀組合中不能良好吻合的部分。「吻合」指的是重疊時共用兩個節點座標。 +* **Realign BCPs(重新對齊貝茲控制點):** 重新對齊所有選取字符中的所有貝茲控制點。當控制桿因推移或其他變形後失去同步,或是在內插後特別有用。按住 Option 鍵可套用到選取字符的所有圖層。 +* **Remove all Open Paths(移除所有開放路徑):** 刪除所有選取字符可見圖層中的所有*開放*路徑。 +* **Remove Short Segments(移除短線段):** 刪除短於一個單位的線段。 +* **Rewire Fire(重複座標檢查):** 尋找、選取並標記重複的座標。位於相同位置的兩個控制點通常可以使用重新連接控制點功能進行重新連接。 +* **Rotate Around Anchor(錨點旋轉):** 提供以「rotate」錨點為中心旋轉字符或選取的控制點和組件的圖形介面。允許逐步和重複操作。 +* **Set Transform Origin(設定變形基準點):** 提供以數值方式設定旋轉工具變形基準點的簡易圖形介面。對縮放工具也會有效果。 +* **Snap selected points to nearest metric in all masters(將選取節點對齊所有主板中最近的度量):** 選取節點並執行此腳本,可將節點對齊每個相容圖層中最近的度量,前提是與度量的距離不超過 2 個單位。在巨集視窗中顯示報告。 +* **Straight Stem Cruncher(直線字幹檢查器):** 在所有圖層中尋找節點之間的距離,並與指定的字幹寬度進行比較(具有容許值)。列出繪製中具有偏差字幹的字符。 +* **Tunnify(控制桿平均化):** 尋找至少有一個控制桿被選取的所有路徑段。然後,將這些線段的控制桿平均化,也就是讓它們具有相同的曲線符合百分比。可以修正 Adobe Illustrator 的零控制桿(一個控制桿縮回最近控制點的線段)。這個腳本的想法來自 Eduardo Tunni(由 Pablo Impallari 轉述),因此以此命名。不過我從未看過 Eduardo 的演算法,所以我的實作可能與他的有些許不同,特別是在處理零控制桿的部分。 ## Pixelfonts(像素字型) *這些腳本適用於像素字型的工作流程,讓您可以在較粗的網格中放置像素組件。如果您在進行像素設計,可以查看「視窗 > 外掛程式管理員」中提供的像素相關外掛程式。* -* **Align Anchors to Grid(將錨點對齊格線):**將變音符號的錨點對齊至字型格線。 -* **Delete Components out of Bounds(刪除超出邊界的組件):**如果組件被放置在一般座標範圍之外(當您使用 cmd-方向鍵移動具有較大格線間距的組件時可能發生),這個腳本會將其刪除。 -* **Delete Duplicate Components(刪除重複組件):**尋找重複的組件(相同名稱和位置)並只保留一個。這種情況在製作像素字型時經常發生。 -* **Flashify Pixels(Flash 像素最佳化):**建立小型橋接以防止路徑自我相交,使字符內空白部分保持白色。這個問題在 Flash 字型渲染器中特別明顯,因此腳本以此命名。 -* **Reset Rotated and Mirrored Components(重設旋轉和鏡射組件):**尋找經過縮放、鏡像和旋轉的組件,將它們恢復為預設的縮放比例和方向,但保持其位置不變。這對修正鏡射像素很有用。 +* **Align Anchors to Grid(將錨點對齊格線):** 將變音符號的錨點對齊至字型格線。 +* **Delete Components out of Bounds(刪除超出邊界的組件):** 如果組件被放置在一般座標範圍之外(當您使用 cmd-方向鍵移動具有較大格線間距的組件時可能發生),這個腳本會將其刪除。 +* **Delete Duplicate Components(刪除重複組件):** 尋找重複的組件(相同名稱和位置)並只保留一個。這種情況在製作像素字型時經常發生。 +* **Flashify Pixels(Flash 像素最佳化):** 建立小型橋接以防止路徑自我相交,使字符內空白部分保持白色。這個問題在 Flash 字型渲染器中特別明顯,因此腳本以此命名。 +* **Reset Rotated and Mirrored Components(重設旋轉和鏡射組件):** 尋找經過縮放、鏡像和旋轉的組件,將它們恢復為預設的縮放比例和方向,但保持其位置不變。這對修正鏡射像素很有用。 ## Post Production(後製處理) @@ -439,12 +439,12 @@ git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Sup *當我的字型中有小型大寫字母時,我總是會執行 Check Smallcap Consistency(檢查小型大寫字母一致性)。不過對其報告要抱持保留態度:它列出了許多誤判項目,且並非每個警告都同樣重要。* -* **Check Smallcap Consistency(檢查小型大寫字母一致性):**對您的小型大寫字母集進行一系列測試,並在巨集視窗中提供報告,特別是針對調距群組和字符集的部分。 -* **Copy Kerning from Caps to Smallcaps(從大寫複製調距至小型大寫字母):**尋找大寫字母的調距字偶,並在字型中有對應的 .sc 字符時,複製其調距設定。請謹慎使用:這會覆寫現有的小型大寫字母調距字偶。 +* **Check Smallcap Consistency(檢查小型大寫字母一致性):** 對您的小型大寫字母集進行一系列測試,並在巨集視窗中提供報告,特別是針對調距群組和字符集的部分。 +* **Copy Kerning from Caps to Smallcaps(從大寫複製調距至小型大寫字母):** 尋找大寫字母的調距字偶,並在字型中有對應的 .sc 字符時,複製其調距設定。請謹慎使用:這會覆寫現有的小型大寫字母調距字偶。 ## Spacing(間距) -*最重要的是:Fix Math Operator Spacing(修正數學運算子間距)、Bracket Metrics Manager(括號度量管理器),如果有箭頭符號,則需要 Fix Arrow Positioning(修正箭頭位置)。建立數字時,New Tab(開新分頁)系列腳本很實用。* +*至關重要:Fix Math Operator Spacing(修正數學運算子間距)、Bracket Metrics Manager(括號度量管理器),如果有箭頭符號,則需要 Fix Arrow Positioning(修正箭頭位置)。建立數字時,New Tab(開新分頁)系列腳本很實用。* * **Add Metrics Keys for Symmetric Glyphs(為對稱字符加入度量鍵):** 當所有主板中的右側空白 (RSB) 與左側空白 (LSB) 相同時,會加入 RSB =|。 * **Adjust Sidebearings(調整邊界):** 可進行邊界的乘除、加減、限制或四捨五入,並可區分正負值的邊界。 @@ -469,15 +469,15 @@ git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Sup ## Test(測試) -*最重要的是 Test HTML(測試 HTML)腳本。如果你在 Adobe 或 Apple 應用程式中發現文字選取區域異常偏高或偏低,請執行 Report Highest and Lowest Glyphs(回報最高與最低字符)來找出造成問題的字符。Language Report(語言報告)僅供充實你的樣本使用,不會提供權威性的資訊。* +*至關重要:Test HTML(測試 HTML)腳本。如果你在 Adobe 或 Apple 應用程式中發現文字選取區域異常偏高或偏低,請執行 Report Highest and Lowest Glyphs(回報最高與最低字符)來找出造成問題的字符。Language Report(語言報告)僅供充實你的樣本使用,不會提供權威性的資訊。* -* **Copy InDesign Test Text(複製 InDesign 測試文字):**將測試文字複製到剪貼簿中,供 InDesign 使用。 -* **Copy Word Test Text(複製 Word 測試文字):**將測試文字複製到剪貼簿中,供 MS Word 使用。 -* **Language Report(語言報告):**試圖根據你的拉丁字符提供初步的語言支援範圍評估。以 Underware 的 Latin-Plus 清單為基礎並加以修改。 -* **Pangram Helper(全字母句協助工具):**協助你撰寫全字母句,可複製到剪貼簿或放入新分頁中。 -* **Report Highest and Lowest Glyphs(回報最高與最低字符):**回報所有主板中具有最高和最低邊界框的字符。 -* **Variable Font Test HTML(可變字型測試 HTML):**在目前可變字型匯出資料夾中為目前的字型建立測試用 HTML。 -* **Webfont Test HTML(網頁字型測試 HTML):**在目前的網頁字型匯出資料夾內,或是目前 Glyphs 專案的匯出路徑中,建立一個測試用 HTML。 +* **Copy InDesign Test Text(複製 InDesign 測試文字):** 將測試文字複製到剪貼簿中,供 InDesign 使用。 +* **Copy Word Test Text(複製 Word 測試文字):** 將測試文字複製到剪貼簿中,供 MS Word 使用。 +* **Language Report(語言報告):** 試圖根據你的拉丁字符提供初步的語言支援範圍評估。以 Underware 的 Latin-Plus 清單為基礎並加以修改。 +* **Pangram Helper(全字母句協助工具):** 協助你撰寫全字母句,可複製到剪貼簿或放入新分頁中。 +* **Report Highest and Lowest Glyphs(回報最高與最低字符):** 回報所有主板中具有最高和最低邊界框的字符。 +* **Variable Font Test HTML(可變字型測試 HTML):** 在目前可變字型匯出資料夾中為目前的字型建立測試用 HTML。 +* **Webfont Test HTML(網頁字型測試 HTML):** 在目前的網頁字型匯出資料夾內,或是目前 Glyphs 專案的匯出路徑中,建立一個測試用 HTML。 # 授權條款 From 1b73b7d6c0f695f398ec4f2bf56845451e976dc2 Mon Sep 17 00:00:00 2001 From: yintzuyuan Date: Sun, 27 Oct 2024 00:07:02 +0800 Subject: [PATCH 18/18] =?UTF-8?q?=E5=BB=BA=E7=AB=8B=E7=BF=BB=E8=AD=AF?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README-zh-Hant.md | 498 ++++++++++++++++++++++++ README.md | 944 +++++++++++++++++++++++----------------------- 2 files changed, 968 insertions(+), 474 deletions(-) create mode 100644 README-zh-Hant.md diff --git a/README-zh-Hant.md b/README-zh-Hant.md new file mode 100644 index 00000000..9b2636a6 --- /dev/null +++ b/README-zh-Hant.md @@ -0,0 +1,498 @@ +--- +updated: 2024-10-25 +language: zh-Hant +translator: yintzuyuan +--- +# 關於 + +這些是用於 [Glyphs 字型編輯器](http://glyphsapp.com/)(字型編輯軟體)中進行字型製作的 Python 腳本。 + +# 安裝方式 + +## Glyphs 3 + +1. **安裝模組:** 在「視窗 > 外掛程式管理員」中,點選「模組」分頁,確認至少已安裝 [Python](glyphsapp3://showplugin/python)(程式語言)和 [Vanilla](glyphsapp3://showplugin/vanilla)(介面框架)模組。如果這些模組之前未安裝,請重新啟動應用程式。 +2. **安裝腳本:** 前往「視窗 > 外掛程式管理員」並點選「腳本」分頁。向下捲動至 [mekkablue scripts](glyphsapp3://showplugin/mekkablue%20scripts)(腳本集),點選旁邊的「安裝」按鈕。 + +現在這些腳本可在「腳本 > mekkablue」中使用。如果 mekkablue 腳本沒有出現在「腳本」選單中,請按住 Option 鍵並選擇「腳本 > 重新載入腳本」(Cmd-Opt-Shift-Y)。 + + +## Glyphs 2 + +### Glyphs 2 的影片安裝指南 + +YouTube 上有一部[關於如何安裝 mekkablue 腳本的教學影片](https://www.youtube.com/watch?v=Q6ly16Q0BmE)。當您造訪時,歡迎訂閱 [mekkablue 頻道](https://www.youtube.com/channel/UCFPSSuEMZVQtrFpTzgFh9lA)。 + +### Glyphs 2 的一般安裝指南 + +腳本需要放在應用程式的 Application Support 資料夾中的「Scripts」資料夾內。以下是安裝步驟: + +1. 將腳本資料夾(或其別名)放入選擇「腳本 > 打開腳本資料夾」(Cmd-Shift-Y) 時出現的「Scripts」資料夾中:`~/Library/Application Support/Glyphs/Scripts/`,或者更好的方式是使用 **git**。詳見下方說明。 +2. 然後,按住 Option (Alt) 鍵,並選擇「腳本 > 重新載入腳本」(Cmd-Opt-Shift-Y)。現在腳本會顯示在「腳本」選單中。 +3. 對於某些腳本,您還需要安裝 Tal Leming 的 *Vanilla:* 前往「Glyphs > 偏好設定 > 附加元件 > 模組」並點選「安裝模組」按鈕。這樣就完成了。 + +### Glyphs 2 的 git 安裝方式 + +我建議使用 git 來取得腳本,因為這樣更容易保持更新。使用以下 git 指令將儲存庫複製到您的「腳本」資料夾中: + +```bash +git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Support/Glyphs/Scripts/mekkablue/ +``` + +如果您對終端機感到不安,可以使用許多現成的 git 用戶端,例如免費的 [Source Tree](https://www.sourcetreeapp.com)(版本控制工具)或 [GitHub Desktop](https://desktop.github.com)(版本控制工具)。 + +安裝 mekkablue 腳本後,您可以透過執行「腳本 > mekkablue > App > Update git Repositories in Scripts Folder」來**更新**這個腳本儲存庫(以及您腳本資料夾中的所有其他儲存庫)。 + +# 疑難排解 + +請在 [GitHub issue](/issues) 回報問題和功能要求。請確保您使用最新版本的腳本,且應用程式已更新至最新版本。此外,請務必**同時註明您的 Glyphs 和 macOS 版本**。感謝您的配合。 + +# 系統需求 + +這些腳本需要在 macOS 10.9 或更新版本上執行最新版本的 Glyphs 2.x。我只能在最新版本的軟體中測試並使用這些腳本。如果腳本無法運作,請先更新至最新版本的腳本。 + +# 關於這些腳本 + +所有腳本在滑鼠指標停留在其選單項目上時都會顯示**工具提示**。在具有圖形使用者介面的腳本中,大多數 UI 元素(核取方塊、文字輸入欄位等)也都有工具提示。這樣您就能在需要的地方獲得解釋說明。 + +## Anchors(錨點) + +*Anchor Mover(錨點移動工具)用於批次處理錨點位置。在調整 x 字高後特別有用。簡單建議:我總是在組合標號上使用 Reposition 指令碼,這樣堆疊的組合標號就能保持在義大利體的傾斜角度。* + +* **Add missing smart anchors(新增遺漏的智慧錨點):** 在所有圖層中為選取的智慧字符的屬性新增所有錨點。略過 *Width*(寬度)和 *Height*(高度)錨點。 +* **Add ZWRO origin Anchors(新增 ZWRO 原點錨點):** 在指定文字的所有組合標號中插入 ZWRO 的原點錨點。 +* **Anchor Mover(錨點移動工具):** 用於在多個字符中批次處理錨點位置的圖形使用者介面。 +* **Batch Insert Anchors(批次插入錨點):** 用於在多個字符中批次插入相同名稱且位於相近位置的錨點的圖形使用者介面。 +* **Find and Replace in Anchor Names(錨點名稱尋找與取代):** 用於在選取字符的錨點名稱中取代文字的圖形使用者介面。處理所有圖層。 +* **Fix Arabic Anchor Order in Ligatures(修正阿拉伯文合字中的錨點順序):** 將 *top_X* 和 *bottom_X* 錨點的順序修正為從右到左。在從其他格式轉換的檔案中,有時會發生 *top_1* 在 *top_2* 左側的情況,但應該相反,否則您的 mark2liga 會出錯。這個指令碼會檢查您選取的字符,如果是阿拉伯文合字,就會將所有錨點重新排序為從右到左,同時保持其座標不變。 +* **Insert All Anchors in All Layers(在所有圖層中插入所有錨點):** 在選取字符的每個圖層中,新增所有遺漏的錨點(但在該字符的其他圖層中已存在)。將錨點放在平均位置。 +* **Insert #exit and #entry anchors at sidebearings(在字距邊緣插入 #exit 和 #entry 錨點):** 在選取字符的所有主板和特殊圖層中,在左側字距插入 #entry,在右側字距插入 #exit(從左到右)或相反(從右到左)。除非按住 Option-Shift,否則不會覆寫現有錨點。 +* **Insert #exit and #entry on baseline at selected points(在選取點的基線上插入 #exit 和 #entry):** 使用最外側選取點的 x 座標,在基線上新增具有相同 x 座標的 #exit 和 #entry 錨點。對於從組件建立合字很有用。 +* **Insert exit and entry Anchors to Selected Positional Glyphs(在選取的位置字符中插入 exit 和 entry 錨點):** 在選取字符中新增用於連寫連接的 entry 和 exit 錨點。預設會將 exit 放在 (0, 0),如果右側字距存在控制點,則將 entry 放在該處。請根據需求調整。 +* **Mark Mover(標號移動工具):** 將標號移動到各自的高度,例如將 …comb.case 移至大寫字高,將 …comb 移至 x 字高等。也允許設定左右度量鍵。 +* **Move ogonek Anchors to Baseline Intersection(將 ogonek 錨點移至基線交點):** 將所有 ogonek 和 _ogonek 錨點移至外框與基線最右側的交點。 +* **Move topright Anchors for Vertical Carons(移動垂直抑揚符號的右上錨點):** 將所有 topright 和 _topright 錨點移至外框與 x 字高最右側的交點。對於建立捷克/斯洛伐克文字的垂直抑揚符號很有用。 +* **Move Vietnamese Marks to top_viet Anchor in Circumflex(將越南文標號移至外加符號中的 top_viet 錨點):** 在選取字符的每個圖層中,將 *acute*、*grave* 和 *hookabovecomb* 移至 *top_viet* 錨點。對於越南文雙重重音很有用。假設您在 *circumflexcomb* 的所有圖層中都有 *top_viet* 錨點。 +* **New Tab with Glyphs Containing Anchor(含錨點字符分頁):** 開啟新分頁,顯示所有包含特定錨點的字符。 +* **New Tab with top and bottom Anchors Not on Metric Lines(頂底錨點偏離基準線分頁):** 在巨集面板中回報所有 *top* 和 *bottom* 錨點的垂直位置,並開啟新分頁顯示在字型中任何字符的主板、中括號或大括號圖層中有偏離錨點的字符。忽略使用者的選取範圍,分析所有字符(包含匯出和未匯出的字符)。適用於檢查頂部錨點是否位於正確位置。 +* **Prefix all exit/entry anchors with a hashtag(替出入錨點加上井字號):** 尋找字型中所有的 exit/entry 錨點,並在錨點名稱前加上 `#` 以停用 `curs` 特性的生成。 +* **Propagate Components and Mark Anchoring(複製組件和標號錨點):** 將目前主板的組件和標號錨點設定,複製到所有其他(相容)主板。適用於複雜的阿拉伯文合字標號。 +* **Realign Stacking Anchors(重新對齊堆疊錨點):** 在堆疊組合重音中,將頂部和底部錨點精確移動到各自的 _top 和 _bottom 錨點正上方或下方,並顧及義大利體角度。如此一來,堆疊多個非間距重音符號時將保持一致。 +* **Remove Anchors in Suffixed Glyphs(移除後綴字符錨點):** 移除具有使用者指定後綴的字符中的所有錨點。在複製、縮放和編輯字符的 sups/subs/sinf/ordn 變體後,適用於移除殘留的錨點。 +* **Remove Anchors(移除錨點):** 在選取的字符(或整個字型)中刪除具有指定名稱的錨點。 +* **Remove Non-Standard Anchors from Selected Glyphs(移除選取字符中的非標準錨點):** 移除字符中預設不應存在的所有錨點,例如 `J` 中的 `ogonek`。可能具有風險,因為它可能刪除誤判項目。建議先使用下方的回報腳本。 +* **Replicate Anchors(複製錨點):** 批次將錨點新增至選取的字符。指定來源字符以複製其錨點。 +* **Replicate Anchors in Suffixed Glyphs(複製後綴字符錨點):** 檢查選取的點後綴字符,並從其各自的基本字符複製錨點。例如,將在 *X.ss01*、*X.swsh* 和 *X.alt* 中重新建立 *X* 的錨點。 +* **Report Non-Standard Anchors to Macro window(回報非標準錨點至巨集視窗):** 檢查字型中的所有字符,並在巨集視窗中回報發現的非預設錨點。可在編輯檢視中複製貼上這些行。 +* **Shine Through Anchors(透視錨點):** 在選取字符的所有圖層中,插入來自組件的「穿透」錨點。 +* **Snap Anchors to Nearest Metric(對齊錨點至最近基準):** 在指定閾值內,將指定的錨點移動到最近的基準(如 x 字高、上伸部等)。 +* **Steal Anchors(擷取錨點):** 批次將錨點從一個字型主板複製到另一個。 +* **Top Mark Mover(頂部標號移動工具):** 垂直移動選取的標號,使其 _top 錨點位於相應的垂直基準上。 + +## App(應用程式) + +*如果您正在編寫程式碼,建議為 Method Reporter(方法回報器)設定快捷鍵,因為您會經常需要使用它。如果您想要取得視窗內容的解析度獨立的 PDF 螢幕截圖,Print Window(列印視窗)會很有用,特別適合在向量繪圖應用程式中進行後製。* + +* **Close All Tabs of All Open Fonts(關閉所有開啟字型的所有分頁):** 關閉目前在應用程式中開啟的所有字型的所有編輯分頁。 +* **Copy Download URL for Current App Version(複製目前應用程式版本的下載網址):** 將目前 Glyphs 應用程式版本的下載網址複製到剪貼簿中,方便貼上。 +* **Decrease(減少)** 和 **Increase Line Height(增加行高):** 將編輯檢視的行高增加四分之一或減少五分之一。如果您需要經常切換行高,設定快捷鍵會很有用。 +* **Method Reporter(方法回報器):** 用於過濾 Glyphs 中可用的 Python 和 PyObjC 類別方法名稱的圖形使用者介面。您可以使用多個以空格分隔的搜尋詞(作為 AND 連接)以及星號作為萬用字元(可在開頭、中間和結尾使用)。連按兩下可將方法名稱複製到剪貼簿並在巨集視窗中開啟說明。對程式設計師很有用。 +* **Parameter Reporter(參數回報器):** 類似 Method Reporter,但用於自訂參數。連按兩下可將參數複製到剪貼簿中,可直接貼到字型資訊中。 +* **Print Window(列印視窗):** 列印最前方的視窗。適用於儲存視窗內容的向量 PDF,包含回報器外掛程式的渲染結果(*顯示* 選單的擴充功能)。 +* **Resetter(重設工具):** 重設快速預覽、鍵盤快捷鍵,並清除應用程式偏好設定、已儲存的應用程式狀態和自動儲存。 +* **Set Export Paths to Adobe Fonts Folder(設定匯出路徑至 Adobe 字型資料夾):** 將 OpenType 字型和可變字型的匯出路徑設定為 Adobe 字型資料夾。 +* **Set Hidden App Preferences(設定隱藏的應用程式偏好設定):** 用於讀取和設定圖形使用者介面中未列出的「隱藏」應用程式偏好設定的介面。 +* **Set Label Colors(設定標籤顏色):** 覆寫預設的應用程式標籤顏色。 +* **Set Tool Shortcuts(設定工具快捷鍵):** 設定工具列中工具的鍵盤快捷鍵。 +* **Toggle Horizontal-Vertical(切換水平-垂直):** 在 LTR(水平)和垂直書寫方向之間切換最前方的分頁。適合設定鍵盤快捷鍵。 +* **Toggle Macro Window Separator(切換巨集視窗分隔線):** 在巨集視窗中切換分隔線位置,在 80% 和 20% 之間切換。 +* **Toggle RTL-LTR(切換 RTL-LTR):** 在 LTR 和 RTL 書寫方向之間切換最前方的分頁。適合在系統偏好設定中設定鍵盤快捷鍵。 +* **Toggle Script Windows(切換腳本視窗):** 顯示或隱藏所有腳本視窗。適合在應用程式設定中指派快捷鍵。 +* **Update git Repositories in Scripts Folder(更新腳本資料夾中的 git 儲存庫):** 在 Glyphs 腳本資料夾的所有子資料夾中執行「git pull」指令。如果您的腳本資料夾中有許多 git 儲存庫,這會很有用。 +* **Update Text Preview(更新文字預覽):** 強制更新「視窗 > 文字預覽」。當您在字型視窗以外進行變更(如在字型資訊中的 OpenType 特性)且預覽無法自動重新整理時很有用。 +* **Navigate > Activate next/previous glyph(導覽 > 啟用下一個/上一個字符):** 在編輯檢視中啟用下一個/上一個字符進行編輯。 + +## Build Glyphs(建立字符) + +*至關重要:Quote Manager(引號管理器),以及用於建立 Small Figures(小型數字)、Symbols(符號)、Ldot(L 點)的建構指令。其他指令主要用於當客戶要求特定 Unicode 範圍時,能快速開始製作。* + +* **Add Adobe Symbol Glyphs(新增 Adobe 符號字符):** 當字型中缺少以下符號字符時,會新增 Adobe 的內插符號:*Omega、Delta、Ohm、increment(增量)、asciicircum(插入符號)、greaterequal(大於等於)、infinity(無限)、partialdiff(偏微分)、lessequal(小於等於)、notequal(不等於)、product(乘積)、approxequal(約等於)、plus(加號)、lozenge(菱形)、integral(積分)、summation(總和)、radical(根號)、daggerdbl(雙劍號)、perthousand(千分號)、logicalnot(邏輯非)、plusminus(正負號)、asciitilde(波浪號)、divide(除號)、minus(減號)、multiply(乘號)、dagger(劍號)、less(小於)、equal(等於)、greater(大於)、literSign(升號)、.notdef(未定義字符)。* 需要安裝 makeotf (AFDKO)。 +* **Build APL Greek(建立 APL 希臘文):** 建立 APL 希臘文字符。 +* **Build careof and cadauna(建立 careof 與 cadauna):** 使用 `c`、`o`、`u` 和 `fraction` 字符建立 `cadauna` 和 `careof`。 +* **Build Circled Glyphs(建立圓圈字符):** 使用 `_part.circle` 以及現有的字母和數字建立圓圈數字和字母(U+24B6...24EA 和 U+2460...2473)。 +* **Build Dotted Numbers(建立點號數字):** 使用預設數字和句點建立帶句點的編號字符(例如用於有序清單的 1.、2.、3. 等格式)。 +* **Build ellipsis from period components(使用句點組件建立省略號):** 在句點字符中插入出口和入口錨點,並使用自動對齊的句點組件重建省略號。注意:會分解所有用於其他字符中的句點組件(例如冒號)。 +* **Build Extra Math Symbols(建立額外數學符號):** 建立 `lessoverequal`(小於上等於)、`greateroverequal`(大於上等於)、`bulletoperator`(點運算符)、`rightanglearc`(直角弧)、`righttriangle`(直角三角形)、`sphericalangle`(球面角)、`measuredangle`(測量角)、`sunWithRays`(帶光芒太陽)、`positionIndicator`(位置指示器)、`diameterSign`(直徑符號)、`viewdataSquare`(檢視資料方塊)、`control`(控制)。 +* **Build Ldot and ldot(建立 Ldot 和 ldot):** 使用現有的 `L` 和 `periodcentered.loclCAT`(`.case`/`.sc`)建立 `Ldot`、`ldot` 和 `ldot.sc`。假設您已經建立並適當調整了 `L`-`periodcentered.loclCAT`-`L` 等的間距。 +* **Build Parenthesized Glyphs(建立括號字符):** 建立帶括號的字母和數字:`one.paren`、`two.paren`、`three.paren`、`four.paren`、`five.paren`、`six.paren`、`seven.paren`、`eight.paren`、`nine.paren`、`one_zero.paren`、`one_one.paren`、`one_two.paren`、`one_three.paren`、`one_four.paren`、`one_five.paren`、`one_six.paren`、`one_seven.paren`、`one_eight.paren`、`one_nine.paren`、`two_zero.paren`、`a.paren`、`b.paren`、`c.paren`、`d.paren`、`e.paren`、`f.paren`、`g.paren`、`h.paren`、`i.paren`、`j.paren`、`k.paren`、`l.paren`、`m.paren`、`n.paren`、`o.paren`、`p.paren`、`q.paren`、`r.paren`、`s.paren`、`t.paren`、`u.paren`、`v.paren`、`w.paren`、`x.paren`、`y.paren`、`z.paren`。 +* **Build Q from O and _tail.Q(使用 O 和 _tail.Q 建立 Q):** 在對 Q 尾部執行「將選取的路徑轉為組件」並將其命名為 `_tail.Q` *之後*執行此指令。 +* **Build Rare Symbols(建立罕用符號):** 建立白色和黑色、小型和大型的圓形、三角形和方形。 +* **Build rtlm Alternates(建立 rtlm 替代字):** 為選取的字符建立水平鏡像組件,並更新 rtlm OpenType 特性。自動對齊組件,並在您分解組件時加入度量鍵。 +* **Build Small Figures(建立小型數字):** 使用預設的數字集(例如 `.dnom`),並衍生其他變體(`.numr`、`superior`/`.sups`、`inferior`/`.sinf`、`.subs`)作為組件副本。會顧及義大利體角度。 +* **Build small letter SM, TEL(建立小寫字母 SM、TEL):** 建立以下字符:`servicemark`(服務標記)、`telephone`(電話)。 +* **Build space glyphs(建立空格字符):** 建立各種空格字符 `mediumspace-math`、`emquad`、`emspace`、`enquad`、`enspace`、`figurespace`、`fourperemspace`、`hairspace`、`narrownbspace`、`punctuationspace`、`sixperemspace`、`nbspace`、`thinspace`、`threeperemspace`、`zerowidthspace`。 +* **Build Symbols(建立符號):** 建立符號字符,如 `.notdef`(基於最粗的可用 `question` 標記)、`estimated`(估計)字符,以及 `bar`(直線)和 `brokenbar`(斷直線)(會顧及標準字幹和義大利體角度)。 +* **Center punt volat(置中間隔圓點):** 水平移動所有 `periodcentered.loclCAT` 字符,使其適合放置在兩個 L 之間。按住 ⌘ Cmd 和 ⇧ Shift 可處理所有開啟的字型。 +* **Quote Manager(引號管理器):** 使用單引號建立雙引號,並在單引號中插入 `#exit` 和 `#entry` 錨點以進行自動對齊。您需要已經有單引號。 + +## Color Fonts (彩色字型) + +*這些腳本是用於處理彩色字型工作流程中會遇到的情況。Merge(合併)腳本主要用於為 CPAL/COLR 字型建立備用字符。這樣備用字符就能具有完整的邊界框,且不會在 Chrome 瀏覽器中發生裁切。* + +* **Add All Missing Color Layers to Selected Glyphs(為選取的字符加入所有缺少的彩色圖層):** 為每個選取的字符,依據 Color Palettes(色盤)參數中定義的每個 CPAL/COLR 顏色,加入備用圖層的副本。僅加入字符中尚未設定的顏色。 +* **Add sbix Images to Font(為字型加入 sbix 圖片):** 會取得資料夾中所有的 PNG、GIF、JPG 檔案,並在目前的字型和主板中以這些檔案建立 iColor 圖層。檔案命名規則:「字符名稱 像素大小.副檔名」,例如:「Adieresis 128.png」。 +* **Convert Layerfont to CPAL+COLR Font(將圖層字型轉換為 CPAL+COLR 字型):** 將圖層彩色字型轉換為單一主板字型,每個字符都具有 CPAL 和 COLR 圖層。它會採用第一個主板作為預設值。 +* **Convert Master Colors to CPAL Palette(將主板顏色轉換為 CPAL 色盤):** 會在字型主板中尋找 Master Color(主板顏色)參數,然後在「字型資訊 > 字型」中建立具有相同顏色的 Color Palettes(色盤)參數。若缺少主板顏色參數則預設為黑色。會將深色模式主板顏色加入為第二個色盤。 +* **Cycle CPAL Colors for Selected Glyphs(循環選取字符的 CPAL 顏色):** 會遞增每個 CPAL Color Palette 圖層的顏色索引,若超過可用顏色數量則設為 0。 +* **Delete Non-Color Layers in Selected Glyphs(刪除選取字符中的非彩色圖層):** 刪除所有字符中不屬於 "Color X"(CPAL/COLR 圖層)類型的子圖層。 +* **Merge All Other Masters in Current Master(將所有其他主板合併至目前主板):** 在選取的字符中,將其他主板的所有路徑複製到目前的主板圖層。 +* **Merge CPAL Layers into Master Layer(將 CPAL 圖層合併至主板圖層):** 取得所有 CPAL/COLR 圖層並將其圖形的副本放入主板圖層。 +* **Merge Suffixed Glyphs into Color Layers(將帶後綴的字符合併為彩色圖層):** 將 x.shadow、x.body 和 x.front 合併為 x 的個別 CPAL Color 圖層。 +* **Randomly Distribute Shapes on Color Layers(在彩色圖層上隨機分配圖形):** 取得備用主板圖層的圖形,並隨機將它們複製到可用的 CPAL/COLR 彩色圖層上。注意:除非按住 Cmd-Shift,否則會覆寫現有彩色圖層的內容。 +* **Reverse CPAL Colors for Selected Glyphs(反轉選取字符的 CPAL 顏色):** 將反轉每個 CPAL Color Palette 圖層的顏色索引。例如,對於三個顏色,會將索引 0,1,2 轉換為 2,1,0。 +* **sbix Spacer(sbix 間距工具):** 批次設定 sbix 位置和字符寬度。 + +## Compare Frontmost Fonts(比較最前方字型) + +*這些腳本用於同步正體與其對應的義大利體。開啟兩個字型後執行腳本。腳本不會變更您的字型,而是在巨集視窗中提供詳細報告。* + +* **Compare Font Info > Font(比較字型資訊 > 字型):** 針對最前方的兩個字型,比較其「字型資訊 > 字型」的詳細資料,並在巨集視窗中輸出報告。 +* **Compare Font Info > Masters(比較字型資訊 > 主板):** 針對最前方的兩個字型,比較其「字型資訊 > 主板」的詳細資料,並在巨集視窗中輸出報告。 +* **Compare Font Info > Instances(比較字型資訊 > 實體):** 針對最前方的兩個字型,比較其「字型資訊 > 實體」的詳細資料,並在巨集視窗中輸出報告。 +* **Compare Font Info > Features(比較字型資訊 > 特性):** 比較最前方兩個字型的 OpenType 特性設定,並在巨集視窗中輸出報告。 +* **Compare Anchors(比較錨點):** 比較最前方兩個字型之間的錨點結構與高度。 +* **Compare Composites(比較組合字符):** 報告組合字符中不一致的組件結構,例如一個字型中的 `iacute` 使用 `acutecomb` 建構,而另一個字型則使用 `acutecomb.narrow`。 +* **Compare Glyph Heights(比較字符高度):** 列出所有與第二個字型在高度上差異超過指定閾值的字符。 +* **Compare Glyph Info(比較字符資訊):** 比較開啟的字型並建立字符資訊差異清單,包含 Unicode 值和分類。 +* **Compare Glyphsets(比較字符集):** 比較最前方兩個字型的字符集,並在巨集視窗中輸出報告。 +* **Compare Kerning Groups(比較調距群組):** 比較最前方字型之間的調距群組,輸出群組不符的字符名稱表格。 +* **Compare Metrics(比較度量):** 比較最前方兩個字型的寬度。 +* **Compare Sidebearings(比較邊界):** 比較最前方兩個字型的邊界。 +* **Report Missing Glyphs for all Open Fonts(報告所有開啟字型的遺漏字符):** 在巨集視窗中,報告目前開啟的檔案中遺漏,但存在於其他字型中的所有字符。 + +## Components(組件) + +*當您想根據其他字母建立新字母時,Populate Backgrounds with Components(使用組件填充背景)非常實用,例如 ae 或 oe 可以在背景中放置 e。此腳本會在每個主板的背景中放入 e,並且使用者介面有一個選項可以將選取的控制點與背景中的 e 對齊。如果您在多主板字型中使用角落組件來製作襯線,Propagate(傳播)腳本可以為您節省大量時間。* + +* **Alignment Manager(對齊管理器):** 啟用或停用所選字符中可見圖層上所有組件的自動就定位功能。與右鍵選單中的指令功能相同,但您可以一次為多個字符執行此操作。 +* **Auto-align Composites with Incremental Metrics Keys(使用遞增度量鍵自動對齊組合字符):** 針對最前方的字型,自動對齊只有第一個組件停用自動就定位的組合字符。忽略 .tf、.tosf 和數學運算符。會開啟一個分頁顯示受影響的字符圖層。 +* **Cap and Corner Manager(筆帽與角落管理器):** 在最前方字型的所有字符中批次編輯筆帽、角落、筆刷或線段組件的設定。 +* **Component Mover(組件移動工具):** 在選取的字符中批次編輯(智慧)組件。變更位置、縮放比例和智慧屬性。 +* **Component Problem Finder(組件問題偵測器):** 尋找組件和角落組件可能存在的問題:由路徑組成的可組合字符;鎖定、巢狀、孤立、鏡射、偏移、旋轉和縮放的組件;具有不尋常組件順序或非正統組件結構的組合字符。同時也會檢查斷開連接和縮放的角落組件。 +* **Composite Consistencer(組合字符一致性檢查器):** 檢查最前方字型中所有字符的目前主板中的組合字符。如果帶點後綴的字符變體缺少組件,會在巨集視窗中報告。 +* **Decompose Components in Background(分解背景中的組件):** 分解選取字符的背景圖層。可用於目前主板或所有主板,或所有字型的所有主板。 +* **Decompose Corner and Cap Components(分解角落和筆帽組件):** 分解選取字符中的所有角落和筆帽組件。在巨集視窗中報告結果。 +* **Find and Replace Components(尋找和取代組件):** 將選取字符中的組件重新連結到新的來源字符。 +* **Find and Replace Cap and Corner Components(尋找和取代筆帽和角落組件):** 將選取字符中的 `_cap.*` 和 `_corner.*` 組件重新連結到不同的角落/筆帽組件。 +* **Find and Replace Corner Components at Certain Angles(在特定角度尋找和取代角落組件):** 取代鈍角或銳角處的角落組件。 +* **Move Paths to Component(將路徑移至組件):** 將路徑移至單獨的字符,並將其作為自動就定位的錨點組件插入來源字符中。非常適合將路徑與組件混合的字符轉換為純組合字符。 +* **Populate Backgrounds with Components(使用組件填充背景):** 將指定的組件加入字符的所有背景中,並允許您將選取的前景控制點對齊到該組件。對於保持前景中已分解形狀與相似字符同步很有用。 +* **Propagate Corner Components to Other Masters(將角落組件傳播到其他主板):** 嘗試在同一字符的所有其他主板中重新建立目前主板圖層的角落組件。請確保您的外框相容。 +* **Remove Components(移除組件):** 從所有(選取的)字符中移除指定的組件。 +* **Remove Detached Corners(移除分離的角落):** 從所有(選取的)字符中移除分離的角落組件。 +* **Sync Components Across Masters(在主板間同步組件):** 取用目前圖層的組件,並將所有其他主板重設為相同的組件結構。忽略路徑和錨點。按住 Option 鍵可*刪除*所有路徑和錨點。 + +## Features(特性) + +*在手寫字體中,您可能經常需要 Build Positional calt script(建立位置相關 calt 腳本)。如果您發現自己經常需要開關 OT 特性,建議查看 Activate Default Features(啟用預設特性)和 Floating Features(浮動特性)腳本。另外別忘了從「視窗 > 外掛程式管理員」查看 Set Palette(設定控制盤)。* + +* **Activate Default Features(啟用預設特性):** 在目前的編輯分頁中,啟用所有依照規格建議預設開啟的 OT 特性。 +* **Baseline Wiggle(基線擺動):** 為指定類別中的所有字符加入具有虛擬隨機 GPOS 基線位移的 OpenType 特性。 +* **Build ccmp for Hebrew Presentation Forms(建立希伯來文顯示形式的 ccmp):** 為預組合的 `uniFBxx` 字符建立 ccmp 特性,例如:若您有 pedagesh,就會在 ccmp 中得到 'sub pe dagesh by pedagesh'。 +* **Build Italic Shift Feature(建立義大利體位移特性):** 建立並插入用於位移字符的 GPOS 特性程式碼,如大小寫特性中的括號和標點符號。 +* **Build Positional Feature(建立位置特性):** 尋找 `.init`、`.medi`、`.fina` 和 `.isol` 字符,並將位置替換程式碼注入到您的 `calt` 特性(或您指定的任何其他特性)中。再次執行時,會*更新*類別和特性程式碼。更多資訊請參考[此教學](https://glyphsapp.com/learn/features-part-4-positional-alternates)。 +* **Build rand Feature(建立隨機特性):** 從 .cvXX 或其他(編號)後綴建立 rand(隨機)特性。 +* **Feature Code Tweaks(特性程式碼調整):** 對 OT 特性程式碼進行調整。在巨集視窗中報告。請注意:如果您不了解某個選項,請勿使用。 +* **Find in Features(在特性中尋找):** 在 OT 特性、前置和類別中尋找表達式(字符、查詢或類別名稱)。 +* **Floating Features(浮動特性):** 用於啟用和停用 OT 特性的浮動控制盤。功能與彈出式選單相同。 +* **Fraction Fever 2(分數狂熱 2):** 將 Tal Leming 的 Fraction Fever 2 程式碼插入字型中。在[此教學](https://glyphsapp.com/learn/fractions)中了解更多。 +* **New OT Class with Selected Glyphs(以選取的字符建立新 OT 類別):** 用於以選取的字符建立新 OT 類別的圖形使用者介面。 +* **New Tab with OT Class(包含 OT 類別的新分頁):** 用於在新分頁中開啟 OT 類別(列於「*檔案 > 字型資訊 > 特性 > 類別*」)中所有字符的圖形使用者介面。 +* **Update Features without Reordering(更新特性但不重新排序):** 檢視字型中現有的特性並重新整理每一個特性。不會新增或重新排序特性。 +* * **Stylistic Sets > Synchronize ssXX glyphs(樣式集 > 同步 ssXX 字符):** 建立缺少的 ssXX 字符,以使您擁有同步的 ssXX 字符群組。例如:若您有 *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> 此腳本會建立 *b.ss02* +* * **Stylistic Sets > Create ssXX from layer(樣式集 > 從圖層建立 ssXX):** 取用目前的圖層並將其複製到新 .ssXX 字符的主要圖層。 +* * **Stylistic Sets > Create pseudorandom calt feature(樣式集 > 建立虛擬隨機 calt 特性):** 根據字型中現有的 ssXX 字符數量建立虛擬隨機 calt(上下文替換)特性。也在輪替演算法中包含預設類別。 +* * **Stylistic Sets > Report ssXX Names(樣式集 > 報告 ssXX 名稱):** 報告所有開啟字型中的所有 ssXX 特性名稱。 +* * **Stylistic Sets > Set ssXX Names(樣式集 > 設定 ssXX 名稱):** 使用「Alternate」或其他選擇的文字,加上第一個被替換字符的名稱(例如「Alternate a」)預填 ssXX 特性的名稱。可選擇保留現有名稱。 + +## Font Info(字型資訊) + +*Vertical Metrics(垂直度量)對於在「字型資訊 > 字型」和「字型資訊 > 主板」中尋找和同步垂直度量參數很有用。Clean Version String(清理版本字串)也非常實用。Font Info Batch Setter(字型資訊批次設定器)對於在多個字型之間同步字型資訊設定是不可或缺的。使用 Set WWS/Preferred Names(設定 WWS/偏好名稱)腳本時要小心:應用程式通常會自動處理命名,所以很少需要使用這些腳本。* + +* **Batch-Import Masters(批次匯入主板):** 使用匯入主板參數一次匯入多個主板。 +* **Clean Version String(清理版本字串):** 新增乾淨的 versionString 參數,並在版本字串中停用 ttfAutohint 資訊。匯出的字型將只包含「Version X.XXX」格式的版本字串。 +* **Find and Replace in Font Info(字型資訊搜尋與取代):** 在「字型資訊 > 字型」和「字型資訊 > 實體」中搜尋和取代名稱。 +* **Find and Replace In Instance Parameters(實體參數搜尋與取代):** 在目前字型或專案檔案被選取實體的自訂參數中進行搜尋和取代。 +* **Font Info Batch Setter(字型資訊批次設定器):** 批次套用「字型資訊 > 字型」內的設定到開啟的字型中:設計師、設計師網址、製造商、製造商網址、版權、版本號碼、日期和時間。適用於在多個字型之間同步字型資訊設定。 +* **Font Info Overview(字型資訊總覽):** 列出所有開啟字型的部分字型資訊值。 +* **OTVAR Maker(OTVAR 產生器):** 在「字型資訊 > 匯出」中建立可變字型設定。 +* **Prepare Font Info(準備字型資訊):** 透過設定特定自訂參數,為現代字型製作和 git 工作流程準備開啟的字型。 +* **PS Name Maker(PS 名稱產生器):** 為所有實體建立 postscriptFontName 項目(名稱 ID 6),並提供縮短名稱的選項。 +* **Remove Custom Parameters(移除自訂參數):** 從「字型資訊 > 字型、主板、實體」中移除某一類型的所有參數。當您有許多主板或實體時很有用。 +* **Set Preferred Names for Width Variants(設定寬度變體的偏好名稱)(名稱 ID 16 和 17):** 為所有實體設定偏好名稱自訂參數(名稱 ID 16 和 17),使寬度變體在 Adobe 應用程式中出現在獨立的選單中。 +* **Set Style Linking(設定樣式連結):** 嘗試設定粗體/義大利體位元。 +* **Set Subscript and Superscript Parameters(設定下標和上標參數):** 測量您的上標和下標數字,並推導出下標/上標的 X/Y 偏移/大小參數。 +* **Set WWS Names(設定 WWS 名稱)(名稱 ID 21 和 22):** 在必要時為所有實體設定 WWS 自訂參數(名稱 ID 21 和 22):將除 RIBBI 以外的所有資訊放入 WWSFamilyName,並只在 WWSSubfamilyName 中保留 RIBBI。 +* **Style Renamer(樣式重命名器):** 批次在樣式名稱中添加名稱片段,或從中批次移除。適用於將所有樣式從義大利體命名切換到羅馬體命名,反之亦然。 +* **Vertical Metrics Manager(垂直度量管理器):** 計算並插入 OS/2 usWin 和 sTypo、hhea 以及 fsSelection 位元 7 的值(用於優先使用 sTypo 度量而非 usWin 度量)。 + +## Glyph Names, Notes and Unicode(字符名稱、註記與 Unicode) + +*大多數文字系統都能讓字符名稱和 Unicode 的管理變得較為容易。在將檔案交給第三方之前,Garbage Collection(垃圾清理)對清除回報腳本或其他註記的雜亂資料很有幫助。* + +* **Add PUA Unicode Values to Selected Glyphs(替選取的字符加入私用區 Unicode 值):** 逐一處理選取的字符,並從使用者指定的值開始,依序套用自訂 Unicode 值。 +* **Casefolding Report(大小寫配對回報):** 檢查大寫與小寫是否相符。開啟新的編輯分頁,顯示所有沒有一致大小寫配對的字符。在巨集視窗中寫入詳細回報。 +* **Color Composites in Shade of Base Glyph(以基礎字符色調標示組合字符):** 以基礎字符較淺色調標示組合字符。例如,如果您的 A 標示為紅色,那麼 ÄÁÀĂ... 就會呈現較淺的紅色。 +* **Convert to Uppercase(轉換為大寫):** 將小寫名稱轉換為大寫名稱,例如:`a` → `A`、`ccaron` → `Ccaron`、`aeacute` → `AEacute` 等。 +* **Convert to Lowercase(轉換為小寫):** 將選取字符的名稱轉換為小寫。 +* **Double Encode micro, Ohm and increment(micro、Ohm 和 increment 雙重編碼):** 替 micro、Ohm 和 increment 加入 mu、Omega 和 Delta 的 Unicode。 +* **Encoding Converter(編碼轉換器):** 根據可匯入/匯出的重新命名方案文字,將舊式專家級 8 位元編碼轉換為 Glyphs 的標準名稱。預設為 AXt 轉換方案。 +* **Garbage Collection(垃圾清理):** 移除字符中的標記,如控制點名稱、字符名稱或註記,以及參考線。 +* **Glyph Order Manager(字符順序管理器):** 用於管理字符順序參數的使用者介面,也可跨多個檔案。 +* **Production Namer(產品用命名器):** 覆寫預設的產品用名稱。預設為在傳統 PDF 工作流程中會造成問題的常見項目:mu、onesuperior、twosuperior、threesuperior。 +* **Rename Glyphs(重新命名字符):** 採用 `oldglyphname=newglyphname` 的配對清單,據此重新命名字型中的字符,類似「重新命名字符」自訂參數。 +* **Reorder Unicodes of Selected Glyphs(重新排序選取字符的 Unicode):** 重新排序 Unicode,使預設 Unicode 排在最前。 +* **Reset Unicode Codepoints Based on GlyphData(根據字符資料重設 Unicode 碼位):** 對於選取的字符,其功能類似「字符 > 更新字符資訊」,但不會更改名稱,而是重設 Unicode。將處理內建的 GlyphData 和位於 ~/Library/Application Support/Glyphs 3/Info/ 的 GlyphData-XXX.xml。 +* **Switch Mirrored Characters(切換鏡像字元):** 在目前的編輯面板中,切換雙向文字的鏡射字元,例如 () → )(。在分頁中切換書寫方向後,用於切換括號和引號很有用。 + +## Guides(參考線) + +*這些腳本主要用於清理在處理第三方字型時看到的大量參考線。* + +* **Guides through All Selected Nodes (貫穿所有選取控制點的參考線):** 在目前字符中建立貫穿所有選取控制點的參考線。會嘗試避免重複的參考線。 +* **Remove Global Guides in Current Master (移除目前主板中的全域參考線):** 刪除目前主板中所有全域(紅色)參考線。 +* **Remove Local Guides in Selected Glyphs (移除選取字符中的區域參考線):** 刪除選取字符中所有區域(藍色)參考線。 +* **Select All Global Guides (選取所有全域參考線):** 在編輯面板中選取所有全域(紅色)參考線。當您有許多參考線需要批次變形時特別有用。 +* **Select All Local Guides (選取所有區域參考線):** 選取所有區域(藍色)參考線(在所有選取的字符中)。 + +## Hinting(字型調適) + +*至關重要:為 PostScript 調適設定 blueScale 值和字型家族對齊區域。如果您要進行大幅度修改,Transfer(傳輸)和 Keep Only(僅保留)腳本可以為您節省大量工作。New Tab(新增分頁)系列腳本可協助找出缺少對齊區域的字符。另外也可以考慮使用「Paths > Find Near Vertical Misses(路徑 > 尋找接近垂直未對齊處)」來達到此目的。* + +* **Add Alignment Zones for Selected Glyphs(為選取的字符新增對齊區域):** 在所有主板中為選取的字符建立適當的對齊區域。 +* **Add Hints for Selected Nodes(為選取的控制點新增調適):** 為選取的控制點新增調適。會自動判斷應該使用水平或垂直調適。如果在對齊區域內只選取一個控制點,會新增幽靈調適。適合在系統偏好設定中設定快捷鍵。 +* **Add TTF Autohint Control Instructions for Current Glyph(為目前字符新增 TTF 自動調適控制指令):** 為目前實體的控制指令新增指定上/下數值的邊線。 +* **Auto Stems(自動字幹):** 透過測量字型中特定圖形來為所有主板推導出一個水平和一個垂直字幹值。 +* **BlueFuzzer(藍色模糊工具):** 將所有對齊區域擴展指定的數值。類似於過去 blueFuzz 值的功能,因此得名。 +* **Keep Only First Master Hints(僅保留第一主板調適):** 在選取的字符中,刪除所有圖層中的調適,只保留排序為第一主板的調適。會保留括號圖層。例如,如果您的第一主板是「Regular」,腳本會刪除「Bold」、「Bold [120]」中的調適,但保留「Regular」和「Regular [100]」中的調適。 +* **New Tab with Glyphs in Alignment Zones(以位於對齊區域中的字符開啟新分頁):** 開啟新分頁並列出所有延伸至對齊區域的字符。 +* **New Tab with Layers with TTDeltas(以具有 TTDeltas 的圖層開啟新分頁):** 開啟包含所有已定義 TTDeltas 圖層的新分頁。 +* **New Tabs with Glyphs Not Reaching Into Zones(以未延伸至對齊區域的字符開啟新分頁):** 開啟包含所有未延伸至任何上方或下方對齊區域字符的新分頁。僅計算目前主板中包含路徑的字符。忽略空白字符和組合字符。 +* **Remove PS Hints(移除 PS 調適):** 刪除目前字型、選取的主板和/或選取字符中的所有字幹和/或幽靈調適。 +* **Remove TT Hints(移除 TT 調適):** 刪除目前字型、選取的主板和/或選取字符中使用者指定的 TT 指令集。 +* **Remove Zero Deltas in Selected Glyphs(移除選取字符中的零位移值):** 檢查每個選取字符的所有圖層,並刪除所有位移值為零的 TT 差值調適。詳細報告會顯示在巨集視窗中。 +* **Set blueFuzz to zero for master instances(將主板實體的 blueFuzz 設為零):** 為與主板相同的實體新增值為 0 的 blueFuzz 自訂參數。 +* **Set blueScale(設定 blueScale):** 在「字型資訊 > 字型」中設定可能的最大 blueScale 值(決定出框微調整抑制的最大尺寸)。在巨集視窗中輸出其他選項。 +* **Set Family Alignment Zones(設定字型家族對齊區域):** 選擇一個實體,並在「字型資訊 > 字型 > 自訂參數」中將其區域設為字型家族對齊區域。 +* **Set TT Stem Hints to Auto(將 TT 字幹調適設為自動):** 將選取字符中的所有 TT 字幹調適設為「自動」。 +* **Set TT Stem Hints to No Stem(將 TT 字幹調適設為無字幹):** 將選取字符中的所有 TT 字幹調適設為「無字幹」。在複雜路徑中,這可以改善 Windows 上的渲染效果。 +* **Set TTF Autohint Options(設定 TTF 自動調適選項):** 設定現有「TTF 自動調適選項」自訂參數的選項。 +* **Transfer Hints to First Master(將調適傳輸至第一主板):** 將 PS 調適從目前圖層複製到第一主板圖層,前提是路徑必須相容。錯誤會回報至巨集視窗。 +* **TT Autoinstruct(TT 自動指令):** 自動將 Glyphs TT 指令新增至選取主板(應為第一主板)中選取的字符。注意:這不是 Werner Lemberg 的 ttfAutohint,而是 TT 指令工具(I)透過相同名稱的右鍵選單項目所新增的手動 TT 調適。適用於一次為多個字符新增調適。 + +## Images(圖片) + +*主要用於解決處理大量(背景)圖片時可能遇到的困擾。* + +* **Add Same Image to Selected Glyphs(將相同圖片加入已選取的字符):** 要求您選擇一個圖片,然後將其作為背景圖片插入至所有目前選取的字符中。 +* **Adjust Image Alpha(調整圖片透明度):** 用於設定已選取字符中所有圖片透明度的滑桿。 +* **Delete All Images in Font(刪除字型中的所有圖片):** 刪除整個字型中所有置入的圖片。 +* **Delete Images(刪除圖片):** 刪除已選取字符之可見圖層中所有置入的圖片。 +* **Reset Image Transformation(重設圖片變形):** 將已選取字符之可見圖層中的所有圖片變形(X/Y 位移、縮放和扭曲)重設回預設值。 +* **Set New Path for Images(設定圖片的新路徑):** 重設已選取字符中置入圖片的路徑。當您移動了圖片位置時很實用。 +* **Toggle Image Lock(切換圖片鎖定):** 鎖定或解除鎖定所有已選取字符中的全部圖片。 +* **Transform Images(變形圖片):** 用於批次變形已選取字符之可見圖層中的圖片(X/Y 位移和 X/Y 縮放)的圖形使用者介面。 + +## Interpolation(內插) + +*至關重要:Insert Instances(插入實體,用於決定實體及其樣式連結)、Kink Finder(折點尋找器)和 Find Shapeshifting Glyphs(形變字符尋找器)。我經常使用 Show Next/Previous Instance(顯示下一個/上一個實體)搭配 ctrl-上/下方向鍵的快捷鍵。* + +* **Add Grade(新增等級):** 根據您的 Weight(字重)和 Width(字寬)變化軸,新增 Grade(等級)軸和/或 Grade 主板。 +* **Add Missing Brace Layers(新增遺漏的大括號圖層):** 完成 OTVAR 匯出所需的矩形設定。 +* **Axis Location Setter(變化軸位置設定器):** 批次設定具有特定名稱片段的所有實體的軸位置。例如,設定所有 Condensed(壓縮)實體的變化軸位置。 +* **Axis Mapper(變化軸映射器):** 提取、重設並插入軸映射參數的 'avar' 變化軸映射。 +* **Batch-Add Smart Axes(批次新增智慧型變化軸):** 為選取的字符新增智慧型變化軸和額外的智慧型圖層。 +* **Brace and Bracket Manager(大括號和方括號管理器):** 在 Glyphs 3 及更新版本中尋找和替換大括號或方括號圖層座標。 +* **Bracify(大括號化):** 將字型主板轉換為特定字符的大括號圖層。又稱為 Sparsify(稀疏化)。 +* **Composite Variabler(組合變數器):** 在使用組件的複合字符中重新複製組件的大括號和方括號圖層。使方括號圖層在組合字符中生效。 +* **Copy Layer to Layer(圖層間複製):** 將路徑(也可以選擇性地包含組件、錨點和度量)從一個主板複製到另一個主板。 +* **Dekink Masters(主板去折點):** 在所有相容圖層中去除平滑節點三元組的折點(當它們不是水平或垂直時很有用)。在一個或多個平滑節點三元組中選擇一個節點,執行此腳本可將其他所有主板中對應的控制點移動到相同的相對位置。這樣可以在所有主板中達到相同的節點比例,避免當三元組角度改變時出現內插折點。這裡有一個[說明影片](http://tinyurl.com/dekink-py)。三元組問題在[這個教學中有詳細說明](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)。 +* **Enhance Compatibility(增強相容性):** 取用每個選取字符的目前圖層,並將控制點類型、控制點連接、重新對齊控制桿傳播到相同字符的技術相容圖層中。用於修復顯示為相容但仍無法匯出之字符的相容性。 +* **Fill up Empty Masters(填充空白主板):** 將路徑從一個主板複製到另一個主板,但僅在目標主板為空時進行。 +* **Find and Replace in Layer Names(圖層名稱尋找和替換):** 替換選取字符中所有圖層名稱(主板圖層除外)中的文字。當您在多個字符中使用方括號技巧時很有用。 +* **Find Shapeshifting Glyphs(尋找形變字符):** 尋找在內插時改變路徑數量的字符。開啟新分頁並在巨集視窗中回報。 +* **Insert Brace Layers for Component Rotation(插入組件旋轉大括號圖層):** 插入多個具有連續縮放和旋轉組件的大括號圖層。對於具有旋轉元素的 OTVar 內插很有用。 +* **Insert Brace Layers for Movement along Background Path(插入沿背景路徑移動的大括號圖層):** 插入多個包含第一個圖層副本的大括號圖層,根據背景中的第一個路徑進行位移。對於具有移動元素的 OTVar 內插很有用。 +* **Insert Instances(插入實體):** 計算和插入字重實體的圖形使用者介面。在[此教學](https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances)中有相關描述。 +* **Insert Layers(插入圖層):** 在選取的字符中批次插入大括號或方括號圖層。 +* **Instance Cooker(實體產生器):** 使用成份設定一次產生多個實體。 +* **Kink Finder(折點尋找器):** 在外框或內插空間中尋找折點,並在巨集視窗中回報,同時開啟新分頁顯示受影響的字符。關於折點的詳細說明請參考[此教學](https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)。 +* **New Tab with Dangerous Glyphs for Interpolation(開啟具內插風險字符分頁):** 開啟包含所有至少有兩個相容元素的字符分頁。也就是說,會顯示某個元素(路徑或組件)可能與錯誤元素進行內插的字符,例如等號。詳細說明請參考[此教學](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)中的「Find shapeshifters」章節。 +* **New Tab with Special Layers(特殊圖層分頁):** 快速新增包含所有具有大括號和方括號圖層的字符編輯分頁。 +* **New Tab with Uneven Handle Distributions(控制桿分布不均分頁):** 尋找控制桿分布變化過大的字符(例如從平衡分布變為和諧分布)。 +* **OTVar Player(OpenType 可變動畫播放器):** 以迴圈方式沿著字重軸線製作目前字符的動畫。 +* **Remove All Non-Master Layers(移除非主板圖層):** 刪除所有非主板圖層、非大括號圖層、非方括號圖層。適用於清除備份圖層。 +* **Report Instance Interpolations(實體內插報告):** 在巨集視窗中輸出每個實體的主板係數。說明特定實體涉及哪些主板的內插,以及其影響程度。 +* **Reset Axis Mappings(重設變化軸映射):** 為字型中目前所有的樣式值插入(或重設)預設的變化軸映射參數。忽略主板定義的設計空間範圍以外的樣式值。 +* **Set Weight Axis Locations in Instances(設定實體字重軸位置):** 為所有實體設定字重軸位置參數,並與各自的 usWeightClass 同步。如果尚未設定寬度軸座標,將設定為符合 usWidthClass 規格的預設值。否則保持現有設定。 +* **Short Segment Finder(短線段尋找器):** 檢查所有內插並尋找短於使用者指定閾值的線段。 +* **Travel Tracker(路徑追蹤器):** 尋找控制點位移過度的內插,可用於找出錯誤連接的星號和斜線。結果可能不完整,且通常會有許多誤判,但有時能找出 Shapeshifter 腳本遺漏的情況。 +* **Variation Interpolator(變體內插器):** 建立使用者定義數量的字符變體,並加上使用者定義的後綴,包含圖層與其各自背景之間的內插。會覆寫同名字符。類似 Pablo Impallari 的 SimplePolator。適用於例如天城文 Matra 的長度變體,請參考 José Nicolás Silva Schwarzenberg 的[示範影片](https://www.youtube.com/watch?v=QDbaUlHifBc)。 +* * **Other > Lines by Master(依主板分行):** 將您的編輯文字複製到各個主板中,會在編輯面板中為每個主板新增一行。請注意,會忽略第一個換行符號之後的所有內容。適用於在系統偏好設定中新增鍵盤快捷鍵。 +* * **Other > New Tab with Masters of Selected Glyphs(以所選字符的主板開新分頁):** 開啟新的編輯分頁,顯示所選字符的所有主板。 +* * **Other > Show Masters of Next/Previous Glyph(顯示下一個/上一個字符的主板):** 讓您可以逐一瀏覽字符,但會顯示所有主板。結合了顯示下一個/上一個字符功能(fn+左/右方向鍵)與「*編輯 > 顯示所有主板*」功能。適合在系統偏好設定中設定鍵盤快捷鍵。 +* * **Other > Show Next/Previous Instance(顯示下一個/上一個實體):** 在目前編輯分頁的預覽區塊中跳至下一個/上一個實體。適合在系統偏好設定中設定鍵盤快捷鍵。 + +## Kerning(調距) + +*至關重要:Auto Bumper(自動調距)、KernCrasher(調距碰撞檢查)、GapFinder(間距檢查)、Sample String Maker(範例字串產生器)。如果您的調距過多,可以考慮使用 Exception Cleaner(例外清理器)。* + +* **Adjust Kerning in Master(主板調距調整):** 提供圖形介面,可對所有調距對新增數值、進行倍數運算、進行數值四捨五入,或限制在特定數值範圍內。 +* **Auto Bumper(自動調距):** 指定最小間距、左右字符後,Auto Bumper 會在目前的主板中新增必要的最小調距。 +* **BBox Bumper(邊界框調距):** 類似 Auto Bumper,但是使用一組字符的邊界框,並將調距以 GPOS 特性程式碼插入到「字型資訊 > 特性 > kern」。當您想要使用與調距群組不同的類別進行群組調距時很有用。需要 Vanilla。 +* **Compare Kerning Between Masters(主板間調距比較):** 回報兩個主板之間調距結構的差異。 +* **Compress Glyph(字符壓縮):** 僅壓縮指定字符的調距。 +* **Convert RTL Kerning from Glyphs 2 to 3(從 Glyphs 2 轉換 RTL 調距到 Glyphs 3):** 將 Glyphs 2 的 RTL 調距轉換為 Glyphs 3 格式並切換調距類別。(按住 Option 和 Shift 可從 Glyphs 3 轉回 Glyphs 2。)詳細報告在巨集視窗中。 +* **Copy Kerning Exceptions to Double Accents(複製調距例外到雙重重音):** 將包含 abreve、`acircumflex`、`ecircumflex`、`ocircumflex`、`udieresis` 的調距例外複製到越南語和拼音的雙重重音符號。 +* **Exception Cleaner(例外清理器):** 比較每個例外與相同字偶可用的群組調距。如果差異低於閾值,則移除該調距例外。 +* **Find and Replace in Kerning Groups(調距群組尋找與取代):** 提供圖形介面,用於在左右調距群組中搜尋和取代文字,例如將「O」取代為「O.alt」。留空搜尋欄位可用於附加。 +* **GapFinder(間隙檢查):** 在目前的字型主板中開啟新分頁,顯示具有大間隙的調距組合。 +* **Import Kerning from .fea File(從 .fea 檔案匯入調距):** 選擇包含 AFDKO 程式碼 kern 特性的 .fea 檔案,此指令碼將嘗試將調距值匯入最前方的字型主板(請參見「*視窗 > 調距*」)。 +* **KernCrash Current Glyph(目前字符調距碰撞檢查):** 在目前的字型主板中開啟新分頁,顯示與目前字符發生碰撞的調距組合。 +* **KernCrasher(調距碰撞檢查):** 在目前的字型主板中開啟新分頁,顯示發生碰撞的調距組合。 +* **Kern Flattener(調距平面化):** 複製您的字型,將調距平面化為僅限字符對字符的調距,刪除所有群組調距並僅保留相關字偶(內建清單),為每個實體新增*匯出 kern 表格*參數(和其他一些參數)。警告:這只適用於使其與過時和損壞的軟體(如 PowerPoint)相容。不過,無法保證一定有效。 +* **Kern String Mixer(調距字串混合器):** 將兩組字符(可使用代碼)相互交叉,以獲得所有可能的字符組合。 +* **New Tab with All Group Members(使用群組成員開新分頁):** 選取兩個字符,例如「Ta」,執行腳本後會開啟新分頁,顯示 T 的右側調距群組與 a 的左側調距群組的所有組合。 +* **New Tab with Glyphs of Same Kerning Groups(相同調距群組字符開新分頁):** 開啟新分頁,顯示目前字符的左右調距群組的所有成員。 +* **New Tab with Kerning Missing in Masters(主板缺漏調距開新分頁):** 為每個主板開啟新分頁,顯示在此主板中缺少但存在於其他主板中的調距。 +* **New Tab with Overkerned Pairs(過度調距字偶開新分頁):** 詢問閾值百分比,並開啟新分頁顯示所有超過寬度閾值的負值調距字偶。例如:閾值為 40%,逗號寬度為 160,腳本會回報任何大於 64(160 的 40%)的負值調距字偶。假設 r-逗號的調距值為 -60,P-逗號的調距值為 -70,在這種情況下,只會回報後者而非前者。 +* **New Tab with Right Groups(右側群組開新分頁):** 建立新分頁,每個右側群組顯示一個字符。適用於檢查右側調距群組的一致性。 +* **New Tab with all Selected Glyph Combinations(已選字符組合開新分頁):** 將您選取的字符建立所有可能的組合並開啟新分頁。同時輸出一個字串到巨集視窗,以備分頁開啟失敗時使用。 +* **New Tab with Uneven Symmetric Kernings(不對稱調距開新分頁):** 尋找對稱字母的調距字偶,如 ATA、AVA、TOT、WIW 等,並檢查 AT 是否與 TA 相同等。 +* **New Tabs with Punctuation Kern Strings(標點符號調距字串開新分頁):** 輸出多個包含標點符號調距字串的分頁。 +* **Partial Compress(部分壓縮):** 僅針對特定字符壓縮調距。 +* **Remove Kerning Between Categories(移除類別間調距):** 移除字符、類別、子類別、字符集之間的調距。 +* **Remove Kerning Exceptions(移除調距例外):** 移除目前主板的所有調距,但保留群組對群組的調距。請謹慎使用。 +* **Remove Kerning Pairs for Selected Glyphs(移除已選字符的調距字偶):** 僅刪除目前主板中已選字符的所有調距字偶。 +* **Remove Orphaned Group Kerning(移除孤立群組調距):** 刪除所有參照到字型中不存在群組的群組調距。 +* **Remove Small Kerning Pairs(移除微小調距字偶):** 移除目前字型主板中所有小於指定值或等於零的調距字偶。請謹慎使用。 +* **Report Kerning Mistakes(回報調距錯誤):** 嘗試找出不必要的調距和群組。在巨集視窗中回報供審查。 +* **Sample String Maker(範例字串產生器):** 為使用者定義的類別建立調距字串,並加入到範例字串中。僅限群組調距,忽略無群組的字符。 +* **Sample Strings with Master Kerning(主板調距範例字串):** 為目前的調距建立調距字串,並加入到範例字串中。 +* **Set Kerning Groups(設定調距群組):** 為所有選取的字符設定左右調距群組。對於組合字符,會使用基礎組件的群組,否則會根據內建字典做出合理推測。 +* **Steal Kerning from InDesign(從 InDesign 取得調距):** 從 InDesign 中設定的文字取得調距。適用於擷取 InDesign 的[光學調距](https://web.archive.org/web/20160414170915/http://blog.extensis.com/adobe/about-adobe%E2%80%99s-optical-kerning.php)值。 +* **Steal Kerning Groups from Font(從字型取得調距群組):** 從第二個字型中取得所有選取字符的左右調距群組。 +* **Transfer RTL kerning(轉移 RTL 調距):** 將從右至左書寫的調距從一個主板轉移到另一個主板。 +* **Zero Kerner(零值調距器):** 為在某個主板中缺少但存在於其他主板的字偶加入值為零的群組調距。有助於在 OTVar 匯出時保留可內插的調距。 + +## Paths(路徑) + +*我使用 Rotate Around Anchor(繞錨點旋轉)來製作星號。對於外框檢查來說很重要的工具有:Path Problem Finder(路徑問題檢測器)、Find Near Vertical Misses(尋找接近垂直的未對齊點)和 Green Blue Manager(綠藍控制點管理器)。Rewire Fire(重新連接工具)在可變字型製作中變得很重要,因為它可以減少形狀邊緣的重複外框線段(這些重複線段會在反鋸齒時產生暗點)。* + +* **Align Selected Nodes with Background(將選取的控制點對齊背景):** 將選取的控制點對齊最近的背景控制點,除非該背景控制點已被先前移動的控制點佔用。類似使用 Cmd-Shift-A 來對齊單一控制點與背景,但這個功能可以一次處理多個控制點。 +* **Batch-Set Path Attributes(批次設定路徑屬性):** 設定選取字符、主板、字型等中所有路徑的屬性。 +* **Copy Glyphs from Other Font into Backup Layers(將其他字型的字符複製到備份圖層):** 在目標字型中為選取的字符建立備份圖層,並用來源字型中對應的字符填充這些圖層。當您想要將一個字型的字符作為另一個字型的括號圖層時很有用。 +* **Distribute Nodes(分配控制點):** 水平或垂直分配控制點(取決於選取範圍邊界框的寬高比)。 +* **Enlarge Single-Unit Segments(放大單位線段):** 將短於一個單位的線段長度加倍。 +* **Fill Up with Rectangles(以矩形填充):** 檢查您選取的字符,如果發現空白的字符,就插入一個佔位矩形。適用於快速建立測試用的暫代字型。 +* **Find Close Encounters of Orthogonal Line Segments(尋找正交線段的接近處):** 檢查所有垂直和水平線段,找出接近但未完全對齊的線段對。 +* **Find Near Vertical Misses(尋找接近垂直的未對齊控制點):** 找出接近但未完全位於垂直度量線上的控制點。 +* **Green Blue Manager(綠藍控制點管理器):** 定義一個角度,高於此角度的控制點將設為藍色,低於此角度的控制點將設為綠色。 +* **Grid Switcher(格線切換器):** 透過點選浮動按鈕,在兩個使用者可定義的格線間距值之間切換。 +* **Harmonise Curve to Line(曲線與直線和諧化):** 將(選取的)曲線段與其後續直線段的控制點重新排列,使兩個線段之間平滑的轉換(和諧化)。 +* **Interpolate two paths(內插兩個路徑):** 選取兩個路徑並執行此腳本,它會將這兩個路徑替換為它們在 50% 處的內插結果。 +* **New Tab with Small Paths(開啟含小路徑的新分頁):** 開啟一個新分頁,顯示面積小於使用者可定義閾值(以平方單位計)的路徑。 +* **Path Problem Finder(路徑問題偵測器):** 尋找外框中所有可能的問題,並在新分頁中顯示受影響的圖層。 +* **Position Clicker(位置吻合檢查器):** 尋找所有位置形狀組合中不能良好吻合的部分。「吻合」指的是重疊時共用兩個節點座標。 +* **Realign BCPs(重新對齊貝茲控制點):** 重新對齊所有選取字符中的所有貝茲控制點。當控制桿因推移或其他變形後失去同步,或是在內插後特別有用。按住 Option 鍵可套用到選取字符的所有圖層。 +* **Remove all Open Paths(移除所有開放路徑):** 刪除所有選取字符可見圖層中的所有*開放*路徑。 +* **Remove Short Segments(移除短線段):** 刪除短於一個單位的線段。 +* **Rewire Fire(重複座標檢查):** 尋找、選取並標記重複的座標。位於相同位置的兩個控制點通常可以使用重新連接控制點功能進行重新連接。 +* **Rotate Around Anchor(錨點旋轉):** 提供以「rotate」錨點為中心旋轉字符或選取的控制點和組件的圖形介面。允許逐步和重複操作。 +* **Set Transform Origin(設定變形基準點):** 提供以數值方式設定旋轉工具變形基準點的簡易圖形介面。對縮放工具也會有效果。 +* **Snap selected points to nearest metric in all masters(將選取節點對齊所有主板中最近的度量):** 選取節點並執行此腳本,可將節點對齊每個相容圖層中最近的度量,前提是與度量的距離不超過 2 個單位。在巨集視窗中顯示報告。 +* **Straight Stem Cruncher(直線字幹檢查器):** 在所有圖層中尋找節點之間的距離,並與指定的字幹寬度進行比較(具有容許值)。列出繪製中具有偏差字幹的字符。 +* **Tunnify(控制桿平均化):** 尋找至少有一個控制桿被選取的所有路徑段。然後,將這些線段的控制桿平均化,也就是讓它們具有相同的曲線符合百分比。可以修正 Adobe Illustrator 的零控制桿(一個控制桿縮回最近控制點的線段)。這個腳本的想法來自 Eduardo Tunni(由 Pablo Impallari 轉述),因此以此命名。不過我從未看過 Eduardo 的演算法,所以我的實作可能與他的有些許不同,特別是在處理零控制桿的部分。 + +## Pixelfonts(像素字型) + +*這些腳本適用於像素字型的工作流程,讓您可以在較粗的網格中放置像素組件。如果您在進行像素設計,可以查看「視窗 > 外掛程式管理員」中提供的像素相關外掛程式。* + +* **Align Anchors to Grid(將錨點對齊格線):** 將變音符號的錨點對齊至字型格線。 +* **Delete Components out of Bounds(刪除超出邊界的組件):** 如果組件被放置在一般座標範圍之外(當您使用 cmd-方向鍵移動具有較大格線間距的組件時可能發生),這個腳本會將其刪除。 +* **Delete Duplicate Components(刪除重複組件):** 尋找重複的組件(相同名稱和位置)並只保留一個。這種情況在製作像素字型時經常發生。 +* **Flashify Pixels(Flash 像素最佳化):** 建立小型橋接以防止路徑自我相交,使字符內空白部分保持白色。這個問題在 Flash 字型渲染器中特別明顯,因此腳本以此命名。 +* **Reset Rotated and Mirrored Components(重設旋轉和鏡射組件):** 尋找經過縮放、鏡像和旋轉的組件,將它們恢復為預設的縮放比例和方向,但保持其位置不變。這對修正鏡射像素很有用。 + +## Post Production(後製處理) + +*如果您使用最新版本的 Glyphs,DSIG 和 GDEF 腳本已不再需要。對於義大利體的匯出,我建議修正 PS 名稱和 STAT 項目。Upgrade STAT 腳本是選用性的,它會新增目前軟體幾乎不支援的範圍,但可能對未來相容性有幫助。* + +* **Add Empty DSIG (OTVAR)「新增空白 DSIG」:** 在匯出可變字型 (TTF) 後執行此腳本,它會新增一個空白的 DSIG 表格。這是通過 MyFonts 的 OTVAR TTF 上架程序所必需的。需要 FontTools 模組。在最新的 Glyphs 3.2+ 版本中,此腳本應該已不再需要。 +* **Fix GDEF class definition of Legacy Marks (OTVAR)「修正傳統標記的 GDEF 類別定義」:** 修正最近匯出的 OTVAR 中,具有間距、非組合標記的 GDEF 定義,必要時會切換至類別 1(「基底字符」,單一字元,具間距字符)。需要 FontTools 模組。在最新的 Glyphs 3.2+ 版本中,此腳本應該已不再需要。 +* **Fix Italic PS Names (OTVAR)「修正義大利體 PS 名稱」:** 修正目前字型最近匯出中,用於 fvar postScriptName 項目的名稱表格中重複的義大利體命名,例如將 `MyfontItalic-SemiboldItalic` 改為 `MyfontItalic-Semibold`。在匯出義大利體可變字型後立即執行此腳本。需要 FontTools 模組。 +* **Fix Italic STAT Entries (OTVAR)「修正義大利體 STAT 項目」:** 針對每個軸向,將一般 STAT 項目重新命名為「Regular」(必要時也會修改名稱表格),並使其可省略(Flags=2)。通常只在義大利體 OTVAR 匯出時需要。需要 FontTools 模組。 +* **Read and Write Axis Values (OTVAR)「讀取與寫入軸向數值」:** 在 OTVAR 匯出後執行一次,它會讀取目前 Glyphs 檔案最近匯出的 STAT.AxisValueArray,並在您的可變字型設定中新增「Axis Values」參數。當執行時若存在這些自訂參數,它會用來重寫目前 Glyphs 檔案最近匯出的 OTVAR 中的 STAT.AxisValueArray。自訂參數的數值語法:`axisTag; value=name, value=elidableName*, minValue:nominalValue:maxValue=name, value>linkedValue=name` +* **Upgrade STAT Axis Values from Discrete to Ranges (OTVAR)「將 STAT 軸向數值從離散升級為範圍」:** 將具有多個軸向數值的軸的格式 1(離散)STAT 項目轉換為格式 2(範圍)。請在匯出可變字型後立即執行此腳本。需要 FontTools 模組。 + +## Smallcaps(小型大寫字母) + +*當我的字型中有小型大寫字母時,我總是會執行 Check Smallcap Consistency(檢查小型大寫字母一致性)。不過對其報告要抱持保留態度:它列出了許多誤判項目,且並非每個警告都同樣重要。* + +* **Check Smallcap Consistency(檢查小型大寫字母一致性):** 對您的小型大寫字母集進行一系列測試,並在巨集視窗中提供報告,特別是針對調距群組和字符集的部分。 +* **Copy Kerning from Caps to Smallcaps(從大寫複製調距至小型大寫字母):** 尋找大寫字母的調距字偶,並在字型中有對應的 .sc 字符時,複製其調距設定。請謹慎使用:這會覆寫現有的小型大寫字母調距字偶。 + +## Spacing(間距) + +*至關重要:Fix Math Operator Spacing(修正數學運算子間距)、Bracket Metrics Manager(括號度量管理器),如果有箭頭符號,則需要 Fix Arrow Positioning(修正箭頭位置)。建立數字時,New Tab(開新分頁)系列腳本很實用。* + +* **Add Metrics Keys for Symmetric Glyphs(為對稱字符加入度量鍵):** 當所有主板中的右側空白 (RSB) 與左側空白 (LSB) 相同時,會加入 RSB =|。 +* **Adjust Sidebearings(調整邊界):** 可進行邊界的乘除、加減、限制或四捨五入,並可區分正負值的邊界。 +* **Bracket Metrics Manager(括號度量管理器):** 管理括號圖層的邊界和寬度,例如美元符號和美分符號。 +* **Center Glyphs(置中字符):** 將所有選取的字符置中於其寬度內,使 LSB=RSB。 +* **Change Metrics by Percentage(依百分比更改度量):** 依百分比更改選取字符的左右邊界。可使用還原按鈕復原。 +* **Find and Replace in Metrics Keys(在度量鍵中尋找和取代):** 用於在左右度量鍵中搜尋與取代文字的圖形介面,例如將「=X+15」取代為「=X」。搜尋欄位留空則為附加模式。 +* **Fix Arrow Positioning(修正箭頭位置):** 根據指定的預設箭頭修正箭頭的位置和度量鍵。加入度量鍵並垂直移動箭頭。僅作用於現有字符,不會建立新字符。 +* **Fix Math Operator Spacing(修正數學運算子間距):** 同步寬度並置中 +−×÷=≠±≈¬ 等符號,可選擇是否包含大於/小於符號和抑揚符/波浪號。 +* **Freeze Placeholders(凍結預留位置):** 在目前的編輯分頁中,將所有插入的預留位置變更為目前字符,從而「凍結」預留位置。 +* **Metrics Key Manager(度量鍵管理器):** 批次套用度量鍵到目前的字型。 +* **Monospace Checker(等寬檢查器):** 檢查最前方字型中的所有字符寬度是否確實等寬。在巨集視窗中回報並開啟受影響圖層的分頁。 +* **New Tab with all Figure Combinations(開啟含所有數字組合的新分頁):** 開啟含所有可能數字組合的新分頁。同時輸出字串到巨集視窗,以備開啟分頁失敗時使用。 +* **New Tab with Fraction Figure Combinations(開啟含分數數字組合的新分頁):** 開啟含分數數字組合的編輯分頁,用於調整間距和調距。 +* **Remove Layer-Specific Metrics Keys(移除圖層專用度量鍵):** 刪除所有選取字符的所有圖層專用(==)左右度量鍵。同時簡化字符度量鍵(例如,將「=H」變更為「H」)。 +* **Remove Metrics Keys(移除度量鍵):** 刪除所有選取字符的左右度量鍵。影響所有主板和圖層。 +* **Reset Alternate Glyph Widths(重設替代字符寬度):** 將帶後綴的字符寬度重設為其無後綴對應字符的寬度。例如,將 `Adieresis.ss01` 重設為 `Adieresis` 的寬度。 +* **Spacing Checker(間距檢查器):** 尋找具有異常間距的字符並在新分頁中開啟。 +* **Steal Metrics(擷取度量):** 從第二個字型擷取所有選取字符的邊界或寬度值。可選擇是否也轉移如「=x+20」等度量鍵。 +* **Tabular Checker(等寬檢查器):** 檢查等寬字符是否等寬,並回報例外情況。 +* **Tabular Figure Maker(等寬數字製作器):** 使用現有的 .tf 數字並設定等寬間距,或從現有的預設數字建立它們。 + +## Test(測試) + +*至關重要:Test HTML(測試 HTML)腳本。如果你在 Adobe 或 Apple 應用程式中發現文字選取區域異常偏高或偏低,請執行 Report Highest and Lowest Glyphs(回報最高與最低字符)來找出造成問題的字符。Language Report(語言報告)僅供充實你的樣本使用,不會提供權威性的資訊。* + +* **Copy InDesign Test Text(複製 InDesign 測試文字):** 將測試文字複製到剪貼簿中,供 InDesign 使用。 +* **Copy Word Test Text(複製 Word 測試文字):** 將測試文字複製到剪貼簿中,供 MS Word 使用。 +* **Language Report(語言報告):** 試圖根據你的拉丁字符提供初步的語言支援範圍評估。以 Underware 的 Latin-Plus 清單為基礎並加以修改。 +* **Pangram Helper(全字母句協助工具):** 協助你撰寫全字母句,可複製到剪貼簿或放入新分頁中。 +* **Report Highest and Lowest Glyphs(回報最高與最低字符):** 回報所有主板中具有最高和最低邊界框的字符。 +* **Variable Font Test HTML(可變字型測試 HTML):** 在目前可變字型匯出資料夾中為目前的字型建立測試用 HTML。 +* **Webfont Test HTML(網頁字型測試 HTML):** 在目前的網頁字型匯出資料夾內,或是目前 Glyphs 專案的匯出路徑中,建立一個測試用 HTML。 + +# 授權條款 + +Copyright 2011 The mekkablue Glyphs-Scripts (Glyphs 腳本) Project Authors (專案作者群)。 + +部分程式碼範例由 Georg Seifert (@schriftgestalt) 和 Tal Leming (@typesupply) 提供。 + +部分演算法構想由 Christoph Schindler (@hop) 和 Maciej Ratajski (@maciejratajski) 提供。 + +部分程式碼修正來自 Rafał Buchner (@RafalBuchner)。 + +本專案採用 Apache License, Version 2.0 (Apache 2.0 版授權條款) 授權。 +除非遵守本授權條款,否則不得使用此處提供的軟體。 +您可以在以下網址取得授權條款內容: + +http://www.apache.org/licenses/LICENSE-2.0 + +如需更多詳細資訊,請參閱本儲存庫中隨附的授權條款檔案。 diff --git a/README.md b/README.md index 9b2636a6..e9d982db 100644 --- a/README.md +++ b/README.md @@ -1,498 +1,494 @@ ---- -updated: 2024-10-25 -language: zh-Hant -translator: yintzuyuan ---- -# 關於 +# ABOUT -這些是用於 [Glyphs 字型編輯器](http://glyphsapp.com/)(字型編輯軟體)中進行字型製作的 Python 腳本。 +These are Python scripts intended for font production in the [Glyphs font editor](http://glyphsapp.com/). -# 安裝方式 +# INSTALLATION ## Glyphs 3 -1. **安裝模組:** 在「視窗 > 外掛程式管理員」中,點選「模組」分頁,確認至少已安裝 [Python](glyphsapp3://showplugin/python)(程式語言)和 [Vanilla](glyphsapp3://showplugin/vanilla)(介面框架)模組。如果這些模組之前未安裝,請重新啟動應用程式。 -2. **安裝腳本:** 前往「視窗 > 外掛程式管理員」並點選「腳本」分頁。向下捲動至 [mekkablue scripts](glyphsapp3://showplugin/mekkablue%20scripts)(腳本集),點選旁邊的「安裝」按鈕。 +1. **Install the modules:** In *Window > Plugin Manager,* click on the *Modules* tab, and make sure at least the [Python](glyphsapp3://showplugin/python) and [Vanilla](glyphsapp3://showplugin/vanilla) modules are installed. If they were not installed before, restart the app. +2. **Install the scripts:** Go to *Window > Plugin Manager* and click on the *Scripts* tab. Scroll down to [mekkablue scripts](glyphsapp3://showplugin/mekkablue%20scripts) and click on the *Install* button next to it. -現在這些腳本可在「腳本 > mekkablue」中使用。如果 mekkablue 腳本沒有出現在「腳本」選單中,請按住 Option 鍵並選擇「腳本 > 重新載入腳本」(Cmd-Opt-Shift-Y)。 +Now the scripts are available in *Script > mekkablue.* If the mekkablue scripts do not show up in the *Script* menu, hold down the Option key and choose *Script > Reload Scripts* (Cmd-Opt-Shift-Y). ## Glyphs 2 -### Glyphs 2 的影片安裝指南 +### Video installation guide for Glyphs 2 -YouTube 上有一部[關於如何安裝 mekkablue 腳本的教學影片](https://www.youtube.com/watch?v=Q6ly16Q0BmE)。當您造訪時,歡迎訂閱 [mekkablue 頻道](https://www.youtube.com/channel/UCFPSSuEMZVQtrFpTzgFh9lA)。 +There is a [tutorial video on how to install the mekkablue scripts](https://www.youtube.com/watch?v=Q6ly16Q0BmE) available on YouTube. While you are there, feel free to subscribe to the [mekkablue channel](https://www.youtube.com/channel/UCFPSSuEMZVQtrFpTzgFh9lA). -### Glyphs 2 的一般安裝指南 +### General installation guide for Glyphs 2 -腳本需要放在應用程式的 Application Support 資料夾中的「Scripts」資料夾內。以下是安裝步驟: +The scripts need to be in the *Scripts* folder inside the app’s Application Support folder. Here is how: -1. 將腳本資料夾(或其別名)放入選擇「腳本 > 打開腳本資料夾」(Cmd-Shift-Y) 時出現的「Scripts」資料夾中:`~/Library/Application Support/Glyphs/Scripts/`,或者更好的方式是使用 **git**。詳見下方說明。 -2. 然後,按住 Option (Alt) 鍵,並選擇「腳本 > 重新載入腳本」(Cmd-Opt-Shift-Y)。現在腳本會顯示在「腳本」選單中。 -3. 對於某些腳本,您還需要安裝 Tal Leming 的 *Vanilla:* 前往「Glyphs > 偏好設定 > 附加元件 > 模組」並點選「安裝模組」按鈕。這樣就完成了。 +1. Put the scripts folder (or an alias) into the *Scripts* folder which appears when you choose *Script > Open Scripts Folder* (Cmd-Shift-Y): `~/Library/Application Support/Glyphs/Scripts/`, or, better yet, use **git** for that. See below. +2. Then, hold down the Option (Alt) key, and choose *Script > Reload Scripts* (Cmd-Opt-Shift-Y). Now the scripts are visible in the *Script* menu +3. For some of the scripts, you will also need to install Tal Leming's *Vanilla:* Go to *Glyphs > Preferences > Addons > Modules* and click the *Install Modules* button. That’s it. -### Glyphs 2 的 git 安裝方式 +### git installation for Glyphs 2 -我建議使用 git 來取得腳本,因為這樣更容易保持更新。使用以下 git 指令將儲存庫複製到您的「腳本」資料夾中: +I recommend to use git for getting the scripts, because it is easier for you to keep them up to date. Use this git command for cloning the repository into your *Scripts* folder: ```bash git clone https://github.com/mekkablue/Glyphs-Scripts ~/Library/Application\ Support/Glyphs/Scripts/mekkablue/ ``` -如果您對終端機感到不安,可以使用許多現成的 git 用戶端,例如免費的 [Source Tree](https://www.sourcetreeapp.com)(版本控制工具)或 [GitHub Desktop](https://desktop.github.com)(版本控制工具)。 - -安裝 mekkablue 腳本後,您可以透過執行「腳本 > mekkablue > App > Update git Repositories in Scripts Folder」來**更新**這個腳本儲存庫(以及您腳本資料夾中的所有其他儲存庫)。 - -# 疑難排解 - -請在 [GitHub issue](/issues) 回報問題和功能要求。請確保您使用最新版本的腳本,且應用程式已更新至最新版本。此外,請務必**同時註明您的 Glyphs 和 macOS 版本**。感謝您的配合。 - -# 系統需求 - -這些腳本需要在 macOS 10.9 或更新版本上執行最新版本的 Glyphs 2.x。我只能在最新版本的軟體中測試並使用這些腳本。如果腳本無法運作,請先更新至最新版本的腳本。 - -# 關於這些腳本 - -所有腳本在滑鼠指標停留在其選單項目上時都會顯示**工具提示**。在具有圖形使用者介面的腳本中,大多數 UI 元素(核取方塊、文字輸入欄位等)也都有工具提示。這樣您就能在需要的地方獲得解釋說明。 - -## Anchors(錨點) - -*Anchor Mover(錨點移動工具)用於批次處理錨點位置。在調整 x 字高後特別有用。簡單建議:我總是在組合標號上使用 Reposition 指令碼,這樣堆疊的組合標號就能保持在義大利體的傾斜角度。* - -* **Add missing smart anchors(新增遺漏的智慧錨點):** 在所有圖層中為選取的智慧字符的屬性新增所有錨點。略過 *Width*(寬度)和 *Height*(高度)錨點。 -* **Add ZWRO origin Anchors(新增 ZWRO 原點錨點):** 在指定文字的所有組合標號中插入 ZWRO 的原點錨點。 -* **Anchor Mover(錨點移動工具):** 用於在多個字符中批次處理錨點位置的圖形使用者介面。 -* **Batch Insert Anchors(批次插入錨點):** 用於在多個字符中批次插入相同名稱且位於相近位置的錨點的圖形使用者介面。 -* **Find and Replace in Anchor Names(錨點名稱尋找與取代):** 用於在選取字符的錨點名稱中取代文字的圖形使用者介面。處理所有圖層。 -* **Fix Arabic Anchor Order in Ligatures(修正阿拉伯文合字中的錨點順序):** 將 *top_X* 和 *bottom_X* 錨點的順序修正為從右到左。在從其他格式轉換的檔案中,有時會發生 *top_1* 在 *top_2* 左側的情況,但應該相反,否則您的 mark2liga 會出錯。這個指令碼會檢查您選取的字符,如果是阿拉伯文合字,就會將所有錨點重新排序為從右到左,同時保持其座標不變。 -* **Insert All Anchors in All Layers(在所有圖層中插入所有錨點):** 在選取字符的每個圖層中,新增所有遺漏的錨點(但在該字符的其他圖層中已存在)。將錨點放在平均位置。 -* **Insert #exit and #entry anchors at sidebearings(在字距邊緣插入 #exit 和 #entry 錨點):** 在選取字符的所有主板和特殊圖層中,在左側字距插入 #entry,在右側字距插入 #exit(從左到右)或相反(從右到左)。除非按住 Option-Shift,否則不會覆寫現有錨點。 -* **Insert #exit and #entry on baseline at selected points(在選取點的基線上插入 #exit 和 #entry):** 使用最外側選取點的 x 座標,在基線上新增具有相同 x 座標的 #exit 和 #entry 錨點。對於從組件建立合字很有用。 -* **Insert exit and entry Anchors to Selected Positional Glyphs(在選取的位置字符中插入 exit 和 entry 錨點):** 在選取字符中新增用於連寫連接的 entry 和 exit 錨點。預設會將 exit 放在 (0, 0),如果右側字距存在控制點,則將 entry 放在該處。請根據需求調整。 -* **Mark Mover(標號移動工具):** 將標號移動到各自的高度,例如將 …comb.case 移至大寫字高,將 …comb 移至 x 字高等。也允許設定左右度量鍵。 -* **Move ogonek Anchors to Baseline Intersection(將 ogonek 錨點移至基線交點):** 將所有 ogonek 和 _ogonek 錨點移至外框與基線最右側的交點。 -* **Move topright Anchors for Vertical Carons(移動垂直抑揚符號的右上錨點):** 將所有 topright 和 _topright 錨點移至外框與 x 字高最右側的交點。對於建立捷克/斯洛伐克文字的垂直抑揚符號很有用。 -* **Move Vietnamese Marks to top_viet Anchor in Circumflex(將越南文標號移至外加符號中的 top_viet 錨點):** 在選取字符的每個圖層中,將 *acute*、*grave* 和 *hookabovecomb* 移至 *top_viet* 錨點。對於越南文雙重重音很有用。假設您在 *circumflexcomb* 的所有圖層中都有 *top_viet* 錨點。 -* **New Tab with Glyphs Containing Anchor(含錨點字符分頁):** 開啟新分頁,顯示所有包含特定錨點的字符。 -* **New Tab with top and bottom Anchors Not on Metric Lines(頂底錨點偏離基準線分頁):** 在巨集面板中回報所有 *top* 和 *bottom* 錨點的垂直位置,並開啟新分頁顯示在字型中任何字符的主板、中括號或大括號圖層中有偏離錨點的字符。忽略使用者的選取範圍,分析所有字符(包含匯出和未匯出的字符)。適用於檢查頂部錨點是否位於正確位置。 -* **Prefix all exit/entry anchors with a hashtag(替出入錨點加上井字號):** 尋找字型中所有的 exit/entry 錨點,並在錨點名稱前加上 `#` 以停用 `curs` 特性的生成。 -* **Propagate Components and Mark Anchoring(複製組件和標號錨點):** 將目前主板的組件和標號錨點設定,複製到所有其他(相容)主板。適用於複雜的阿拉伯文合字標號。 -* **Realign Stacking Anchors(重新對齊堆疊錨點):** 在堆疊組合重音中,將頂部和底部錨點精確移動到各自的 _top 和 _bottom 錨點正上方或下方,並顧及義大利體角度。如此一來,堆疊多個非間距重音符號時將保持一致。 -* **Remove Anchors in Suffixed Glyphs(移除後綴字符錨點):** 移除具有使用者指定後綴的字符中的所有錨點。在複製、縮放和編輯字符的 sups/subs/sinf/ordn 變體後,適用於移除殘留的錨點。 -* **Remove Anchors(移除錨點):** 在選取的字符(或整個字型)中刪除具有指定名稱的錨點。 -* **Remove Non-Standard Anchors from Selected Glyphs(移除選取字符中的非標準錨點):** 移除字符中預設不應存在的所有錨點,例如 `J` 中的 `ogonek`。可能具有風險,因為它可能刪除誤判項目。建議先使用下方的回報腳本。 -* **Replicate Anchors(複製錨點):** 批次將錨點新增至選取的字符。指定來源字符以複製其錨點。 -* **Replicate Anchors in Suffixed Glyphs(複製後綴字符錨點):** 檢查選取的點後綴字符,並從其各自的基本字符複製錨點。例如,將在 *X.ss01*、*X.swsh* 和 *X.alt* 中重新建立 *X* 的錨點。 -* **Report Non-Standard Anchors to Macro window(回報非標準錨點至巨集視窗):** 檢查字型中的所有字符,並在巨集視窗中回報發現的非預設錨點。可在編輯檢視中複製貼上這些行。 -* **Shine Through Anchors(透視錨點):** 在選取字符的所有圖層中,插入來自組件的「穿透」錨點。 -* **Snap Anchors to Nearest Metric(對齊錨點至最近基準):** 在指定閾值內,將指定的錨點移動到最近的基準(如 x 字高、上伸部等)。 -* **Steal Anchors(擷取錨點):** 批次將錨點從一個字型主板複製到另一個。 -* **Top Mark Mover(頂部標號移動工具):** 垂直移動選取的標號,使其 _top 錨點位於相應的垂直基準上。 - -## App(應用程式) - -*如果您正在編寫程式碼,建議為 Method Reporter(方法回報器)設定快捷鍵,因為您會經常需要使用它。如果您想要取得視窗內容的解析度獨立的 PDF 螢幕截圖,Print Window(列印視窗)會很有用,特別適合在向量繪圖應用程式中進行後製。* - -* **Close All Tabs of All Open Fonts(關閉所有開啟字型的所有分頁):** 關閉目前在應用程式中開啟的所有字型的所有編輯分頁。 -* **Copy Download URL for Current App Version(複製目前應用程式版本的下載網址):** 將目前 Glyphs 應用程式版本的下載網址複製到剪貼簿中,方便貼上。 -* **Decrease(減少)** 和 **Increase Line Height(增加行高):** 將編輯檢視的行高增加四分之一或減少五分之一。如果您需要經常切換行高,設定快捷鍵會很有用。 -* **Method Reporter(方法回報器):** 用於過濾 Glyphs 中可用的 Python 和 PyObjC 類別方法名稱的圖形使用者介面。您可以使用多個以空格分隔的搜尋詞(作為 AND 連接)以及星號作為萬用字元(可在開頭、中間和結尾使用)。連按兩下可將方法名稱複製到剪貼簿並在巨集視窗中開啟說明。對程式設計師很有用。 -* **Parameter Reporter(參數回報器):** 類似 Method Reporter,但用於自訂參數。連按兩下可將參數複製到剪貼簿中,可直接貼到字型資訊中。 -* **Print Window(列印視窗):** 列印最前方的視窗。適用於儲存視窗內容的向量 PDF,包含回報器外掛程式的渲染結果(*顯示* 選單的擴充功能)。 -* **Resetter(重設工具):** 重設快速預覽、鍵盤快捷鍵,並清除應用程式偏好設定、已儲存的應用程式狀態和自動儲存。 -* **Set Export Paths to Adobe Fonts Folder(設定匯出路徑至 Adobe 字型資料夾):** 將 OpenType 字型和可變字型的匯出路徑設定為 Adobe 字型資料夾。 -* **Set Hidden App Preferences(設定隱藏的應用程式偏好設定):** 用於讀取和設定圖形使用者介面中未列出的「隱藏」應用程式偏好設定的介面。 -* **Set Label Colors(設定標籤顏色):** 覆寫預設的應用程式標籤顏色。 -* **Set Tool Shortcuts(設定工具快捷鍵):** 設定工具列中工具的鍵盤快捷鍵。 -* **Toggle Horizontal-Vertical(切換水平-垂直):** 在 LTR(水平)和垂直書寫方向之間切換最前方的分頁。適合設定鍵盤快捷鍵。 -* **Toggle Macro Window Separator(切換巨集視窗分隔線):** 在巨集視窗中切換分隔線位置,在 80% 和 20% 之間切換。 -* **Toggle RTL-LTR(切換 RTL-LTR):** 在 LTR 和 RTL 書寫方向之間切換最前方的分頁。適合在系統偏好設定中設定鍵盤快捷鍵。 -* **Toggle Script Windows(切換腳本視窗):** 顯示或隱藏所有腳本視窗。適合在應用程式設定中指派快捷鍵。 -* **Update git Repositories in Scripts Folder(更新腳本資料夾中的 git 儲存庫):** 在 Glyphs 腳本資料夾的所有子資料夾中執行「git pull」指令。如果您的腳本資料夾中有許多 git 儲存庫,這會很有用。 -* **Update Text Preview(更新文字預覽):** 強制更新「視窗 > 文字預覽」。當您在字型視窗以外進行變更(如在字型資訊中的 OpenType 特性)且預覽無法自動重新整理時很有用。 -* **Navigate > Activate next/previous glyph(導覽 > 啟用下一個/上一個字符):** 在編輯檢視中啟用下一個/上一個字符進行編輯。 - -## Build Glyphs(建立字符) - -*至關重要:Quote Manager(引號管理器),以及用於建立 Small Figures(小型數字)、Symbols(符號)、Ldot(L 點)的建構指令。其他指令主要用於當客戶要求特定 Unicode 範圍時,能快速開始製作。* - -* **Add Adobe Symbol Glyphs(新增 Adobe 符號字符):** 當字型中缺少以下符號字符時,會新增 Adobe 的內插符號:*Omega、Delta、Ohm、increment(增量)、asciicircum(插入符號)、greaterequal(大於等於)、infinity(無限)、partialdiff(偏微分)、lessequal(小於等於)、notequal(不等於)、product(乘積)、approxequal(約等於)、plus(加號)、lozenge(菱形)、integral(積分)、summation(總和)、radical(根號)、daggerdbl(雙劍號)、perthousand(千分號)、logicalnot(邏輯非)、plusminus(正負號)、asciitilde(波浪號)、divide(除號)、minus(減號)、multiply(乘號)、dagger(劍號)、less(小於)、equal(等於)、greater(大於)、literSign(升號)、.notdef(未定義字符)。* 需要安裝 makeotf (AFDKO)。 -* **Build APL Greek(建立 APL 希臘文):** 建立 APL 希臘文字符。 -* **Build careof and cadauna(建立 careof 與 cadauna):** 使用 `c`、`o`、`u` 和 `fraction` 字符建立 `cadauna` 和 `careof`。 -* **Build Circled Glyphs(建立圓圈字符):** 使用 `_part.circle` 以及現有的字母和數字建立圓圈數字和字母(U+24B6...24EA 和 U+2460...2473)。 -* **Build Dotted Numbers(建立點號數字):** 使用預設數字和句點建立帶句點的編號字符(例如用於有序清單的 1.、2.、3. 等格式)。 -* **Build ellipsis from period components(使用句點組件建立省略號):** 在句點字符中插入出口和入口錨點,並使用自動對齊的句點組件重建省略號。注意:會分解所有用於其他字符中的句點組件(例如冒號)。 -* **Build Extra Math Symbols(建立額外數學符號):** 建立 `lessoverequal`(小於上等於)、`greateroverequal`(大於上等於)、`bulletoperator`(點運算符)、`rightanglearc`(直角弧)、`righttriangle`(直角三角形)、`sphericalangle`(球面角)、`measuredangle`(測量角)、`sunWithRays`(帶光芒太陽)、`positionIndicator`(位置指示器)、`diameterSign`(直徑符號)、`viewdataSquare`(檢視資料方塊)、`control`(控制)。 -* **Build Ldot and ldot(建立 Ldot 和 ldot):** 使用現有的 `L` 和 `periodcentered.loclCAT`(`.case`/`.sc`)建立 `Ldot`、`ldot` 和 `ldot.sc`。假設您已經建立並適當調整了 `L`-`periodcentered.loclCAT`-`L` 等的間距。 -* **Build Parenthesized Glyphs(建立括號字符):** 建立帶括號的字母和數字:`one.paren`、`two.paren`、`three.paren`、`four.paren`、`five.paren`、`six.paren`、`seven.paren`、`eight.paren`、`nine.paren`、`one_zero.paren`、`one_one.paren`、`one_two.paren`、`one_three.paren`、`one_four.paren`、`one_five.paren`、`one_six.paren`、`one_seven.paren`、`one_eight.paren`、`one_nine.paren`、`two_zero.paren`、`a.paren`、`b.paren`、`c.paren`、`d.paren`、`e.paren`、`f.paren`、`g.paren`、`h.paren`、`i.paren`、`j.paren`、`k.paren`、`l.paren`、`m.paren`、`n.paren`、`o.paren`、`p.paren`、`q.paren`、`r.paren`、`s.paren`、`t.paren`、`u.paren`、`v.paren`、`w.paren`、`x.paren`、`y.paren`、`z.paren`。 -* **Build Q from O and _tail.Q(使用 O 和 _tail.Q 建立 Q):** 在對 Q 尾部執行「將選取的路徑轉為組件」並將其命名為 `_tail.Q` *之後*執行此指令。 -* **Build Rare Symbols(建立罕用符號):** 建立白色和黑色、小型和大型的圓形、三角形和方形。 -* **Build rtlm Alternates(建立 rtlm 替代字):** 為選取的字符建立水平鏡像組件,並更新 rtlm OpenType 特性。自動對齊組件,並在您分解組件時加入度量鍵。 -* **Build Small Figures(建立小型數字):** 使用預設的數字集(例如 `.dnom`),並衍生其他變體(`.numr`、`superior`/`.sups`、`inferior`/`.sinf`、`.subs`)作為組件副本。會顧及義大利體角度。 -* **Build small letter SM, TEL(建立小寫字母 SM、TEL):** 建立以下字符:`servicemark`(服務標記)、`telephone`(電話)。 -* **Build space glyphs(建立空格字符):** 建立各種空格字符 `mediumspace-math`、`emquad`、`emspace`、`enquad`、`enspace`、`figurespace`、`fourperemspace`、`hairspace`、`narrownbspace`、`punctuationspace`、`sixperemspace`、`nbspace`、`thinspace`、`threeperemspace`、`zerowidthspace`。 -* **Build Symbols(建立符號):** 建立符號字符,如 `.notdef`(基於最粗的可用 `question` 標記)、`estimated`(估計)字符,以及 `bar`(直線)和 `brokenbar`(斷直線)(會顧及標準字幹和義大利體角度)。 -* **Center punt volat(置中間隔圓點):** 水平移動所有 `periodcentered.loclCAT` 字符,使其適合放置在兩個 L 之間。按住 ⌘ Cmd 和 ⇧ Shift 可處理所有開啟的字型。 -* **Quote Manager(引號管理器):** 使用單引號建立雙引號,並在單引號中插入 `#exit` 和 `#entry` 錨點以進行自動對齊。您需要已經有單引號。 - -## Color Fonts (彩色字型) - -*這些腳本是用於處理彩色字型工作流程中會遇到的情況。Merge(合併)腳本主要用於為 CPAL/COLR 字型建立備用字符。這樣備用字符就能具有完整的邊界框,且不會在 Chrome 瀏覽器中發生裁切。* - -* **Add All Missing Color Layers to Selected Glyphs(為選取的字符加入所有缺少的彩色圖層):** 為每個選取的字符,依據 Color Palettes(色盤)參數中定義的每個 CPAL/COLR 顏色,加入備用圖層的副本。僅加入字符中尚未設定的顏色。 -* **Add sbix Images to Font(為字型加入 sbix 圖片):** 會取得資料夾中所有的 PNG、GIF、JPG 檔案,並在目前的字型和主板中以這些檔案建立 iColor 圖層。檔案命名規則:「字符名稱 像素大小.副檔名」,例如:「Adieresis 128.png」。 -* **Convert Layerfont to CPAL+COLR Font(將圖層字型轉換為 CPAL+COLR 字型):** 將圖層彩色字型轉換為單一主板字型,每個字符都具有 CPAL 和 COLR 圖層。它會採用第一個主板作為預設值。 -* **Convert Master Colors to CPAL Palette(將主板顏色轉換為 CPAL 色盤):** 會在字型主板中尋找 Master Color(主板顏色)參數,然後在「字型資訊 > 字型」中建立具有相同顏色的 Color Palettes(色盤)參數。若缺少主板顏色參數則預設為黑色。會將深色模式主板顏色加入為第二個色盤。 -* **Cycle CPAL Colors for Selected Glyphs(循環選取字符的 CPAL 顏色):** 會遞增每個 CPAL Color Palette 圖層的顏色索引,若超過可用顏色數量則設為 0。 -* **Delete Non-Color Layers in Selected Glyphs(刪除選取字符中的非彩色圖層):** 刪除所有字符中不屬於 "Color X"(CPAL/COLR 圖層)類型的子圖層。 -* **Merge All Other Masters in Current Master(將所有其他主板合併至目前主板):** 在選取的字符中,將其他主板的所有路徑複製到目前的主板圖層。 -* **Merge CPAL Layers into Master Layer(將 CPAL 圖層合併至主板圖層):** 取得所有 CPAL/COLR 圖層並將其圖形的副本放入主板圖層。 -* **Merge Suffixed Glyphs into Color Layers(將帶後綴的字符合併為彩色圖層):** 將 x.shadow、x.body 和 x.front 合併為 x 的個別 CPAL Color 圖層。 -* **Randomly Distribute Shapes on Color Layers(在彩色圖層上隨機分配圖形):** 取得備用主板圖層的圖形,並隨機將它們複製到可用的 CPAL/COLR 彩色圖層上。注意:除非按住 Cmd-Shift,否則會覆寫現有彩色圖層的內容。 -* **Reverse CPAL Colors for Selected Glyphs(反轉選取字符的 CPAL 顏色):** 將反轉每個 CPAL Color Palette 圖層的顏色索引。例如,對於三個顏色,會將索引 0,1,2 轉換為 2,1,0。 -* **sbix Spacer(sbix 間距工具):** 批次設定 sbix 位置和字符寬度。 - -## Compare Frontmost Fonts(比較最前方字型) - -*這些腳本用於同步正體與其對應的義大利體。開啟兩個字型後執行腳本。腳本不會變更您的字型,而是在巨集視窗中提供詳細報告。* - -* **Compare Font Info > Font(比較字型資訊 > 字型):** 針對最前方的兩個字型,比較其「字型資訊 > 字型」的詳細資料,並在巨集視窗中輸出報告。 -* **Compare Font Info > Masters(比較字型資訊 > 主板):** 針對最前方的兩個字型,比較其「字型資訊 > 主板」的詳細資料,並在巨集視窗中輸出報告。 -* **Compare Font Info > Instances(比較字型資訊 > 實體):** 針對最前方的兩個字型,比較其「字型資訊 > 實體」的詳細資料,並在巨集視窗中輸出報告。 -* **Compare Font Info > Features(比較字型資訊 > 特性):** 比較最前方兩個字型的 OpenType 特性設定,並在巨集視窗中輸出報告。 -* **Compare Anchors(比較錨點):** 比較最前方兩個字型之間的錨點結構與高度。 -* **Compare Composites(比較組合字符):** 報告組合字符中不一致的組件結構,例如一個字型中的 `iacute` 使用 `acutecomb` 建構,而另一個字型則使用 `acutecomb.narrow`。 -* **Compare Glyph Heights(比較字符高度):** 列出所有與第二個字型在高度上差異超過指定閾值的字符。 -* **Compare Glyph Info(比較字符資訊):** 比較開啟的字型並建立字符資訊差異清單,包含 Unicode 值和分類。 -* **Compare Glyphsets(比較字符集):** 比較最前方兩個字型的字符集,並在巨集視窗中輸出報告。 -* **Compare Kerning Groups(比較調距群組):** 比較最前方字型之間的調距群組,輸出群組不符的字符名稱表格。 -* **Compare Metrics(比較度量):** 比較最前方兩個字型的寬度。 -* **Compare Sidebearings(比較邊界):** 比較最前方兩個字型的邊界。 -* **Report Missing Glyphs for all Open Fonts(報告所有開啟字型的遺漏字符):** 在巨集視窗中,報告目前開啟的檔案中遺漏,但存在於其他字型中的所有字符。 - -## Components(組件) - -*當您想根據其他字母建立新字母時,Populate Backgrounds with Components(使用組件填充背景)非常實用,例如 ae 或 oe 可以在背景中放置 e。此腳本會在每個主板的背景中放入 e,並且使用者介面有一個選項可以將選取的控制點與背景中的 e 對齊。如果您在多主板字型中使用角落組件來製作襯線,Propagate(傳播)腳本可以為您節省大量時間。* - -* **Alignment Manager(對齊管理器):** 啟用或停用所選字符中可見圖層上所有組件的自動就定位功能。與右鍵選單中的指令功能相同,但您可以一次為多個字符執行此操作。 -* **Auto-align Composites with Incremental Metrics Keys(使用遞增度量鍵自動對齊組合字符):** 針對最前方的字型,自動對齊只有第一個組件停用自動就定位的組合字符。忽略 .tf、.tosf 和數學運算符。會開啟一個分頁顯示受影響的字符圖層。 -* **Cap and Corner Manager(筆帽與角落管理器):** 在最前方字型的所有字符中批次編輯筆帽、角落、筆刷或線段組件的設定。 -* **Component Mover(組件移動工具):** 在選取的字符中批次編輯(智慧)組件。變更位置、縮放比例和智慧屬性。 -* **Component Problem Finder(組件問題偵測器):** 尋找組件和角落組件可能存在的問題:由路徑組成的可組合字符;鎖定、巢狀、孤立、鏡射、偏移、旋轉和縮放的組件;具有不尋常組件順序或非正統組件結構的組合字符。同時也會檢查斷開連接和縮放的角落組件。 -* **Composite Consistencer(組合字符一致性檢查器):** 檢查最前方字型中所有字符的目前主板中的組合字符。如果帶點後綴的字符變體缺少組件,會在巨集視窗中報告。 -* **Decompose Components in Background(分解背景中的組件):** 分解選取字符的背景圖層。可用於目前主板或所有主板,或所有字型的所有主板。 -* **Decompose Corner and Cap Components(分解角落和筆帽組件):** 分解選取字符中的所有角落和筆帽組件。在巨集視窗中報告結果。 -* **Find and Replace Components(尋找和取代組件):** 將選取字符中的組件重新連結到新的來源字符。 -* **Find and Replace Cap and Corner Components(尋找和取代筆帽和角落組件):** 將選取字符中的 `_cap.*` 和 `_corner.*` 組件重新連結到不同的角落/筆帽組件。 -* **Find and Replace Corner Components at Certain Angles(在特定角度尋找和取代角落組件):** 取代鈍角或銳角處的角落組件。 -* **Move Paths to Component(將路徑移至組件):** 將路徑移至單獨的字符,並將其作為自動就定位的錨點組件插入來源字符中。非常適合將路徑與組件混合的字符轉換為純組合字符。 -* **Populate Backgrounds with Components(使用組件填充背景):** 將指定的組件加入字符的所有背景中,並允許您將選取的前景控制點對齊到該組件。對於保持前景中已分解形狀與相似字符同步很有用。 -* **Propagate Corner Components to Other Masters(將角落組件傳播到其他主板):** 嘗試在同一字符的所有其他主板中重新建立目前主板圖層的角落組件。請確保您的外框相容。 -* **Remove Components(移除組件):** 從所有(選取的)字符中移除指定的組件。 -* **Remove Detached Corners(移除分離的角落):** 從所有(選取的)字符中移除分離的角落組件。 -* **Sync Components Across Masters(在主板間同步組件):** 取用目前圖層的組件,並將所有其他主板重設為相同的組件結構。忽略路徑和錨點。按住 Option 鍵可*刪除*所有路徑和錨點。 - -## Features(特性) - -*在手寫字體中,您可能經常需要 Build Positional calt script(建立位置相關 calt 腳本)。如果您發現自己經常需要開關 OT 特性,建議查看 Activate Default Features(啟用預設特性)和 Floating Features(浮動特性)腳本。另外別忘了從「視窗 > 外掛程式管理員」查看 Set Palette(設定控制盤)。* - -* **Activate Default Features(啟用預設特性):** 在目前的編輯分頁中,啟用所有依照規格建議預設開啟的 OT 特性。 -* **Baseline Wiggle(基線擺動):** 為指定類別中的所有字符加入具有虛擬隨機 GPOS 基線位移的 OpenType 特性。 -* **Build ccmp for Hebrew Presentation Forms(建立希伯來文顯示形式的 ccmp):** 為預組合的 `uniFBxx` 字符建立 ccmp 特性,例如:若您有 pedagesh,就會在 ccmp 中得到 'sub pe dagesh by pedagesh'。 -* **Build Italic Shift Feature(建立義大利體位移特性):** 建立並插入用於位移字符的 GPOS 特性程式碼,如大小寫特性中的括號和標點符號。 -* **Build Positional Feature(建立位置特性):** 尋找 `.init`、`.medi`、`.fina` 和 `.isol` 字符,並將位置替換程式碼注入到您的 `calt` 特性(或您指定的任何其他特性)中。再次執行時,會*更新*類別和特性程式碼。更多資訊請參考[此教學](https://glyphsapp.com/learn/features-part-4-positional-alternates)。 -* **Build rand Feature(建立隨機特性):** 從 .cvXX 或其他(編號)後綴建立 rand(隨機)特性。 -* **Feature Code Tweaks(特性程式碼調整):** 對 OT 特性程式碼進行調整。在巨集視窗中報告。請注意:如果您不了解某個選項,請勿使用。 -* **Find in Features(在特性中尋找):** 在 OT 特性、前置和類別中尋找表達式(字符、查詢或類別名稱)。 -* **Floating Features(浮動特性):** 用於啟用和停用 OT 特性的浮動控制盤。功能與彈出式選單相同。 -* **Fraction Fever 2(分數狂熱 2):** 將 Tal Leming 的 Fraction Fever 2 程式碼插入字型中。在[此教學](https://glyphsapp.com/learn/fractions)中了解更多。 -* **New OT Class with Selected Glyphs(以選取的字符建立新 OT 類別):** 用於以選取的字符建立新 OT 類別的圖形使用者介面。 -* **New Tab with OT Class(包含 OT 類別的新分頁):** 用於在新分頁中開啟 OT 類別(列於「*檔案 > 字型資訊 > 特性 > 類別*」)中所有字符的圖形使用者介面。 -* **Update Features without Reordering(更新特性但不重新排序):** 檢視字型中現有的特性並重新整理每一個特性。不會新增或重新排序特性。 -* * **Stylistic Sets > Synchronize ssXX glyphs(樣式集 > 同步 ssXX 字符):** 建立缺少的 ssXX 字符,以使您擁有同步的 ssXX 字符群組。例如:若您有 *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> 此腳本會建立 *b.ss02* -* * **Stylistic Sets > Create ssXX from layer(樣式集 > 從圖層建立 ssXX):** 取用目前的圖層並將其複製到新 .ssXX 字符的主要圖層。 -* * **Stylistic Sets > Create pseudorandom calt feature(樣式集 > 建立虛擬隨機 calt 特性):** 根據字型中現有的 ssXX 字符數量建立虛擬隨機 calt(上下文替換)特性。也在輪替演算法中包含預設類別。 -* * **Stylistic Sets > Report ssXX Names(樣式集 > 報告 ssXX 名稱):** 報告所有開啟字型中的所有 ssXX 特性名稱。 -* * **Stylistic Sets > Set ssXX Names(樣式集 > 設定 ssXX 名稱):** 使用「Alternate」或其他選擇的文字,加上第一個被替換字符的名稱(例如「Alternate a」)預填 ssXX 特性的名稱。可選擇保留現有名稱。 - -## Font Info(字型資訊) - -*Vertical Metrics(垂直度量)對於在「字型資訊 > 字型」和「字型資訊 > 主板」中尋找和同步垂直度量參數很有用。Clean Version String(清理版本字串)也非常實用。Font Info Batch Setter(字型資訊批次設定器)對於在多個字型之間同步字型資訊設定是不可或缺的。使用 Set WWS/Preferred Names(設定 WWS/偏好名稱)腳本時要小心:應用程式通常會自動處理命名,所以很少需要使用這些腳本。* - -* **Batch-Import Masters(批次匯入主板):** 使用匯入主板參數一次匯入多個主板。 -* **Clean Version String(清理版本字串):** 新增乾淨的 versionString 參數,並在版本字串中停用 ttfAutohint 資訊。匯出的字型將只包含「Version X.XXX」格式的版本字串。 -* **Find and Replace in Font Info(字型資訊搜尋與取代):** 在「字型資訊 > 字型」和「字型資訊 > 實體」中搜尋和取代名稱。 -* **Find and Replace In Instance Parameters(實體參數搜尋與取代):** 在目前字型或專案檔案被選取實體的自訂參數中進行搜尋和取代。 -* **Font Info Batch Setter(字型資訊批次設定器):** 批次套用「字型資訊 > 字型」內的設定到開啟的字型中:設計師、設計師網址、製造商、製造商網址、版權、版本號碼、日期和時間。適用於在多個字型之間同步字型資訊設定。 -* **Font Info Overview(字型資訊總覽):** 列出所有開啟字型的部分字型資訊值。 -* **OTVAR Maker(OTVAR 產生器):** 在「字型資訊 > 匯出」中建立可變字型設定。 -* **Prepare Font Info(準備字型資訊):** 透過設定特定自訂參數,為現代字型製作和 git 工作流程準備開啟的字型。 -* **PS Name Maker(PS 名稱產生器):** 為所有實體建立 postscriptFontName 項目(名稱 ID 6),並提供縮短名稱的選項。 -* **Remove Custom Parameters(移除自訂參數):** 從「字型資訊 > 字型、主板、實體」中移除某一類型的所有參數。當您有許多主板或實體時很有用。 -* **Set Preferred Names for Width Variants(設定寬度變體的偏好名稱)(名稱 ID 16 和 17):** 為所有實體設定偏好名稱自訂參數(名稱 ID 16 和 17),使寬度變體在 Adobe 應用程式中出現在獨立的選單中。 -* **Set Style Linking(設定樣式連結):** 嘗試設定粗體/義大利體位元。 -* **Set Subscript and Superscript Parameters(設定下標和上標參數):** 測量您的上標和下標數字,並推導出下標/上標的 X/Y 偏移/大小參數。 -* **Set WWS Names(設定 WWS 名稱)(名稱 ID 21 和 22):** 在必要時為所有實體設定 WWS 自訂參數(名稱 ID 21 和 22):將除 RIBBI 以外的所有資訊放入 WWSFamilyName,並只在 WWSSubfamilyName 中保留 RIBBI。 -* **Style Renamer(樣式重命名器):** 批次在樣式名稱中添加名稱片段,或從中批次移除。適用於將所有樣式從義大利體命名切換到羅馬體命名,反之亦然。 -* **Vertical Metrics Manager(垂直度量管理器):** 計算並插入 OS/2 usWin 和 sTypo、hhea 以及 fsSelection 位元 7 的值(用於優先使用 sTypo 度量而非 usWin 度量)。 - -## Glyph Names, Notes and Unicode(字符名稱、註記與 Unicode) - -*大多數文字系統都能讓字符名稱和 Unicode 的管理變得較為容易。在將檔案交給第三方之前,Garbage Collection(垃圾清理)對清除回報腳本或其他註記的雜亂資料很有幫助。* - -* **Add PUA Unicode Values to Selected Glyphs(替選取的字符加入私用區 Unicode 值):** 逐一處理選取的字符,並從使用者指定的值開始,依序套用自訂 Unicode 值。 -* **Casefolding Report(大小寫配對回報):** 檢查大寫與小寫是否相符。開啟新的編輯分頁,顯示所有沒有一致大小寫配對的字符。在巨集視窗中寫入詳細回報。 -* **Color Composites in Shade of Base Glyph(以基礎字符色調標示組合字符):** 以基礎字符較淺色調標示組合字符。例如,如果您的 A 標示為紅色,那麼 ÄÁÀĂ... 就會呈現較淺的紅色。 -* **Convert to Uppercase(轉換為大寫):** 將小寫名稱轉換為大寫名稱,例如:`a` → `A`、`ccaron` → `Ccaron`、`aeacute` → `AEacute` 等。 -* **Convert to Lowercase(轉換為小寫):** 將選取字符的名稱轉換為小寫。 -* **Double Encode micro, Ohm and increment(micro、Ohm 和 increment 雙重編碼):** 替 micro、Ohm 和 increment 加入 mu、Omega 和 Delta 的 Unicode。 -* **Encoding Converter(編碼轉換器):** 根據可匯入/匯出的重新命名方案文字,將舊式專家級 8 位元編碼轉換為 Glyphs 的標準名稱。預設為 AXt 轉換方案。 -* **Garbage Collection(垃圾清理):** 移除字符中的標記,如控制點名稱、字符名稱或註記,以及參考線。 -* **Glyph Order Manager(字符順序管理器):** 用於管理字符順序參數的使用者介面,也可跨多個檔案。 -* **Production Namer(產品用命名器):** 覆寫預設的產品用名稱。預設為在傳統 PDF 工作流程中會造成問題的常見項目:mu、onesuperior、twosuperior、threesuperior。 -* **Rename Glyphs(重新命名字符):** 採用 `oldglyphname=newglyphname` 的配對清單,據此重新命名字型中的字符,類似「重新命名字符」自訂參數。 -* **Reorder Unicodes of Selected Glyphs(重新排序選取字符的 Unicode):** 重新排序 Unicode,使預設 Unicode 排在最前。 -* **Reset Unicode Codepoints Based on GlyphData(根據字符資料重設 Unicode 碼位):** 對於選取的字符,其功能類似「字符 > 更新字符資訊」,但不會更改名稱,而是重設 Unicode。將處理內建的 GlyphData 和位於 ~/Library/Application Support/Glyphs 3/Info/ 的 GlyphData-XXX.xml。 -* **Switch Mirrored Characters(切換鏡像字元):** 在目前的編輯面板中,切換雙向文字的鏡射字元,例如 () → )(。在分頁中切換書寫方向後,用於切換括號和引號很有用。 - -## Guides(參考線) - -*這些腳本主要用於清理在處理第三方字型時看到的大量參考線。* - -* **Guides through All Selected Nodes (貫穿所有選取控制點的參考線):** 在目前字符中建立貫穿所有選取控制點的參考線。會嘗試避免重複的參考線。 -* **Remove Global Guides in Current Master (移除目前主板中的全域參考線):** 刪除目前主板中所有全域(紅色)參考線。 -* **Remove Local Guides in Selected Glyphs (移除選取字符中的區域參考線):** 刪除選取字符中所有區域(藍色)參考線。 -* **Select All Global Guides (選取所有全域參考線):** 在編輯面板中選取所有全域(紅色)參考線。當您有許多參考線需要批次變形時特別有用。 -* **Select All Local Guides (選取所有區域參考線):** 選取所有區域(藍色)參考線(在所有選取的字符中)。 - -## Hinting(字型調適) - -*至關重要:為 PostScript 調適設定 blueScale 值和字型家族對齊區域。如果您要進行大幅度修改,Transfer(傳輸)和 Keep Only(僅保留)腳本可以為您節省大量工作。New Tab(新增分頁)系列腳本可協助找出缺少對齊區域的字符。另外也可以考慮使用「Paths > Find Near Vertical Misses(路徑 > 尋找接近垂直未對齊處)」來達到此目的。* - -* **Add Alignment Zones for Selected Glyphs(為選取的字符新增對齊區域):** 在所有主板中為選取的字符建立適當的對齊區域。 -* **Add Hints for Selected Nodes(為選取的控制點新增調適):** 為選取的控制點新增調適。會自動判斷應該使用水平或垂直調適。如果在對齊區域內只選取一個控制點,會新增幽靈調適。適合在系統偏好設定中設定快捷鍵。 -* **Add TTF Autohint Control Instructions for Current Glyph(為目前字符新增 TTF 自動調適控制指令):** 為目前實體的控制指令新增指定上/下數值的邊線。 -* **Auto Stems(自動字幹):** 透過測量字型中特定圖形來為所有主板推導出一個水平和一個垂直字幹值。 -* **BlueFuzzer(藍色模糊工具):** 將所有對齊區域擴展指定的數值。類似於過去 blueFuzz 值的功能,因此得名。 -* **Keep Only First Master Hints(僅保留第一主板調適):** 在選取的字符中,刪除所有圖層中的調適,只保留排序為第一主板的調適。會保留括號圖層。例如,如果您的第一主板是「Regular」,腳本會刪除「Bold」、「Bold [120]」中的調適,但保留「Regular」和「Regular [100]」中的調適。 -* **New Tab with Glyphs in Alignment Zones(以位於對齊區域中的字符開啟新分頁):** 開啟新分頁並列出所有延伸至對齊區域的字符。 -* **New Tab with Layers with TTDeltas(以具有 TTDeltas 的圖層開啟新分頁):** 開啟包含所有已定義 TTDeltas 圖層的新分頁。 -* **New Tabs with Glyphs Not Reaching Into Zones(以未延伸至對齊區域的字符開啟新分頁):** 開啟包含所有未延伸至任何上方或下方對齊區域字符的新分頁。僅計算目前主板中包含路徑的字符。忽略空白字符和組合字符。 -* **Remove PS Hints(移除 PS 調適):** 刪除目前字型、選取的主板和/或選取字符中的所有字幹和/或幽靈調適。 -* **Remove TT Hints(移除 TT 調適):** 刪除目前字型、選取的主板和/或選取字符中使用者指定的 TT 指令集。 -* **Remove Zero Deltas in Selected Glyphs(移除選取字符中的零位移值):** 檢查每個選取字符的所有圖層,並刪除所有位移值為零的 TT 差值調適。詳細報告會顯示在巨集視窗中。 -* **Set blueFuzz to zero for master instances(將主板實體的 blueFuzz 設為零):** 為與主板相同的實體新增值為 0 的 blueFuzz 自訂參數。 -* **Set blueScale(設定 blueScale):** 在「字型資訊 > 字型」中設定可能的最大 blueScale 值(決定出框微調整抑制的最大尺寸)。在巨集視窗中輸出其他選項。 -* **Set Family Alignment Zones(設定字型家族對齊區域):** 選擇一個實體,並在「字型資訊 > 字型 > 自訂參數」中將其區域設為字型家族對齊區域。 -* **Set TT Stem Hints to Auto(將 TT 字幹調適設為自動):** 將選取字符中的所有 TT 字幹調適設為「自動」。 -* **Set TT Stem Hints to No Stem(將 TT 字幹調適設為無字幹):** 將選取字符中的所有 TT 字幹調適設為「無字幹」。在複雜路徑中,這可以改善 Windows 上的渲染效果。 -* **Set TTF Autohint Options(設定 TTF 自動調適選項):** 設定現有「TTF 自動調適選項」自訂參數的選項。 -* **Transfer Hints to First Master(將調適傳輸至第一主板):** 將 PS 調適從目前圖層複製到第一主板圖層,前提是路徑必須相容。錯誤會回報至巨集視窗。 -* **TT Autoinstruct(TT 自動指令):** 自動將 Glyphs TT 指令新增至選取主板(應為第一主板)中選取的字符。注意:這不是 Werner Lemberg 的 ttfAutohint,而是 TT 指令工具(I)透過相同名稱的右鍵選單項目所新增的手動 TT 調適。適用於一次為多個字符新增調適。 - -## Images(圖片) - -*主要用於解決處理大量(背景)圖片時可能遇到的困擾。* - -* **Add Same Image to Selected Glyphs(將相同圖片加入已選取的字符):** 要求您選擇一個圖片,然後將其作為背景圖片插入至所有目前選取的字符中。 -* **Adjust Image Alpha(調整圖片透明度):** 用於設定已選取字符中所有圖片透明度的滑桿。 -* **Delete All Images in Font(刪除字型中的所有圖片):** 刪除整個字型中所有置入的圖片。 -* **Delete Images(刪除圖片):** 刪除已選取字符之可見圖層中所有置入的圖片。 -* **Reset Image Transformation(重設圖片變形):** 將已選取字符之可見圖層中的所有圖片變形(X/Y 位移、縮放和扭曲)重設回預設值。 -* **Set New Path for Images(設定圖片的新路徑):** 重設已選取字符中置入圖片的路徑。當您移動了圖片位置時很實用。 -* **Toggle Image Lock(切換圖片鎖定):** 鎖定或解除鎖定所有已選取字符中的全部圖片。 -* **Transform Images(變形圖片):** 用於批次變形已選取字符之可見圖層中的圖片(X/Y 位移和 X/Y 縮放)的圖形使用者介面。 - -## Interpolation(內插) - -*至關重要:Insert Instances(插入實體,用於決定實體及其樣式連結)、Kink Finder(折點尋找器)和 Find Shapeshifting Glyphs(形變字符尋找器)。我經常使用 Show Next/Previous Instance(顯示下一個/上一個實體)搭配 ctrl-上/下方向鍵的快捷鍵。* - -* **Add Grade(新增等級):** 根據您的 Weight(字重)和 Width(字寬)變化軸,新增 Grade(等級)軸和/或 Grade 主板。 -* **Add Missing Brace Layers(新增遺漏的大括號圖層):** 完成 OTVAR 匯出所需的矩形設定。 -* **Axis Location Setter(變化軸位置設定器):** 批次設定具有特定名稱片段的所有實體的軸位置。例如,設定所有 Condensed(壓縮)實體的變化軸位置。 -* **Axis Mapper(變化軸映射器):** 提取、重設並插入軸映射參數的 'avar' 變化軸映射。 -* **Batch-Add Smart Axes(批次新增智慧型變化軸):** 為選取的字符新增智慧型變化軸和額外的智慧型圖層。 -* **Brace and Bracket Manager(大括號和方括號管理器):** 在 Glyphs 3 及更新版本中尋找和替換大括號或方括號圖層座標。 -* **Bracify(大括號化):** 將字型主板轉換為特定字符的大括號圖層。又稱為 Sparsify(稀疏化)。 -* **Composite Variabler(組合變數器):** 在使用組件的複合字符中重新複製組件的大括號和方括號圖層。使方括號圖層在組合字符中生效。 -* **Copy Layer to Layer(圖層間複製):** 將路徑(也可以選擇性地包含組件、錨點和度量)從一個主板複製到另一個主板。 -* **Dekink Masters(主板去折點):** 在所有相容圖層中去除平滑節點三元組的折點(當它們不是水平或垂直時很有用)。在一個或多個平滑節點三元組中選擇一個節點,執行此腳本可將其他所有主板中對應的控制點移動到相同的相對位置。這樣可以在所有主板中達到相同的節點比例,避免當三元組角度改變時出現內插折點。這裡有一個[說明影片](http://tinyurl.com/dekink-py)。三元組問題在[這個教學中有詳細說明](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)。 -* **Enhance Compatibility(增強相容性):** 取用每個選取字符的目前圖層,並將控制點類型、控制點連接、重新對齊控制桿傳播到相同字符的技術相容圖層中。用於修復顯示為相容但仍無法匯出之字符的相容性。 -* **Fill up Empty Masters(填充空白主板):** 將路徑從一個主板複製到另一個主板,但僅在目標主板為空時進行。 -* **Find and Replace in Layer Names(圖層名稱尋找和替換):** 替換選取字符中所有圖層名稱(主板圖層除外)中的文字。當您在多個字符中使用方括號技巧時很有用。 -* **Find Shapeshifting Glyphs(尋找形變字符):** 尋找在內插時改變路徑數量的字符。開啟新分頁並在巨集視窗中回報。 -* **Insert Brace Layers for Component Rotation(插入組件旋轉大括號圖層):** 插入多個具有連續縮放和旋轉組件的大括號圖層。對於具有旋轉元素的 OTVar 內插很有用。 -* **Insert Brace Layers for Movement along Background Path(插入沿背景路徑移動的大括號圖層):** 插入多個包含第一個圖層副本的大括號圖層,根據背景中的第一個路徑進行位移。對於具有移動元素的 OTVar 內插很有用。 -* **Insert Instances(插入實體):** 計算和插入字重實體的圖形使用者介面。在[此教學](https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances)中有相關描述。 -* **Insert Layers(插入圖層):** 在選取的字符中批次插入大括號或方括號圖層。 -* **Instance Cooker(實體產生器):** 使用成份設定一次產生多個實體。 -* **Kink Finder(折點尋找器):** 在外框或內插空間中尋找折點,並在巨集視窗中回報,同時開啟新分頁顯示受影響的字符。關於折點的詳細說明請參考[此教學](https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)。 -* **New Tab with Dangerous Glyphs for Interpolation(開啟具內插風險字符分頁):** 開啟包含所有至少有兩個相容元素的字符分頁。也就是說,會顯示某個元素(路徑或組件)可能與錯誤元素進行內插的字符,例如等號。詳細說明請參考[此教學](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible)中的「Find shapeshifters」章節。 -* **New Tab with Special Layers(特殊圖層分頁):** 快速新增包含所有具有大括號和方括號圖層的字符編輯分頁。 -* **New Tab with Uneven Handle Distributions(控制桿分布不均分頁):** 尋找控制桿分布變化過大的字符(例如從平衡分布變為和諧分布)。 -* **OTVar Player(OpenType 可變動畫播放器):** 以迴圈方式沿著字重軸線製作目前字符的動畫。 -* **Remove All Non-Master Layers(移除非主板圖層):** 刪除所有非主板圖層、非大括號圖層、非方括號圖層。適用於清除備份圖層。 -* **Report Instance Interpolations(實體內插報告):** 在巨集視窗中輸出每個實體的主板係數。說明特定實體涉及哪些主板的內插,以及其影響程度。 -* **Reset Axis Mappings(重設變化軸映射):** 為字型中目前所有的樣式值插入(或重設)預設的變化軸映射參數。忽略主板定義的設計空間範圍以外的樣式值。 -* **Set Weight Axis Locations in Instances(設定實體字重軸位置):** 為所有實體設定字重軸位置參數,並與各自的 usWeightClass 同步。如果尚未設定寬度軸座標,將設定為符合 usWidthClass 規格的預設值。否則保持現有設定。 -* **Short Segment Finder(短線段尋找器):** 檢查所有內插並尋找短於使用者指定閾值的線段。 -* **Travel Tracker(路徑追蹤器):** 尋找控制點位移過度的內插,可用於找出錯誤連接的星號和斜線。結果可能不完整,且通常會有許多誤判,但有時能找出 Shapeshifter 腳本遺漏的情況。 -* **Variation Interpolator(變體內插器):** 建立使用者定義數量的字符變體,並加上使用者定義的後綴,包含圖層與其各自背景之間的內插。會覆寫同名字符。類似 Pablo Impallari 的 SimplePolator。適用於例如天城文 Matra 的長度變體,請參考 José Nicolás Silva Schwarzenberg 的[示範影片](https://www.youtube.com/watch?v=QDbaUlHifBc)。 -* * **Other > Lines by Master(依主板分行):** 將您的編輯文字複製到各個主板中,會在編輯面板中為每個主板新增一行。請注意,會忽略第一個換行符號之後的所有內容。適用於在系統偏好設定中新增鍵盤快捷鍵。 -* * **Other > New Tab with Masters of Selected Glyphs(以所選字符的主板開新分頁):** 開啟新的編輯分頁,顯示所選字符的所有主板。 -* * **Other > Show Masters of Next/Previous Glyph(顯示下一個/上一個字符的主板):** 讓您可以逐一瀏覽字符,但會顯示所有主板。結合了顯示下一個/上一個字符功能(fn+左/右方向鍵)與「*編輯 > 顯示所有主板*」功能。適合在系統偏好設定中設定鍵盤快捷鍵。 -* * **Other > Show Next/Previous Instance(顯示下一個/上一個實體):** 在目前編輯分頁的預覽區塊中跳至下一個/上一個實體。適合在系統偏好設定中設定鍵盤快捷鍵。 - -## Kerning(調距) - -*至關重要:Auto Bumper(自動調距)、KernCrasher(調距碰撞檢查)、GapFinder(間距檢查)、Sample String Maker(範例字串產生器)。如果您的調距過多,可以考慮使用 Exception Cleaner(例外清理器)。* - -* **Adjust Kerning in Master(主板調距調整):** 提供圖形介面,可對所有調距對新增數值、進行倍數運算、進行數值四捨五入,或限制在特定數值範圍內。 -* **Auto Bumper(自動調距):** 指定最小間距、左右字符後,Auto Bumper 會在目前的主板中新增必要的最小調距。 -* **BBox Bumper(邊界框調距):** 類似 Auto Bumper,但是使用一組字符的邊界框,並將調距以 GPOS 特性程式碼插入到「字型資訊 > 特性 > kern」。當您想要使用與調距群組不同的類別進行群組調距時很有用。需要 Vanilla。 -* **Compare Kerning Between Masters(主板間調距比較):** 回報兩個主板之間調距結構的差異。 -* **Compress Glyph(字符壓縮):** 僅壓縮指定字符的調距。 -* **Convert RTL Kerning from Glyphs 2 to 3(從 Glyphs 2 轉換 RTL 調距到 Glyphs 3):** 將 Glyphs 2 的 RTL 調距轉換為 Glyphs 3 格式並切換調距類別。(按住 Option 和 Shift 可從 Glyphs 3 轉回 Glyphs 2。)詳細報告在巨集視窗中。 -* **Copy Kerning Exceptions to Double Accents(複製調距例外到雙重重音):** 將包含 abreve、`acircumflex`、`ecircumflex`、`ocircumflex`、`udieresis` 的調距例外複製到越南語和拼音的雙重重音符號。 -* **Exception Cleaner(例外清理器):** 比較每個例外與相同字偶可用的群組調距。如果差異低於閾值,則移除該調距例外。 -* **Find and Replace in Kerning Groups(調距群組尋找與取代):** 提供圖形介面,用於在左右調距群組中搜尋和取代文字,例如將「O」取代為「O.alt」。留空搜尋欄位可用於附加。 -* **GapFinder(間隙檢查):** 在目前的字型主板中開啟新分頁,顯示具有大間隙的調距組合。 -* **Import Kerning from .fea File(從 .fea 檔案匯入調距):** 選擇包含 AFDKO 程式碼 kern 特性的 .fea 檔案,此指令碼將嘗試將調距值匯入最前方的字型主板(請參見「*視窗 > 調距*」)。 -* **KernCrash Current Glyph(目前字符調距碰撞檢查):** 在目前的字型主板中開啟新分頁,顯示與目前字符發生碰撞的調距組合。 -* **KernCrasher(調距碰撞檢查):** 在目前的字型主板中開啟新分頁,顯示發生碰撞的調距組合。 -* **Kern Flattener(調距平面化):** 複製您的字型,將調距平面化為僅限字符對字符的調距,刪除所有群組調距並僅保留相關字偶(內建清單),為每個實體新增*匯出 kern 表格*參數(和其他一些參數)。警告:這只適用於使其與過時和損壞的軟體(如 PowerPoint)相容。不過,無法保證一定有效。 -* **Kern String Mixer(調距字串混合器):** 將兩組字符(可使用代碼)相互交叉,以獲得所有可能的字符組合。 -* **New Tab with All Group Members(使用群組成員開新分頁):** 選取兩個字符,例如「Ta」,執行腳本後會開啟新分頁,顯示 T 的右側調距群組與 a 的左側調距群組的所有組合。 -* **New Tab with Glyphs of Same Kerning Groups(相同調距群組字符開新分頁):** 開啟新分頁,顯示目前字符的左右調距群組的所有成員。 -* **New Tab with Kerning Missing in Masters(主板缺漏調距開新分頁):** 為每個主板開啟新分頁,顯示在此主板中缺少但存在於其他主板中的調距。 -* **New Tab with Overkerned Pairs(過度調距字偶開新分頁):** 詢問閾值百分比,並開啟新分頁顯示所有超過寬度閾值的負值調距字偶。例如:閾值為 40%,逗號寬度為 160,腳本會回報任何大於 64(160 的 40%)的負值調距字偶。假設 r-逗號的調距值為 -60,P-逗號的調距值為 -70,在這種情況下,只會回報後者而非前者。 -* **New Tab with Right Groups(右側群組開新分頁):** 建立新分頁,每個右側群組顯示一個字符。適用於檢查右側調距群組的一致性。 -* **New Tab with all Selected Glyph Combinations(已選字符組合開新分頁):** 將您選取的字符建立所有可能的組合並開啟新分頁。同時輸出一個字串到巨集視窗,以備分頁開啟失敗時使用。 -* **New Tab with Uneven Symmetric Kernings(不對稱調距開新分頁):** 尋找對稱字母的調距字偶,如 ATA、AVA、TOT、WIW 等,並檢查 AT 是否與 TA 相同等。 -* **New Tabs with Punctuation Kern Strings(標點符號調距字串開新分頁):** 輸出多個包含標點符號調距字串的分頁。 -* **Partial Compress(部分壓縮):** 僅針對特定字符壓縮調距。 -* **Remove Kerning Between Categories(移除類別間調距):** 移除字符、類別、子類別、字符集之間的調距。 -* **Remove Kerning Exceptions(移除調距例外):** 移除目前主板的所有調距,但保留群組對群組的調距。請謹慎使用。 -* **Remove Kerning Pairs for Selected Glyphs(移除已選字符的調距字偶):** 僅刪除目前主板中已選字符的所有調距字偶。 -* **Remove Orphaned Group Kerning(移除孤立群組調距):** 刪除所有參照到字型中不存在群組的群組調距。 -* **Remove Small Kerning Pairs(移除微小調距字偶):** 移除目前字型主板中所有小於指定值或等於零的調距字偶。請謹慎使用。 -* **Report Kerning Mistakes(回報調距錯誤):** 嘗試找出不必要的調距和群組。在巨集視窗中回報供審查。 -* **Sample String Maker(範例字串產生器):** 為使用者定義的類別建立調距字串,並加入到範例字串中。僅限群組調距,忽略無群組的字符。 -* **Sample Strings with Master Kerning(主板調距範例字串):** 為目前的調距建立調距字串,並加入到範例字串中。 -* **Set Kerning Groups(設定調距群組):** 為所有選取的字符設定左右調距群組。對於組合字符,會使用基礎組件的群組,否則會根據內建字典做出合理推測。 -* **Steal Kerning from InDesign(從 InDesign 取得調距):** 從 InDesign 中設定的文字取得調距。適用於擷取 InDesign 的[光學調距](https://web.archive.org/web/20160414170915/http://blog.extensis.com/adobe/about-adobe%E2%80%99s-optical-kerning.php)值。 -* **Steal Kerning Groups from Font(從字型取得調距群組):** 從第二個字型中取得所有選取字符的左右調距群組。 -* **Transfer RTL kerning(轉移 RTL 調距):** 將從右至左書寫的調距從一個主板轉移到另一個主板。 -* **Zero Kerner(零值調距器):** 為在某個主板中缺少但存在於其他主板的字偶加入值為零的群組調距。有助於在 OTVar 匯出時保留可內插的調距。 - -## Paths(路徑) - -*我使用 Rotate Around Anchor(繞錨點旋轉)來製作星號。對於外框檢查來說很重要的工具有:Path Problem Finder(路徑問題檢測器)、Find Near Vertical Misses(尋找接近垂直的未對齊點)和 Green Blue Manager(綠藍控制點管理器)。Rewire Fire(重新連接工具)在可變字型製作中變得很重要,因為它可以減少形狀邊緣的重複外框線段(這些重複線段會在反鋸齒時產生暗點)。* - -* **Align Selected Nodes with Background(將選取的控制點對齊背景):** 將選取的控制點對齊最近的背景控制點,除非該背景控制點已被先前移動的控制點佔用。類似使用 Cmd-Shift-A 來對齊單一控制點與背景,但這個功能可以一次處理多個控制點。 -* **Batch-Set Path Attributes(批次設定路徑屬性):** 設定選取字符、主板、字型等中所有路徑的屬性。 -* **Copy Glyphs from Other Font into Backup Layers(將其他字型的字符複製到備份圖層):** 在目標字型中為選取的字符建立備份圖層,並用來源字型中對應的字符填充這些圖層。當您想要將一個字型的字符作為另一個字型的括號圖層時很有用。 -* **Distribute Nodes(分配控制點):** 水平或垂直分配控制點(取決於選取範圍邊界框的寬高比)。 -* **Enlarge Single-Unit Segments(放大單位線段):** 將短於一個單位的線段長度加倍。 -* **Fill Up with Rectangles(以矩形填充):** 檢查您選取的字符,如果發現空白的字符,就插入一個佔位矩形。適用於快速建立測試用的暫代字型。 -* **Find Close Encounters of Orthogonal Line Segments(尋找正交線段的接近處):** 檢查所有垂直和水平線段,找出接近但未完全對齊的線段對。 -* **Find Near Vertical Misses(尋找接近垂直的未對齊控制點):** 找出接近但未完全位於垂直度量線上的控制點。 -* **Green Blue Manager(綠藍控制點管理器):** 定義一個角度,高於此角度的控制點將設為藍色,低於此角度的控制點將設為綠色。 -* **Grid Switcher(格線切換器):** 透過點選浮動按鈕,在兩個使用者可定義的格線間距值之間切換。 -* **Harmonise Curve to Line(曲線與直線和諧化):** 將(選取的)曲線段與其後續直線段的控制點重新排列,使兩個線段之間平滑的轉換(和諧化)。 -* **Interpolate two paths(內插兩個路徑):** 選取兩個路徑並執行此腳本,它會將這兩個路徑替換為它們在 50% 處的內插結果。 -* **New Tab with Small Paths(開啟含小路徑的新分頁):** 開啟一個新分頁,顯示面積小於使用者可定義閾值(以平方單位計)的路徑。 -* **Path Problem Finder(路徑問題偵測器):** 尋找外框中所有可能的問題,並在新分頁中顯示受影響的圖層。 -* **Position Clicker(位置吻合檢查器):** 尋找所有位置形狀組合中不能良好吻合的部分。「吻合」指的是重疊時共用兩個節點座標。 -* **Realign BCPs(重新對齊貝茲控制點):** 重新對齊所有選取字符中的所有貝茲控制點。當控制桿因推移或其他變形後失去同步,或是在內插後特別有用。按住 Option 鍵可套用到選取字符的所有圖層。 -* **Remove all Open Paths(移除所有開放路徑):** 刪除所有選取字符可見圖層中的所有*開放*路徑。 -* **Remove Short Segments(移除短線段):** 刪除短於一個單位的線段。 -* **Rewire Fire(重複座標檢查):** 尋找、選取並標記重複的座標。位於相同位置的兩個控制點通常可以使用重新連接控制點功能進行重新連接。 -* **Rotate Around Anchor(錨點旋轉):** 提供以「rotate」錨點為中心旋轉字符或選取的控制點和組件的圖形介面。允許逐步和重複操作。 -* **Set Transform Origin(設定變形基準點):** 提供以數值方式設定旋轉工具變形基準點的簡易圖形介面。對縮放工具也會有效果。 -* **Snap selected points to nearest metric in all masters(將選取節點對齊所有主板中最近的度量):** 選取節點並執行此腳本,可將節點對齊每個相容圖層中最近的度量,前提是與度量的距離不超過 2 個單位。在巨集視窗中顯示報告。 -* **Straight Stem Cruncher(直線字幹檢查器):** 在所有圖層中尋找節點之間的距離,並與指定的字幹寬度進行比較(具有容許值)。列出繪製中具有偏差字幹的字符。 -* **Tunnify(控制桿平均化):** 尋找至少有一個控制桿被選取的所有路徑段。然後,將這些線段的控制桿平均化,也就是讓它們具有相同的曲線符合百分比。可以修正 Adobe Illustrator 的零控制桿(一個控制桿縮回最近控制點的線段)。這個腳本的想法來自 Eduardo Tunni(由 Pablo Impallari 轉述),因此以此命名。不過我從未看過 Eduardo 的演算法,所以我的實作可能與他的有些許不同,特別是在處理零控制桿的部分。 - -## Pixelfonts(像素字型) - -*這些腳本適用於像素字型的工作流程,讓您可以在較粗的網格中放置像素組件。如果您在進行像素設計,可以查看「視窗 > 外掛程式管理員」中提供的像素相關外掛程式。* - -* **Align Anchors to Grid(將錨點對齊格線):** 將變音符號的錨點對齊至字型格線。 -* **Delete Components out of Bounds(刪除超出邊界的組件):** 如果組件被放置在一般座標範圍之外(當您使用 cmd-方向鍵移動具有較大格線間距的組件時可能發生),這個腳本會將其刪除。 -* **Delete Duplicate Components(刪除重複組件):** 尋找重複的組件(相同名稱和位置)並只保留一個。這種情況在製作像素字型時經常發生。 -* **Flashify Pixels(Flash 像素最佳化):** 建立小型橋接以防止路徑自我相交,使字符內空白部分保持白色。這個問題在 Flash 字型渲染器中特別明顯,因此腳本以此命名。 -* **Reset Rotated and Mirrored Components(重設旋轉和鏡射組件):** 尋找經過縮放、鏡像和旋轉的組件,將它們恢復為預設的縮放比例和方向,但保持其位置不變。這對修正鏡射像素很有用。 - -## Post Production(後製處理) - -*如果您使用最新版本的 Glyphs,DSIG 和 GDEF 腳本已不再需要。對於義大利體的匯出,我建議修正 PS 名稱和 STAT 項目。Upgrade STAT 腳本是選用性的,它會新增目前軟體幾乎不支援的範圍,但可能對未來相容性有幫助。* - -* **Add Empty DSIG (OTVAR)「新增空白 DSIG」:** 在匯出可變字型 (TTF) 後執行此腳本,它會新增一個空白的 DSIG 表格。這是通過 MyFonts 的 OTVAR TTF 上架程序所必需的。需要 FontTools 模組。在最新的 Glyphs 3.2+ 版本中,此腳本應該已不再需要。 -* **Fix GDEF class definition of Legacy Marks (OTVAR)「修正傳統標記的 GDEF 類別定義」:** 修正最近匯出的 OTVAR 中,具有間距、非組合標記的 GDEF 定義,必要時會切換至類別 1(「基底字符」,單一字元,具間距字符)。需要 FontTools 模組。在最新的 Glyphs 3.2+ 版本中,此腳本應該已不再需要。 -* **Fix Italic PS Names (OTVAR)「修正義大利體 PS 名稱」:** 修正目前字型最近匯出中,用於 fvar postScriptName 項目的名稱表格中重複的義大利體命名,例如將 `MyfontItalic-SemiboldItalic` 改為 `MyfontItalic-Semibold`。在匯出義大利體可變字型後立即執行此腳本。需要 FontTools 模組。 -* **Fix Italic STAT Entries (OTVAR)「修正義大利體 STAT 項目」:** 針對每個軸向,將一般 STAT 項目重新命名為「Regular」(必要時也會修改名稱表格),並使其可省略(Flags=2)。通常只在義大利體 OTVAR 匯出時需要。需要 FontTools 模組。 -* **Read and Write Axis Values (OTVAR)「讀取與寫入軸向數值」:** 在 OTVAR 匯出後執行一次,它會讀取目前 Glyphs 檔案最近匯出的 STAT.AxisValueArray,並在您的可變字型設定中新增「Axis Values」參數。當執行時若存在這些自訂參數,它會用來重寫目前 Glyphs 檔案最近匯出的 OTVAR 中的 STAT.AxisValueArray。自訂參數的數值語法:`axisTag; value=name, value=elidableName*, minValue:nominalValue:maxValue=name, value>linkedValue=name` -* **Upgrade STAT Axis Values from Discrete to Ranges (OTVAR)「將 STAT 軸向數值從離散升級為範圍」:** 將具有多個軸向數值的軸的格式 1(離散)STAT 項目轉換為格式 2(範圍)。請在匯出可變字型後立即執行此腳本。需要 FontTools 模組。 - -## Smallcaps(小型大寫字母) - -*當我的字型中有小型大寫字母時,我總是會執行 Check Smallcap Consistency(檢查小型大寫字母一致性)。不過對其報告要抱持保留態度:它列出了許多誤判項目,且並非每個警告都同樣重要。* - -* **Check Smallcap Consistency(檢查小型大寫字母一致性):** 對您的小型大寫字母集進行一系列測試,並在巨集視窗中提供報告,特別是針對調距群組和字符集的部分。 -* **Copy Kerning from Caps to Smallcaps(從大寫複製調距至小型大寫字母):** 尋找大寫字母的調距字偶,並在字型中有對應的 .sc 字符時,複製其調距設定。請謹慎使用:這會覆寫現有的小型大寫字母調距字偶。 - -## Spacing(間距) - -*至關重要:Fix Math Operator Spacing(修正數學運算子間距)、Bracket Metrics Manager(括號度量管理器),如果有箭頭符號,則需要 Fix Arrow Positioning(修正箭頭位置)。建立數字時,New Tab(開新分頁)系列腳本很實用。* - -* **Add Metrics Keys for Symmetric Glyphs(為對稱字符加入度量鍵):** 當所有主板中的右側空白 (RSB) 與左側空白 (LSB) 相同時,會加入 RSB =|。 -* **Adjust Sidebearings(調整邊界):** 可進行邊界的乘除、加減、限制或四捨五入,並可區分正負值的邊界。 -* **Bracket Metrics Manager(括號度量管理器):** 管理括號圖層的邊界和寬度,例如美元符號和美分符號。 -* **Center Glyphs(置中字符):** 將所有選取的字符置中於其寬度內,使 LSB=RSB。 -* **Change Metrics by Percentage(依百分比更改度量):** 依百分比更改選取字符的左右邊界。可使用還原按鈕復原。 -* **Find and Replace in Metrics Keys(在度量鍵中尋找和取代):** 用於在左右度量鍵中搜尋與取代文字的圖形介面,例如將「=X+15」取代為「=X」。搜尋欄位留空則為附加模式。 -* **Fix Arrow Positioning(修正箭頭位置):** 根據指定的預設箭頭修正箭頭的位置和度量鍵。加入度量鍵並垂直移動箭頭。僅作用於現有字符,不會建立新字符。 -* **Fix Math Operator Spacing(修正數學運算子間距):** 同步寬度並置中 +−×÷=≠±≈¬ 等符號,可選擇是否包含大於/小於符號和抑揚符/波浪號。 -* **Freeze Placeholders(凍結預留位置):** 在目前的編輯分頁中,將所有插入的預留位置變更為目前字符,從而「凍結」預留位置。 -* **Metrics Key Manager(度量鍵管理器):** 批次套用度量鍵到目前的字型。 -* **Monospace Checker(等寬檢查器):** 檢查最前方字型中的所有字符寬度是否確實等寬。在巨集視窗中回報並開啟受影響圖層的分頁。 -* **New Tab with all Figure Combinations(開啟含所有數字組合的新分頁):** 開啟含所有可能數字組合的新分頁。同時輸出字串到巨集視窗,以備開啟分頁失敗時使用。 -* **New Tab with Fraction Figure Combinations(開啟含分數數字組合的新分頁):** 開啟含分數數字組合的編輯分頁,用於調整間距和調距。 -* **Remove Layer-Specific Metrics Keys(移除圖層專用度量鍵):** 刪除所有選取字符的所有圖層專用(==)左右度量鍵。同時簡化字符度量鍵(例如,將「=H」變更為「H」)。 -* **Remove Metrics Keys(移除度量鍵):** 刪除所有選取字符的左右度量鍵。影響所有主板和圖層。 -* **Reset Alternate Glyph Widths(重設替代字符寬度):** 將帶後綴的字符寬度重設為其無後綴對應字符的寬度。例如,將 `Adieresis.ss01` 重設為 `Adieresis` 的寬度。 -* **Spacing Checker(間距檢查器):** 尋找具有異常間距的字符並在新分頁中開啟。 -* **Steal Metrics(擷取度量):** 從第二個字型擷取所有選取字符的邊界或寬度值。可選擇是否也轉移如「=x+20」等度量鍵。 -* **Tabular Checker(等寬檢查器):** 檢查等寬字符是否等寬,並回報例外情況。 -* **Tabular Figure Maker(等寬數字製作器):** 使用現有的 .tf 數字並設定等寬間距,或從現有的預設數字建立它們。 - -## Test(測試) - -*至關重要:Test HTML(測試 HTML)腳本。如果你在 Adobe 或 Apple 應用程式中發現文字選取區域異常偏高或偏低,請執行 Report Highest and Lowest Glyphs(回報最高與最低字符)來找出造成問題的字符。Language Report(語言報告)僅供充實你的樣本使用,不會提供權威性的資訊。* - -* **Copy InDesign Test Text(複製 InDesign 測試文字):** 將測試文字複製到剪貼簿中,供 InDesign 使用。 -* **Copy Word Test Text(複製 Word 測試文字):** 將測試文字複製到剪貼簿中,供 MS Word 使用。 -* **Language Report(語言報告):** 試圖根據你的拉丁字符提供初步的語言支援範圍評估。以 Underware 的 Latin-Plus 清單為基礎並加以修改。 -* **Pangram Helper(全字母句協助工具):** 協助你撰寫全字母句,可複製到剪貼簿或放入新分頁中。 -* **Report Highest and Lowest Glyphs(回報最高與最低字符):** 回報所有主板中具有最高和最低邊界框的字符。 -* **Variable Font Test HTML(可變字型測試 HTML):** 在目前可變字型匯出資料夾中為目前的字型建立測試用 HTML。 -* **Webfont Test HTML(網頁字型測試 HTML):** 在目前的網頁字型匯出資料夾內,或是目前 Glyphs 專案的匯出路徑中,建立一個測試用 HTML。 - -# 授權條款 - -Copyright 2011 The mekkablue Glyphs-Scripts (Glyphs 腳本) Project Authors (專案作者群)。 - -部分程式碼範例由 Georg Seifert (@schriftgestalt) 和 Tal Leming (@typesupply) 提供。 - -部分演算法構想由 Christoph Schindler (@hop) 和 Maciej Ratajski (@maciejratajski) 提供。 - -部分程式碼修正來自 Rafał Buchner (@RafalBuchner)。 - -本專案採用 Apache License, Version 2.0 (Apache 2.0 版授權條款) 授權。 -除非遵守本授權條款,否則不得使用此處提供的軟體。 -您可以在以下網址取得授權條款內容: +If the terminal scares you, feel free to use one of the many readily available git clients, e.g. the free [Source Tree](https://www.sourcetreeapp.com) or [GitHub Desktop](https://desktop.github.com). + +After you installed the mekkablue scripts, you can **update** this script repository (and all the others you have in your *Scripts* folder) by running *Scripts > mekkablue > App > Update git Repositories in Scripts Folder.* + +# TROUBLESHOOTING + +Please report problems and request features [as a GitHub issue](/issues). Make sure you have the latest version of the scripts and your app is up to date. And please, always **indicate both your Glyphs and macOS version.** Thank you. + +# REQUIREMENTS + +The scripts require a recent version of Glyphs 2.x running on macOS 10.9 or later. I can only test them and make them work in the latest version of the software. If a script is not working for you, please first update to the latest version of the script. + +# ABOUT THE SCRIPTS + +All the scripts show a **tooltip** when you hover the mouse pointer over their menu entry. In scripts with a GUI, most UI elements (checkboxes, text entry fields, etc.) have tooltips as well. This way you get the explanation you need right where it counts. + +## Anchors + +*Anchor Mover is for batch-processing anchor positions. Can be useful after adjusting the x-height. No-brainer: I always use the Reposition script on my combining marks, so stacking combining marks stays in the italic angle.* + +* **Add missing smart anchors:** Adds all anchors for properties of selected smart glyphs on all their layers. Skips *Width* and *Height* anchors. +* **Add ZWRO origin Anchors:** Insert *origin anchors for ZWRO in all combining marks of specified scripts. +* **Anchor Mover:** GUI for batch-processing anchor positions in multiple glyphs. +* **Batch Insert Anchors:** GUI for batch-inserting anchors of the same name at the same approximate position in multiple glyphs. +* **Find and Replace in Anchor Names:** GUI for replacing text in the names of anchors in selected glyphs. Processes all layers. +* **Fix Arabic Anchor Order in Ligatures:** Fixes the order of *top_X* and *bottom_X* anchors to RTL. In files converted from a different format, it sometimes happens that *top_1* is left of *top_2*, but it should be the other way around, otherwise your mark2liga will mess up. This script goes through your selected glyphs, and if they are Arabic ligatures, reorders all anchors to RTL order, at the same time not touching their coordinates. +* **Insert All Anchors in All Layers:** On each layer of a selected glyph, adds all missing anchors (but present in other layers of that glyph). Puts anchors at an averaged position. +* **Insert #exit and #entry anchors at sidebearings:** Inserts #entry at LSB and #exit at RSB (LTR) or the other way around (RTL) in all masters and special layers of the selected glyphs. Will not overwrite existing anchors unless you hold down OPT+SHIFT. +* **Insert #exit and #entry on baseline at selected points:** Use the outermost selected points, take their x coordinates, and add #exit and #entry anchors on the baseline with the same x coordinates. Useful for building ligatures from components. +* **Insert exit and entry Anchors to Selected Positional Glyphs:** Adds entry and exit anchors for cursive attachment in selected glyphs. By default, it places the exit at (0, 0) and the entry at a node at RSB if such a node exists. Please adjust for your own needs. +* **Mark Mover:** Move marks to their respective heights, e.g. …comb.case to cap height, …comb to x-height, etc. Also allows you to set left and right metrics keys. +* **Move ogonek Anchors to Baseline Intersection:** Moves all ogonek and _ogonek anchors to the rightmost intersection of the outline with the baseline. +* **Move topright Anchors for Vertical Carons:** Moves all topright and _topright anchors to the rightmost intersection of the outline with the x-height. Useful for building Czech/Slovak letters with vertical caron. +* **Move Vietnamese Marks to top_viet Anchor in Circumflex:** Moves *acute*, *grave* and *hookabovecomb* to the *top_viet* anchor in every layer of selected glyphs. Useful for Vietnamese double accents. Assumes that you have *top_viet* anchors in all layers of *circumflexcomb*. +* **New Tab with Glyphs Containing Anchor:** Opens a new tab with all glyphs containing a specific anchor. +* **New Tab with top and bottom Anchors Not on Metric Lines:** Report the y positions of all *top* and *bottom* anchors into the Macro Panel, and opens new tabs with all glyphs that have a stray anchor on any of the master, bracket or brace layers of any glyph in the font. Ignores the user selection, and analyses all glyphs, exporting and non-exporting. Useful to see if a top anchor is not exactly where it should be. +* **Prefix all exit/entry anchors with a hashtag:** Looks for all exit and entry anchors anywhere in the font, and disables `curs` feature generation by prefixing their anchor names with `#`. +* **Propagate Components and Mark Anchoring:** Takes the current master’s component and mark anchoring setup and replicates it in all other (compatible) masters. Useful for complex Arabic ligature marks. +* **Realign Stacking Anchors:** In stacking combining accents, moves top and bottom anchors exactly above or below the respective _top and _bottom anchors, respecting the italic angle. This way, stacking multiple nonspacing accents will always stay in line. +* **Remove Anchors in Suffixed Glyphs:** Removes all anchors from glyphs with one of the user-specified suffix. Useful for removing left-over anchors in sups/subs/sinf/ordn variants of glyphs after copying, scaling and editing. +* **Remove Anchors:** Deletes anchors with a specified name in selected glyphs (or the whole font). +* **Remove Non-Standard Anchors from Selected Glyphs:** Removes all anchors from a glyph that should not be there by default, e.g., `ogonek` from `J`. Potentially dangerous, because it may delete false positives. So, first use the report script below. +* **Replicate Anchors:** Batch-add anchors to selected glyphs. Specify a source glyph to replicate the anchors from. +* **Replicate Anchors in Suffixed Glyphs:** Goes through selected dot-suffixed glyphs and duplicates anchors from their respective base glyphs. E.g. will recreate anchors of *X* in *X.ss01*, *X.swsh* and *X.alt*. +* **Report Non-Standard Anchors to Macro window:** Goes through all glyphs in the font and reports in the Macro window if it finds non-default anchors. Lines are copy-pasteable in Edit view. +* **Shine Through Anchors:** In all layers of selected glyphs, inserts ‘traversing’ anchors from components. +* **Snap Anchors to Nearest Metric:** Moves specified anchors to the nearest metric (e.g. x-height, ascender, etc.), within a specified threshold. +* **Steal Anchors:** Batch-copy the anchors from one font master to another. +* **Top Mark Mover:** Moves selected marks vertically, so their _top anchor is on the respective vertical metric. + +## App + +*If you are coding, add a keyboard shortcut for Method Reporter, you will need this a lot. Print Window can come in handy if you want a resolution-independent PDF screenshot of your window content. Best for post-processing in a vector illustration app.* + +* **Close All Tabs of All Open Fonts:** Closes all Edit tabs of all fonts currently open in the app. +* **Copy Download URL for Current App Version:** Puts the download URL of the current Glyphs app version into your clipboard for easy pasting. +* **Decrease** and **Increase Line Height:** Increases the Edit View line height by a quarter, or decreases it by a fifth. Useful for setting shortcuts if you need to switch between line heights a lot. +* **Method Reporter:** GUI for filtering through the method names of Python and PyObjC Classes available from within Glyphs. You can use multiple space-separated search terms (for an AND concatenation) and asterisk as jokers (at the beginning, in the middle and at the end). Double click to put the method name in your clipboard and open help in the Macro window. Useful for coders. +* **Parameter Reporter:** Like Method Reporter, but for custom parameters. Double click to copy a parameter in the clipboard, ready for pasting in Font Info. +* **Print Window:** Print the frontmost window. Useful for saving a vector PDF of your window content, including the renderings of reporter plug-ins (extensions for the *View* menu). +* **Resetter:** Resets Quicklook preview, keyboard shortcuts, and clearing out app prefs, saved app states, autosaves. +* **Set Export Paths to Adobe Fonts Folder:** Sets the OpenType font and Variable Font export paths to the Adobe Fonts Folder. +* **Set Hidden App Preferences:** GUI for reading and setting ‘hidden’ app preferences, which are not listed in the GUI. +* **Set Label Colors:** Override the default app label colors. +* **Set Tool Shortcuts:** Set keyboard shortcuts for the tools in the toolbar. +* **Toggle Horizontal-Vertical:** Toggle frontmost tab between LTR (horizontal) and vertical writing direction. Useful for setting a keyboard shortcuts. +* **Toggle Macro Window Separator:** Toggles the separator position in the Macro Window between 80% and 20%. +* **Toggle RTL-LTR:** Toggle frontmost tab between LTR and RTL writing direction. Useful for setting a keyboard shortcut in System Preferences. +* **Toggle Script Windows:** Shows or hides all script windows. Good for assigning a shortcut in the app settings. +* **Update git Repositories in Scripts Folder:** Executes a 'git pull' command on all subfolders in the Glyphs Scripts folder. Useful if you have a lot of git repos in your Scripts folder. +* **Update Text Preview:** Force updates *Window > Text Preview.* Can be useful if you are making changes outside the font window (like in an OT feature in Font Info) and the preview will not refresh by itself. +* **Navigate > Activate next/previous glyph:** Will activate the next/previous glyph in Edit view for editing. + +## Build Glyphs + +*Most important: Quote Manager, and the Build scripts for Small Figures, Symbols, Ldot. The other scripts are mainly intended to give you a quick head start for covering certain Unicode ranges if requested by the client.* + +* **Add Adobe Symbol Glyphs:** Will add Adobe’s interpolations for a number of symbol glyphs if they are missing from the font: *Omega, Delta, Ohm, increment, asciicircum, greaterequal, infinity, partialdiff, lessequal, notequal, product, approxequal, plus, lozenge, integral, summation, radical, daggerdbl, perthousand, logicalnot, plusminus, asciitilde, divide, minus, multiply, dagger, less, equal, greater, literSign, .notdef.* Requires makeotf (AFDKO) to be installed. +* **Build APL Greek:** Create APL Greek glyphs. +* **Build careof and cadauna:** Builds `cadauna` and `careof` from your `c`, `o`, `u` and `fraction` glyphs. +* **Build Circled Glyphs:** Builds circled numbers and letters (U+24B6...24EA and U+2460...2473) from `_part.circle` and your letters and figures. +* **Build Dotted Numbers:** Build dotted numbers from your default figures and the period. +* **Build ellipsis from period components:** Inserts exit and entry anchors in the period glyph and rebuilds ellipsis with auto-aligned components of period. Attention: decomposes all period components used in other glyphs (e.g., colon). +* **Build Extra Math Symbols:** Builds `lessoverequal`, `greateroverequal`, `bulletoperator`, `rightanglearc`, `righttriangle`, `sphericalangle`, `measuredangle`, `sunWithRays`, `positionIndicator`, `diameterSign`, `viewdataSquare`, `control`. +* **Build Ldot and ldot:** Builds `Ldot`, `ldot` and `ldot.sc` from existing `L` and `periodcentered.loclCAT` (`.case`/`.sc`). Assumes that you have already created and properly spaced `L`-`periodcentered.loclCAT`-`L`, etc. +* **Build Parenthesized Glyphs:** Creates parenthesized letters and numbers: `one.paren`, `two.paren`, `three.paren`, `four.paren`, `five.paren`, `six.paren`, `seven.paren`, `eight.paren`, `nine.paren`, `one_zero.paren`, `one_one.paren`, `one_two.paren`, `one_three.paren`, `one_four.paren`, `one_five.paren`, `one_six.paren`, `one_seven.paren`, `one_eight.paren`, `one_nine.paren`, `two_zero.paren`, `a.paren`, `b.paren`, `c.paren`, `d.paren`, `e.paren`, `f.paren`, `g.paren`, `h.paren`, `i.paren`, `j.paren`, `k.paren`, `l.paren`, `m.paren`, `n.paren`, `o.paren`, `p.paren`, `q.paren`, `r.paren`, `s.paren`, `t.paren`, `u.paren`, `v.paren`, `w.paren`, `x.paren`, `y.paren`, `z.paren`. +* **Build Q from O and _tail.Q:** Run this script *after* doing *Component from Selection* on the Q tail and naming it `_tail.Q`. +* **Build Rare Symbols:** Builds white and black, small and large, circles, triangles and squares. +* **Build rtlm Alternates:** Creates horizontally mirrored composites for selected glyphs and updates the rtlm OpenType feature. Auto-aligns the components, but also adds metrics keys that kick in in case you decompose. +* **Build Small Figures:** Takes a default set of figures (e.g., `.dnom`), and derives the others (`.numr`, `superior`/`.sups`, `inferior`/`.sinf`, `.subs`) as component copies. Respects the italic angle. +* **Build small letter SM, TEL:** Creates the glyphs: `servicemark`, `telephone`. +* **Build space glyphs:** Creates `mediumspace-math`, `emquad`, `emspace`, `enquad`, `enspace`, `figurespace`, `fourperemspace`, `hairspace`, `narrownbspace`, `punctuationspace`, `sixperemspace`, `nbspace`, `thinspace`, `threeperemspace`, `zerowidthspace`. +* **Build Symbols:** Creates symbol glyphs such as `.notdef` (based on the boldest available `question` mark), an `estimated` glyph, as well as `bar` and `brokenbar` (for which it respects standard stems and italic angle). +* **Center punt volat:** Shifts all `periodcentered.loclCAT` glyphs horizontally so it fits between two L’s. Hold down ⌘ Cmd and ⇧ Shift for processing ALL open fonts. +* **Quote Manager:** Build double quotes from single quotes, and insert `#exit` and `#entry` anchors in the single quotes for auto-alignment. You need to have the single quotes already. + +## Color Fonts + +*These scripts are for situations you will encounter in a Color Font workflow. The Merge script is mainly for creating a fallback glyph for CPAL/COLR fonts. This way the fallback has the full bbox, and no clipping will occur in Chrome.* + +* **Add All Missing Color Layers to Selected Glyphs:** Adds a duplicate of the fallback layer for each (CPAL/COLR) color defined in the Color Palettes parameter, for each selected glyph. Only adds colors that are still missing in the glyph. +* **Add sbix Images to Font:** Will get all PNG, GIF, JPG files in a folder and create iColor layers with them in the current font and master. File name convention: ‘glyphname pixelsize.suffix’, e.g., ‘Adieresis 128.png’. +* **Convert Layerfont to CPAL+COLR Font:** Turns a layered color font into a single-master font with a CPAL and COLR layers in each glyph. It will take the first master as default. +* **Convert Master Colors to CPAL Palette:** Will look for ‘Master Color’ parameters in the font masters and then create a ‘Color Palettes’ parameter in *Font Info > Font* with the same color. Will default to black (for missing Master Color parameters). Will add Dark Mode master colors as second palette. +* **Cycle CPAL Colors for Selected Glyphs:** Will increase the color index for each CPAL Color Palette layer, or set to 0 if it exceeds the number of available colors. +* **Delete Non-Color Layers in Selected Glyphs:** Deletes all sublayers in all glyphs that are not of type "Color X" (CPAL/COLR layers). +* **Merge All Other Masters in Current Master:** In selected glyphs, copies all paths from other masters onto the current master layer. +* **Merge CPAL Layers into Master Layer:** Takes all CPAL/COLR layers and puts copies of their shapes into the master layer. +* **Merge Suffixed Glyphs into Color Layers:** Merges x.shadow, x.body and x.front into separate CPAL Color layers of x. +* **Randomly Distribute Shapes on Color Layers:** Take the shapes of the fallback master layer, and randomly copy them onto the available CPAL/COLR color layers. Careful: will overwrite contents of existing color layers unless you hold down Cmd+Shift. +* **Reverse CPAL Colors for Selected Glyphs:** Will reverse the color indexes for each CPAL Color Palette layer. E.g., for three colors, it will turn indexes 0,1,2 into 2,1,0. +* **sbix Spacer:** Batch-set sbix positions and glyph widths. + +## Compare Frontmost Fonts + +*These scripts are intended for syncing uprights with their italics. Open two fonts, and run the scripts. They do not change your fonts, but report in detail in the Macro window.* + +* **Compare Font Info > Font:** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. +* **Compare Font Info > Masters:** Detailed report of Font Info > Masters for the two frontmost fonts and outputs a report in the Macro window. +* **Compare Font Info > Instances:** Detailed report of Font Info > Instances for the two frontmost fonts and outputs a report in the Macro window. +* **Compare Font Info > Features:** Compares the OT features set of the two frontmost fonts and outputs a report in the Macro window. +* **Compare Anchors:** Compares anchor structure and anchor heights between the two frontmost fonts. +* **Compare Composites:** Reports diverging component structures of composite glyphs, e.g., `iacute` built with `acutecomb` in one font, and `acutecomb.narrow` in the other. +* **Compare Glyph Heights:** Lists all glyphs that differ from the second font in height beyond a given threshold. +* **Compare Glyph Info:** Compares open fonts and builds a lits of differing glyph info, including Unicode values and categorisation. +* **Compare Glyphsets:** Compares the glyph set of the two frontmost fonts and outputs a report in the Macro window. +* **Compare Kerning Groups:** Compares kerning groups between frontmost fonts, outputs a table of glyph names with unmatching groups. +* **Compare Metrics:** Compare widths of two frontmost fonts. +* **Compare Sidebearings:** Compare sidebearings of two frontmost fonts. +* **Report Missing Glyphs for all Open Fonts:** In Macro window, reports all glyphs that are missing in some of the currently open files, but present in other other fonts. + +## Components + +*Populate Backgrounds with Components is very useful when you build letters based on other, e.g., ae or oe can take an e in the background. The script puts the e in the background of each master, and the UI has an option to align selected points with the e in the background. If you use corner components for serifs in a multiple-master font, the Propagate script will save you a lot of time.* + +* **Alignment Manager:** Enables or disables automatic alignment for all components on visible layers in selected glyphs. Does the same as the command in the context menu, but you can do it in one step for many glyphs. +* **Auto-align Composites with Incremental Metrics Keys:** For the frontmost font, auto-aligns composites where only the first component’s alignment is disabled. Ignores .tf, .tosf and math operators. Will open a tab with affected glyph layers. +* **Cap and Corner Manager:** Batch-edit settings for cap, corner, brush or segment components throughout all glyphs in the frontmost font. +* **Component Mover:** Batch edit (smart) components across selected glyphs. Change positions, scales and smart properties. +* **Component Problem Finder:** Find possible issues with components and corner components: composable glyphs consisting of paths; locked, nested, orphaned, mirrored, shifted, rotated and scaled components; composite glyphs with an unusual component order or an unorthodox component structure. Also, disconnected and scaled corner components. +* **Composite Consistencer:** Goes through all glyphs of the frontmost font, and checks for composites in the current master. If dot-suffixed glyph variants are missing them, they are reported in the Macro Window. +* **Decompose Components in Background:** Decomposes background layers of selected glyphs. Works on the current master or all masters, or all masters of all fonts. +* **Decompose Corner and Cap Components:** Decomposes all corner and cap components in selected glyphs. Reports to Macro window. +* **Find and Replace Components:** Relinks components in selected glyphs to a new source glyph. +* **Find and Replace Cap and Corner Components:** Relinks `_cap.*` and `_corner.*` components in selected glyphs to a different corner/cap component. +* **Find and Replace Corner Components at Certain Angles:** Replace Corner Components at blunt or acute angles. +* **Move Paths to Component:** Moves paths to a separate glyph and insert them as auto-aligned, anchored components in the source glyph. Perfect for making path-component mixtures into pure composites. +* **Populate Backgrounds with Components:** Adds the specified component into all backgrounds of a glyph, and allows you to align selected foreground nodes to the component. Useful for keeping decomposed shapes in the foreground in sync with similar glyphs. +* **Propagate Corner Components to Other Masters:** Tries to recreate the corner components of the current master layer in all other masters of the same glyph. Make sure your outlines are compatible. +* **Remove Components:** Removes the specified component from all (selected) glyphs. +* **Remove Detached Corners:** Removes detached corner component from all (selected) glyphs. +* **Sync Components Across Masters:** Takes the current layer’s components, and resets all other masters to the same component structure. Ignores paths and anchors. Hold down Option key to *delete* all paths and anchors. + +## Features + +*In script typefaces, you may often need the Build Positional calt script. If you find yourself turning OT features on and off a lot, take a look at the Activate Default Features and Floating Features scripts. And check out the Set Palette from Window > Plugin Manager.* + +* **Activate Default Features:** In the current Edit tab, activates all OT features that are recommended to be on by default (according to the spec). +* **Baseline Wiggle:** Add OpenType feature with pseudorandom GPOS baseline shift for all glyphs in a class. +* **Build ccmp for Hebrew Presentation Forms:** Builds the ccmp feature for precomposed `uniFBxx` glyphs, e.g. if you have pedagesh, you get 'sub pe dagesh by pedagesh' in your ccmp. +* **Build Italic Shift Feature:** Creates and inserts GPOS feature code for shifting glyphs, e.g., parentheses and punctuation for the case feature. +* **Build Positional Feature:** Looks for `.init`, `.medi`, `.fina`, and `.isol` glyphs, and injects positional substitution code into your `calt` feature (or any other feature you specify). If run again, will *update* class and feature code. See this tutorial for more info: https://glyphsapp.com/learn/features-part-4-positional-alternates +* **Build rand Feature:** Build rand (random) feature from .cvXX or another (numbered) suffix. +* **Feature Code Tweaks:** Adds tweaks to OT feature code. Reports in Macro window. Careful: if you do not understand an option, do not use it. +* **Find in Features:** Finds expressions (glyph, lookup or class names) in OT Features, Prefixes and Classes. +* **Floating Features:** Floating palettes for activating and deactivating OT features. Same functionality as the pop-up menu. +* **Fraction Fever 2:** Insert Tal Leming’s Fraction Fever 2 code into the font. Read more in this tutorial: https://glyphsapp.com/learn/fractions +* **New OT Class with Selected Glyphs:** GUI for creating a new OT class with the selected glyphs. +* **New Tab with OT Class:** GUI for opening all glyphs in an OT class (listed in *File > Font Info > Features > Classes*) in a new tab. +* **Update Features without Reordering:** Goes through the existing features in the font and refreshes each one of them. Does neither add nor reorder features. +* * **Stylistic Sets > Synchronize ssXX glyphs:** Creates missing ssXX glyphs so that you have synchronous groups of ssXX glyphs. E.g. you have *a.ss01 b.ss01 c.ss01 a.ss02 c.ss02* --> the script creates *b.ss02* +* * **Stylistic Sets > Create ssXX from layer:** Takes the current layer and copies it to the primary layer of a new .ssXX glyph. +* * **Stylistic Sets > Create pseudorandom calt feature:** Creates pseudorandom calt (contextual alternatives) feature based on number of existing ssXX glyphs in the font. Also includes the default class in the rotation algorithm. +* * **Stylistic Sets > Report ssXX Names:** Reports all names of ssXX features in all opened fonts. +* * **Stylistic Sets > Set ssXX Names:** Prefills names for ssXX features with ‘Alternate’ or another chosen text, plus the name of the first substituted glyph, e.g., ‘Alternate a’. Option to preserve existing namings. + +## Font Info + +*Vertical Metrics is useful for finding and syncing the vertical metric parameters in Font Info > Font and Font Info > Masters. Clean Version String is very useful too. Font Info Batch Setter is a must for syncing Font Info settings across many fonts. Careful about Set WWS/Preferred Names scripts: The app usually takes care of naming automatically, so their use cases are very rare.* + +* **Batch-Import Masters:** Import many masters at once with the Import Master parameter. +* **Clean Version String:** Adds a clean versionString parameter, and disables ttfAutohint info in the version string. The exported font will have a version string consisting only of ‘Version X.XXX’. +* **Find and Replace in Font Info:** Finds and replaces names in *Font Info > Font* and *Font Info > Instances.* +* **Find and Replace In Instance Parameters:** Finds and Replace in Custom Parameters of selected instances of the current font or project file. +* **Font Info Batch Setter:** Batch-apply settings in *Font Info > Font* to open fonts: designer, designer URL, manufacturer, manufacturer URL, copyright, version number, date and time. Useful for syncing Font Info settings across many fonts. +* **Font Info Overview:** Lists some Font Info values for all opened fonts. +* **OTVAR Maker:** Creates a variable font setting in *Font Info > Exports.* +* **Prepare Font Info:** Prepare open fonts for a modern font production and git workflow by setting certain custom parameters. +* **PS Name Maker:** Creates postscriptFontName entries (Name ID 6) for all instances with options to shorten them. +* **Remove Custom Parameters:** Removes all parameters of one kind from *Font Info > Font, Masters, Instances.* Useful if you have many masters or instances. +* **Set Preferred Names (Name IDs 16 and 17) for Width Variants:** Sets Preferred Names custom parameters (Name IDs 16 and 17) for all instances, so that width variants will appear in separate menus in Adobe apps. +* **Set Style Linking:** Attempts to set the Bold/Italic bits. +* **Set Subscript and Superscript Parameters:** Measures your superior and inferior figures and derives subscript/superscript X/Y offset/size parameters. +* **Set WWS Names (Name IDs 21 and 22):** Sets WWS custom parameters (Name IDs 21 and 22) for all instances where necessary: Puts all info except RIBBI into the WWSFamilyName, and only keeps RIBBI for the WWSSubfamilyName. +* **Style Renamer:** Batch-add a name particle to your style names, or batch-remove it from them. Useful for switching all your styles from italic to roman naming and vice versa. +* **Vertical Metrics Manager:** Calculate and insert values for OS/2 usWin and sTypo, hhea and fsSelection bit 7 (for preferring sTypo Metrics over usWin metrics). + +## Glyph Names, Notes and Unicode + +*Most scripts make managing glyph names and Unicodes a little easier. Garbage Collection is useful for cleaning up the mess of the reporter scripts, or other annotations before you hand the files over to a third party.* + +* **Add PUA Unicode Values to Selected Glyphs:** Iterates through selected glyphs and incrementally applies custom Unicode values, starting at a user-specified value. +* **Casefolding Report:** Checks if uppercase and lowercase are matching. Opens a new Edit tab containing all glyphs without consistent casefolding. Writes a detailed report in Macro Window. +* **Color Composites in Shade of Base Glyph:** Color composites in a lighter shade of the base glyph. E.g., if your A is has a red label color, then ÄÁÀĂ... will have a lighter shade of red. +* **Convert to Uppercase:** Turns lowercase names into uppercase names, e.g., `a` → `A`, `ccaron` → `Ccaron`, `aeacute` → `AEacute`, etc. +* **Convert to Lowercase:** Turns the names of selected glyphs lowercase. +* **Double Encode micro, Ohm and increment:** Add Unicodes of mu, Omega and Delta to micro, Ohm and increment. +* **Encoding Converter:** Converts old expert 8-bit encodings into Glyphs nice names, based on a importable/exportable text with renaming scheme. Default is an AXt converting scheme. +* **Garbage Collection:** Removes markers in glyphs, such as node names, glyph names or annotations, as well as guides. +* **Glyph Order Manager:** UI for managing glyphOrder parameters, also across multiple files. +* **Production Namer:** Override default production names. Default are the usual subjects which create problems in legacy PDF workflows: mu, onesuperior, twosuperior, threesuperior. +* **Rename Glyphs:** Takes a list of `oldglyphname=newglyphname` pairs and renames glyphs in the font accordingly, much like the *Rename Glyphs* custom parameter. +* **Reorder Unicodes of Selected Glyphs:** Reorders Unicodes so that default Unicode comes first. +* **Reset Unicode Codepoints Based on GlyphData:** For selected glyphs, it works like Glyph > Update Glyph Info, but will not change the name, rather reset the Unicode. Will process the built-in GlyphData and GlyphData-XXX.xml in ~/Library/Application Support/Glyphs 3/Info/. +* **Switch Mirrored Characters:** In the current Edit View, switch mirrored BiDi characters, e.g. () → )(. Useful for switching parentheses and quotes after switching writing direction in a tab. + +## Guides + +*These scripts are mostly intended for cleaning up the plethora of guides I see when working on third-party fonts.* + +* **Guides through All Selected Nodes:** Lays guides through all selected nodes in current glyph. Tries to avoid duplicate guides. +* **Remove Global Guides in Current Master:** Deletes all global (red) guides in the current master. +* **Remove Local Guides in Selected Glyphs:** Deletes all local (blue) guides in selected glyphs. +* **Select All Global Guides:** Selects all global (red) guides in Edit view. Useful if you have many and need to batch-transform them. +* **Select All Local Guides:** Selects all local (blue) guides (in all selected glyphs). + +## Hinting + +*Most important: Set blueScale, Set Family Alignment Zones for PostScript hinting. If you are making big changes, The Transfer and Keep Only scripts can save you a lot of work. The New Tab scripts help find glyphs missing zones. Also consider Paths > Find Near Vertical Misses for that purpose.* + +* **Add Alignment Zones for Selected Glyphs:** Creates fitting zones for the selected glyphs in all masters. +* **Add Hints for Selected Nodes:** Adds hints for the selected nodes. Tries to guess whether it should be H or V. If exactly one node inside a zone is selected, it will add a Ghost Hint. Useful for setting a shortcut in System Prefs. +* **Add TTF Autohint Control Instructions for Current Glyph:** Adds a touch line for a given up/down amount to the Control Instructions of the current instance. +* **Auto Stems:** Derive one H and one V stem value for all your masters by measuring certain shapes in your font. +* **BlueFuzzer:** Extends all alignment zones by the specified value. Similar to what the blueFuzz value used to do, hence the name. +* **Keep Only First Master Hints:** In selected glyphs, deletes all hints in all layers except for whatever is ordered as first master. Respects Bracket Layers. E.g., if your first master is 'Regular', then the script will delete hints in 'Bold', 'Bold [120]', but keep them in 'Regular' and 'Regular [100]'. +* **New Tab with Glyphs in Alignment Zones:** Opens a new tab and lists all glyphs that reach into alignment zones. +* **New Tab with Layers with TTDeltas:** Opens a new tab with all layers that have defined TTDeltas. +* **New Tabs with Glyphs Not Reaching Into Zones:** Opens a new tab with all glyphs that do NOT reach into any top or bottom alignment zone. Only counts glyphs that contain paths in the current master. Ignores empty glyphs and compounds. +* **Remove PS Hints:** Deletes all stem and/or ghost hints throughout the current font, the selected master and/or the selected glyphs. +* **Remove TT Hints:** Deletes a user-specified set of TT instructions throughout the current font, the selected master and/or the selected glyphs. +* **Remove Zero Deltas in Selected Glyphs:** Goes through all layers of each selected glyph, and deletes all TT Delta Hints with an offset of zero. Detailed Report in Macro window. +* **Set blueFuzz to zero for master instances:** Adds blueFuzz custom parameter with value 0 for instances that are the same as a master. +* **Set blueScale:** Sets maximum blueScale value (determining max size for overshoot suppression) possible in Font Info > Font. Outputs other options in Macro window. +* **Set Family Alignment Zones:** Pick an instance and set its zones as Family Alignment Zones in *Font Info > Font > Custom Parameters.* +* **Set TT Stem Hints to Auto:** Sets all TT stem hints to ‘auto’ in selected glyphs. +* **Set TT Stem Hints to No Stem:** Sets all TT stem hints to ‘no stem’ in selected glyphs. In complex paths, it can improve rendering on Windows. +* **Set TTF Autohint Options:** Set options for existing 'TTF Autohint Options' Custom Parameters. +* **Transfer Hints to First Master:** Copies PS hints from the current layer to the first master layer, provided the paths are compatible. Reports errors to the Macro window. +* **TT Autoinstruct:** Automatically add Glyphs TT instructions to the selected glyphs in the selected master. (Should be the first master.) Attention: this is NOT Werner Lemberg's ttfAutohint, but the manual TT hints that the TT Instruction tool (I) would add through the context menu item of the same name. Useful for adding hints in many glyphs at once. + +## Images + +*Mainly intended for curing the headaches you may undergo when handling a lot of (background) images.* + +* **Add Same Image to Selected Glyphs:** Asks you for an image, and then inserts it into all currently selected glyphs as background image. +* **Adjust Image Alpha:** Slider for setting the alpha of all images in selected glyphs. +* **Delete All Images in Font:** Deletes all placed images throughout the entire font. +* **Delete Images:** Deletes all images placed in the visible layers of selected glyphs. +* **Reset Image Transformation:** Resets all image transformations (x/y offset, scale, and distortion) back to default in the visible layers of selected glyphs. +* **Set New Path for Images:** Resets the path for placed images in selected glyphs. Useful if you have moved your images. +* **Toggle Image Lock:** Lock or unlock all images in all selected glyphs. +* **Transform Images:** GUI for batch-transforming images (x/y offset and x/y scale) in the visible layers of selected glyphs. + +## Interpolation + +*Most important: Insert Instances (for determining your instances and their style linking), Kink Finder and Find Shapeshifting Glyphs. I use Show Next/Previous Instance with the keyboard shortcut ctrl-up/down a lot.* + +* **Add Grade:** Add Grade axis and/or Grade master, based on your Weight and Width axes. +* **Add Missing Brace Layers:** Complete the rectangular setup necessary for OTVAR exports. +* **Axis Location Setter:** Batch-set axis locations for all instances with a certain name particle. E.g., set an axis location for all Condensed instances. +* **Axis Mapper:** Extracts, resets and inserts an ‘avar’ axis mapping for the Axis Mappings parameter. +* **Batch-Add Smart Axes:** Will add smart axes and additional smart layers to selected glyphs. +* **Brace and Bracket Manager:** Find and replace brace or bracket layer coordinates in Glyphs 3 and later. +* **Bracify:** Turn font masters into brace layers of certain glyphs. A.k.a. Sparsify. +* **Composite Variabler:** Reduplicates Brace and Bracket layers of components in the compounds in which they are used. Makes bracket layers work in composites. +* **Copy Layer to Layer:** Copies paths (and optionally, also components, anchors and metrics) from one Master to another. +* **Dekink Masters:** Dekinks your smooth point triplets in all compatible layers (useful if they are not horizontal or vertical). Select a point in one or more smooth point triplets, and run this script to move the corresponding nodes in all other masters to the same relative position. Thus you achieve the same point ratio in all masters and avoid interpolation kinks, when the angle of the triplet changes. There is a [video describing it.](http://tinyurl.com/dekink-py) The triplet problem is [described in this tutorial](http://www.glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible). +* **Enhance Compatibility:** Takes the current layer of each selected glyph, and propagates node types, node connections, realigns handles in technically compatible layers of the same glyph. Useful for fixing compatibility of glyphs that are shown to be compatible but still do not export. +* **Fill up Empty Masters:** Copies paths from one Master to another. But only if target master is empty. +* **Find and Replace in Layer Names:** Replaces text in all layer names (except Master layers) of selected glyphs. Useful if you use the bracket trick in many glyphs. +* **Find Shapeshifting Glyphs:** Finds glyphs that change the number of paths while interpolating. Opens a new tab and reports to Macro window. +* **Insert Brace Layers for Component Rotation:** Inserts a number of Brace Layers with continuously scaled and rotated components. Useful for OTVar interpolations with rotating elements. +* **Insert Brace Layers for Movement along Background Path:** Inserts a number of Brace Layers with copies of the first layer, shifted according to the first path in the background. Useful for OTVar interpolations with moving elements. +* **Insert Instances:** GUI for calculating and inserting weight instances. It is described in this tutorial: https://www.glyphsapp.com/learn/multiple-masters-part-3-setting-up-instances +* **Insert Layers:** Batch-insert brace or bracket layers in selected glyphs. +* **Instance Cooker:** Insert many instances at once with a recipe. +* **Kink Finder:** Finds kinks in outlines or the interpolation space, reports them in the Macro window and opens a new tab with affected glyphs. Kinks are described in this tutorial: https://glyphsapp.com/learn/multiple-masters-part-2-keeping-your-outlines-compatible +* **New Tab with Dangerous Glyphs for Interpolation:** Opens a tab with all glyphs in the font that contain at least two compatible elements. I.e., glyphs where an element (a path or a component) could interpolate with the wrong element, like the equals sign. For a detailed description, see section *Be suspicious* in this tutorial: . +* **New Tab with Special Layers:** Quickly adds a new edit tab with all glyphs containing brace and bracket layers. +* **New Tab with Uneven Handle Distributions:** Finds glyphs where handle distributions change too much (e.g., from balanced to harmonised). +* **OTVar Player:** Animates the current glyph with a loop along the weight axis. +* **Remove All Non-Master Layers:** Deletes all layers which are neither master layers, nor brace layers, nor bracket layers. Useful for getting rid of backup layers. +* **Report Instance Interpolations:** Outputs master coefficients for each instance in Macro Window. Tells you which masters are involved in interpolating a specific instance, and to which extent. +* **Reset Axis Mappings:** Inserts (or resets) a default Axis Mappings parameter for all style values currently present in the font. Ignores style values outside the designspace bounds defined by the masters. +* **Set Weight Axis Locations in Instances:** Will set weight axis location parameters for all instances, and sync them with their respective usWeightClass. Will set the width axis coordinates to the spec defaults for usWidthClass, if they have not been set yet. Otherwise will keep them as is. +* **Short Segment Finder:** Goes through all interpolations and finds segments shorter than a user-specified threshold length. +* **Travel Tracker:** Finds interpolations in which points travel more than they should, i.e., can find wrongly hooked-up asterisks and slashes. The results are incomplete, and usually have many false positives, but it sometimes finds cases that the Shapeshifter script misses. +* **Variation Interpolator:** Creates a user-defined number of glyph variations with a user-defined suffix, containing interpolations between the layers and their respective backgrounds. Overwrites glyphs with same name. Similar to Pablo Impallari’s SimplePolator. Useful for e.g. length variants of Devanagari Matra, see José Nicolás Silva Schwarzenberg’s sample video: . +* * **Other > Lines by Master:** Reduplicates your edit text across masters, will add one line per master in Edit view. Careful, ignores everything after the first newline. Intended for adding a keyboard in System Preferences. +* * **Other > New Tab with Masters of Selected Glyphs:** Opens a new Edit tab containing all masters of selected glyphs. +* * **Other > Show Masters of Next/Previous Glyph:** Allows you to step through one glyph after another, but with all masters. Combines the show next/previous glyph function (fn+left/right) with the *Edit > Show All Masters* function. Handy for attaching a keyboard shortcut in System Preferences. +* * **Other > Show Next/Previous Instance:** Jumps to next/previous instance in the preview section of the current Edit tab. Handy for attaching a keyboard shortcut in System Preferences. + +## Kerning + +*Most important: Auto Bumper, KernCrasher, GapFinder, Sample String Maker. If you have too much kerning, consider Exception Cleaner.* + +* **Adjust Kerning in Master:** GUI to add a value to all kerning pairs, multiply them by a value, round them by a value, or limit them to a value. +* **Auto Bumper:** Specify a minimum distance, left and right glyphs, and Auto Bumper will add the minimum necessary kerning for the current master. +* **BBox Bumper:** Like Auto Bumper, but with the bounding box of a group of glyphs, and the kerning inserted as GPOS feature code in Font Info > Features > kern. Useful if you want to do group kerning with classes that are different from the kerning groups. Needs Vanilla. +* **Compare Kerning Between Masters:** Report differences in kerning structures between two masters. +* **Compress Glyph:** Compress kerning for specified glyph only. +* **Convert RTL Kerning from Glyphs 2 to 3:** Convert RTL kerning from Glyphs 2 to Glyphs 3 format and switches the kerning classes. (Hold down OPTION and SHIFT to convert from Glyphs 3 back to Glyphs 2.) Detailed report in Macro Window. +* **Copy Kerning Exceptions to Double Accents:** Copies Kerning exceptions with abreve, `acircumflex`, `ecircumflex`, `ocircumflex`, `udieresis` into Vietnamese and Pinyin double accents. +* **Exception Cleaner:** Compares every exception to the group kerning available for the same pair. If the difference is below a threshold, remove the kerning exception. +* **Find and Replace in Kerning Groups:** GUI for searching and replacing text in the L and R Kerning Groups, e.g. replace 'O' by 'O.alt'. Leave the search field blank for appending. +* **GapFinder:** Opens a new tab with kerning combos that have large gaps in the current fontmaster. +* **Import Kerning from .fea File:** Choose an .fea file containing a kern feature in AFDKO code, and this script will attempt to import the kerning values into the frontmost font master (see *Window > Kerning*). +* **KernCrash Current Glyph:** Opens a new tab containing kerning combos with the current glyph that collide in the current fontmaster. +* **KernCrasher:** Opens a new tab with Kerning Combos that crash in the current fontmaster. +* **Kern Flattener:** Duplicates your font, flattens kerning to glyph-to-glyph kerning only, deletes all group kerning and keeps only relevant pairs (it has a built-in list), adds a *Export kern Table* parameter (and some other parameters) to each instance. Warning: do this only for making your kerning compatible with outdated and broken software like PowerPoint. No guarantee it works, though. +* **Kern String Mixer:** Intersect two sets of glyphs (tokens are possible) with each other in order to get all possible glyph combinations. +* **New Tab with All Group Members:** Select two glyphs, e.g. ‘Ta’, run the script, and it will open a new tab with all combinations of the right kerning group of T with the left kerning group of a. +* **New Tab with Glyphs of Same Kerning Groups:** Opens a new tab containing all members of the left and right kerning groups of the current glyph. +* **New Tab with Kerning Missing in Masters:** Opens New Tabs for each master showing kerning missing in this master but present in other masters. +* **New Tab with Overkerned Pairs:** Asks a threshold percentage, and opens a new tab with all negative kern pairs going beyond the width threshold. Example: With a threshold of 40%, and a comma with width 160, the script will report any negative kern pair with comma larger than 64 (=40% of 160). Assume that r-comma is kerned -60, and P-comma is kerned -70. In this case, it would report the latter, but not the former. +* **New Tab with Right Groups:** Creates a new tab with one glyph of each right group. Useful for checking the consistency of right kerning groups. +* **New Tab with all Selected Glyph Combinations:** Takes your selected glyphs and opens a new tab with all possible combinations of the letters. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. +* **New Tab with Uneven Symmetric Kernings:** Finds kern pairs for symmetric letters like ATA AVA TOT WIW etc. and sees if AT is the same as TA, etc. +* **New Tabs with Punctuation Kern Strings:** Outputs several tabs with kern strings with punctuation. +* **Partial Compress:** Compress kerning, but for certain glyphs only. +* **Remove Kerning Between Categories:** Removes kerning between glyphs, categories, subcategories, scripts. +* **Remove Kerning Exceptions:** Removes all kerning for the current master, except for group-to-group kerning. Be careful. +* **Remove Kerning Pairs for Selected Glyphs:** Deletes all kerning pairs with the selected glyphs, for the current master only. +* **Remove Orphaned Group Kerning:** Deletes all group kernings referring to groups that are not in the font. +* **Remove Small Kerning Pairs:** Removes all kerning pairs in the current font master with a value smaller than specified, or a value equal to zero. Be careful. +* **Report Kerning Mistakes:** Tries to find unnecessary kernings and groupings. Reports in Macro window, for reviewing. +* **Sample String Maker:** Creates kern strings for user-defined categories and adds them to the Sample Strings. Group kerning only, glyphs without groups are ignored. +* **Sample Strings with Master Kerning:** Creates kern strings for the current kerning and adds them to the Sample Strings. +* **Set Kerning Groups:** Sets left and right kerning groups for all selected glyphs. In the case of compounds, will use the groups of the base components, otherwise makes an informed guess based on a built-in dictionary. +* **Steal Kerning from InDesign:** Steals the kerning from text set in InDesign. Useful for extracting InDesign’s [Optical Kerning](https://web.archive.org/web/20160414170915/http://blog.extensis.com/adobe/about-adobe’s-optical-kerning.php) values. +* **Steal Kerning Groups from Font:** Steals left/right kerning groups for all selected glyphs from a 2nd font. +* **Transfer RTL kerning:** Transfers RTL kerning from one master to another. +* **Zero Kerner:** Add group kernings with value zero for pairs that are missing in one master but present in others. Helps preserve interpolatable kerning in OTVar exports. + +## Paths + +*I use Rotate Around Anchor for my asterisks. Important for outline checking: Path Problem Finder, Find Near Vertical Misses and the Green Blue Manager. Rewire Fire has become important in OTVar production, because it helps reduce duplicate outline segments at shape edges (which create dark spots in anti-aliasing).* + +* **Align Selected Nodes with Background:** Align selected nodes with the nearest background node unless it is already taken by a previously moved node. Like Cmd-Shift-A for aligning a single node with the background, but for multiple nodes. +* **Batch-Set Path Attributes:** Set path attributes of all paths in selected glyphs, the master, the font, etc. +* **Copy Glyphs from Other Font into Backup Layers:** Creates backup layers for selected glyphs in target font, and fills them with the respective glyphs from source font. Useful if you want to add glyphs from one font as bracket layers in another. +* **Distribute Nodes:** Horizontally or vertically distributes nodes (depends on the width/height ratio of the selection bounding box). +* **Enlarge Single-Unit Segments:** Doubles the length of line segments shorter than one unit. +* **Fill Up with Rectangles:** Goes through your selected glyphs, and if it finds an empty one, inserts a placeholder rectangle. Useful for quickly building a dummy font for testing. +* **Find Close Encounters of Orthogonal Line Segments:** Goes through all vertical and horizontal line segments, and finds pairs that are close, but do not align completely. +* **Find Near Vertical Misses:** Finds nodes that are close but not exactly on vertical metrics. +* **Green Blue Manager:** Define an angle above which a node will be set to blue, below which it will be set to green. +* **Grid Switcher:** Toggles grid between two user-definable gridstep values with the click of a floating button. +* **Harmonise Curve to Line:** Will rearrange handles on (selected) curve segments with a following line segment, in such a way that the transition between the two segments is smooth (harmonized). +* **Interpolate two paths:** Select two paths and run this script, it will replace them with their interpolation at 50%. +* **New Tab with Small Paths:** Opens a new tab containing paths that are smaller than a user-definable threshold size in square units. +* **Path Problem Finder:** Finds all kinds of potential problems in outlines, and opens a new tab with affected layers. +* **Position Clicker:** Finds all combinations of positional shapes that do not click well. ‘Clicking’ means sharing two point coordinates when overlapping. +* **Realign BCPs:** Realigns all BCPs in all selected glyphs. Useful if handles got out of sync, e.g. after nudging or some other transformation, or after interpolation. Hold down Option to apply to all layers of the selected glyph(s). +* **Remove all Open Paths:** Deletes all *open* paths in the visible layers of all selected glyphs. +* **Remove Short Segments:** Deletes segments shorter than one unit. +* **Rewire Fire:** Finds, selects and marks duplicate coordinates. Two nodes on the same position typically can be rewired with Reconnect Nodes. +* **Rotate Around Anchor:** GUI for rotating glyphs or selections of nodes and components around a 'rotate' anchor. Allows to step and repeat. +* **Set Transform Origin:** Simple GUI for setting the Transform Origin of the Rotate tool numerically. Should also have an effect on the Scale tool. +* **Snap selected points to nearest metric in all masters:** Select points and run this script to snap them to the nearest metric in each compatible layer, given they are no more than 2 units away from the metric. Reports in the Macro window. +* **Straight Stem Cruncher:** Finds distances between points in all layers, and compares them (with a tolerance) to specified stem widths. Lists glyphs that have deviating stems in their drawings. +* **Tunnify:** Looks for all path segments where at least one handle is selected. Then, evens out the handles of the segments, i.e., they will both have the same Fit Curve percentage. Can fix Adobe Illustrator's zero-handles (segments with one handle retracted into the nearest node). The idea for this script came from Eduardo Tunni (as colported by Pablo Impallari), hence the title of the script. I have never seen Eduardo's algorithm though, so my implementation might be a little different to his, especially the treatment of zero-handles. + +## Pixelfonts + +*These scripts are useful for a pixelfont workflow, where you place a pixel component in a coarser grid. If you are doing pixel designs, take a look at the pixel-related plug-ins available in Window > Plugin Manager.* + +* **Align Anchors to Grid:** Snaps diacritic anchors onto the font grid. +* **Delete Components out of Bounds:** If a component is placed far outside the usual coordinates (happens when you cmd-arrow components with a high grid step), this script will delete them. +* **Delete Duplicate Components:** Looks for duplicate components (same name and position) and keeps only one. Happens frequently when building pixel fonts. +* **Flashify Pixels:** Creates small bridges in order to prevent self-intersection of paths so counters stay white. This is especially a problem for the Flash font renderer, hence the name of the script. +* **Reset Rotated and Mirrored Components:** Looks for scaled, mirrored and rotated components and turns them back into their default scale and orientation, but keeps their position. Useful for fixing mirrored pixels. + +## Post Production + +*The DSIG and GDEF scripts are not necessary anymore if you run the latest Glyphs version. For Italic exports, I recommend fixing PS Names and STAT Entries. The Upgrade STAT script is optional, it adds ranges which are still hardly supported by software, but may make sense as future-proofing.* + +* **Add Empty DSIG (OTVAR):** Run this after you export a Variable Font (TTF) and it will add an empty DSIG table. Necessary to pass the MyFonts onboarding of OTVAR TTFs. Needs the FontTools module. Script should not be necessary in the latest Glyphs 3.2+. +* **Fix GDEF class definition of Legacy Marks (OTVAR):** Fix GDEF definition of spacing, non-combining marks for your most recent OTVAR export(s), will switch to class 1 (‘base glyph’, single character, spacing glyph) if necessary. Needs the FontTools module. Script should not be necessary in the latest Glyphs 3.2+. +* **Fix Italic PS Names (OTVAR):** Fixes double Italic namings in name table records intended for fvar postScriptName entries in the most recent export of the current font, e.g., turns `MyfontItalic-SemiboldItalic` into `MyfontItalic-Semibold`. Run this right after an italic variable font export. Needs the FontTools module. +* **Fix Italic STAT Entries (OTVAR):** For every axis, renames normal STAT entries to ‘Regular’ (also makes changes in name table if necessary), and makes them elidable (Flags=2). Typically only necessary in italic OTVAR exports. Needs the FontTools module. +* **Read and Write Axis Values (OTVAR):** After an OTVAR export, run once, and it will read STAT.AxisValueArray most recently exported from the current Glyphs file, and add ‘Axis Values’ parameters in your Variable Font Settings. When run with these custom parameters present, it will use them to rewrite STAT.AxisValueArray in the OTVAR most recently exported from the current Glyphs file. Value syntax for the custom parameter: `axisTag; value=name, value=elidableName*, minValue:nominalValue:maxValue=name, value>linkedValue=name` +* **Upgrade STAT Axis Values from Discrete to Ranges (OTVAR):** Turns STAT entries of format 1 (discrete) into format 2 (range) for axes with more than one axis value. Run this right after a variable font export. Needs the FontTools module. + +## Smallcaps + +*When I have Smallcaps in my font, I always run Check Smallcap Consistency. Take its report with a grain of salt though: it lists a lot of false positives, and not every warning is equally important.* + +* **Check Smallcap Consistency:** Performs a few tests on your SC set and reports into the Macro window, especially kerning groups and glyph set. +* **Copy Kerning from Caps to Smallcaps:** Looks for cap kerning pairs and reduplicates their kerning for corresponding .sc glyphs, if they are available in the font. Please be careful: Will overwrite existing SC kerning pairs. + +## Spacing + +*Most important: Fix Math Operator Spacing, Bracket Metrics Manager and, if you have arrows, Fix Arrow Positioning. The New Tab scripts are useful when creating figures.* + +* **Add Metrics Keys for Symmetric Glyphs:** Will add RSB =| if the RSB is the same as the LSB in all masters. +* **Adjust Sidebearings:** Multiply, increase/decrease, limit or round spacing, differentiate between negative and positive SBs. +* **Bracket Metrics Manager:** Manage the sidebearings and widths of bracket layers, e.g., dollar and cent. +* **Center Glyphs:** Centers all selected glyphs inside their width, so that LSB=RSB. +* **Change Metrics by Percentage:** Change LSB/RSB of selected glyphs by a percentage value. Undo with the Revert button. +* **Find and Replace in Metrics Keys:** GUI for searching and replacing text in the L and R metrics keys, e.g. replace '=X+15' by '=X'. Leave the search field blank for appending. +* **Fix Arrow Positioning:** Fixes the placement and metrics keys of arrows, dependent on a specified default arrow. Adds metric keys and moves arrows vertically. Does not create new glyphs, only works on existing ones. +* **Fix Math Operator Spacing:** Syncs widths and centers glyphs for +−×÷=≠±≈¬, optionally also lesser/greater symbols and asciicircum/asciitilde. +* **Freeze Placeholders:** In the current Edit tab, will change all inserted placeholders for the current glyph, thus 'freeze' the placeholders. +* **Metrics Key Manager:** Batch apply metrics keys to the current font. +* **Monospace Checker:** Checks if all glyph widths in the frontmost font are actually monospaced. Reports in Macro Window and opens a tab with affected layers. +* **New Tab with all Figure Combinations:** Opens a new tab with all possible figure combos. Also outputs a string for copying into the Macro window, in case the opening of the tab fails. +* **New Tab with Fraction Figure Combinations:** Opens an Edit tab with fraction figure combos for spacing and kerning. +* **Remove Layer-Specific Metrics Keys:** Deletes left and right metrics keys specific to layers (==), in all layers of all selected glyphs. Also simplifies glyph metrics keys (i.e., turns "=H" into "H"). +* **Remove Metrics Keys:** Deletes both left and right metrics keys in all selected glyphs. Affects all masters and all layers. +* **Reset Alternate Glyph Widths:** Resets the width of suffixed glyphs to the width of their unsuffixed counterparts. E.g., `Adieresis.ss01` will be reset to the width of `Adieresis`. +* **Spacing Checker:** Look for glyphs with unusual spacings and open them in a new tab. +* **Steal Metrics:** Steals the sidebearing or width values for all selected glyphs from a 2nd font. Optionally also transfers metrics keys like '=x+20'. +* **Tabular Checker:** Goes through tabular glyphs and checks if they are monospaced. Reports exceptions. +* **Tabular Figure Maker:** Takes existing .tf figures and spaces them tabularly, or creates them from existing default figures. + +## Test + +*Most important: the Test HTML scripts. If you have unusually high or low text selection highlights in Adobe or Apple apps, run Report Highest and Lowest Glyphs to find the glyph causing it. Language Report is just for beefing up your specimen, and will not give you authoritative information.* + +* **Copy InDesign Test Text:** Copies a test text for InDesign into the clipboard. +* **Copy Word Test Text:** Copies a test text for MS Word into the clipboard. +* **Language Report:** Tries to give you a preliminary idea about how many and which languages are supported with your Latin characters. Based on Underware’s Latin-Plus list, with modifications. +* **Pangram Helper:** Helps you write a pangram, which you can copy into the clipboard, or put into a new tab. +* **Report Highest and Lowest Glyphs:** Reports glyphs with highest and lowest bounding boxes for all masters. +* **Variable Font Test HTML:** Create a Test HTML for the current font inside the current Variation Font Export folder. +* **Webfont Test HTML:** Creates a Test HTML for the current font inside the current Webfont Export folder, or for the current Glyphs Project in the project’s export path. + +# License + +Copyright 2011 The mekkablue Glyphs-Scripts Project Authors. + +Some code samples by Georg Seifert (@schriftgestalt) and Tal Leming (@typesupply). + +Some algorithm input by Christoph Schindler (@hop) and Maciej Ratajski (@maciejratajski). + +Some code fixes from Rafał Buchner (@RafalBuchner). + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use the software provided here except in compliance with the License. +You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 -如需更多詳細資訊,請參閱本儲存庫中隨附的授權條款檔案。 +See the License file included in this repository for further details. +