{ packages = { plugins = ( { titles = { en = "FastScripts"; }; url = "https://github.com/ViktorRubenko/FastScripts"; path = "FastScripts.glyphsPalette"; descriptions = { en = "Quickly run your favorite scripts from the side panel."; ru = "Запускайте ваши любимые скрипты из боковой панели."; }; screenshot = "https://raw.githubusercontent.com/ViktorRubenko/FastScripts/master/FastScriptsScreenshot.png"; }, { titles = { en = "Explosive Ordnance Disposal"; zh-Hans = "拆字小组"; }; url = "https://github.com/3type/EOD"; path = "Plugins/Plugin-Palette/EOD.glyphsPalette"; descriptions = { en = "EOD is a Glyphs 3 palette designed to improve the efficiency of Chinese font designers. Provides easy-to-use glyph disassembly and analysis functions. See [the repository readme](https://github.com/3type/EOD/tree/master/Plugins/Plugin-Palette) for details."; ru = "EOD—это палитра Glyphs 3, разработанная для удобства работы дизайнеров китайских шрифтов. Предоставляет простые в использовании функции разборки и анализа глифов. Подробности см. в [readme репозитория](https://github.com/3type/EOD/tree/master/Plugins/Plugin-Palette)."; zh-Hans = "对CJK字符元素快速拆解及分析。 [获取详情](https://github.com/3type/EOD/tree/master/Plugins/Plugin-Palette)"; }; minVersion = 3065; screenshot = "https://raw.githubusercontent.com/3type/EOD/master/Plugins/Plugin-Palette/img/EOD-Demo-Disassemble.gif"; }, { titles = { en = "Angularizzle"; ru = "Угловатый"; }; url = "https://github.com/NaN-xyz/GlyphsApp-Filters"; path = "Angularizzle.glyphsFilter"; descriptions = { en = "*Filter > Angularizzle* disfigures curves by sharp line. Visually it has something akin to Illustrator’s *Simplify* but is more nuanced. The *Keep detail* option attempts to protect the form’s integrity. Unselected it’s allowed to devolve down to brutish polygon. Custom parameters can be set to filter on the instance export rather than editing the font directly. In this way you can also have different settings for different sets of glyphs. This can be useful when dealing with relatively small paths such as diacritics or punctuation. Sample: `Angularize; segsize:120; detail:True;`"; ru = "*Фильтр > Angularizzle* рушит кривые резкой линией. Визуально он чем-то похож на *Simplify* в AI, но c большим количеством нюансов. Параметр *Keep detail* пытается сохранить целостность формы. Это может быть полезно при работе с относительно небольшими путями, такими как диакритические знаки или знаки препинания. Образец: `Angularize; segsize:120; detail:True;`"; }; }, { titles = { ar = "إظهار الصور الرمزية بعرض صفري"; cs = "Zobrazit glyfy s nulovou šířkou"; de = "Breitenlose Glyphen anzeigen"; en = "Show Zero-Width Glyphs"; es = "Mostrar glifos de ancho cero"; fr = "Afficher les glyphes sans chasse"; it = "Mostra glifi a larghezza zero"; ja = "ゼロ幅グリフを表示"; ko = "너비가 0인 글리프 보기"; pt = "Mostrar glifos sem tamanho"; ru = "Показать глифы нулевой ширины"; tr = "Sıfır Genişlikli Glifler Göster"; zh-Hans = "显示零宽度字符形"; zh-Hant = "顯示零寬度字符"; }; url = "https://github.com/florianpircher/Show-Zero-Width-Glyphs"; branch = release; path = "Show Zero-Width Glyphs.glyphsReporter"; descriptions = { ar = "*العرض* ← *إظهار الصور الرمزية بعرض صفري* • يرسم خطوطًا ملونة للإشارة إلى وجود صور رمزية بعرض صفري."; cs = "*Zobrazení* → *Zobrazit glyfy s nulovou šířkou* kreslí barevné čáry k označení přítomnosti glyfů s nulovou šířkou."; de = "*Ansicht* → *Breitenlose Glyphen anzeigen* zeichnet eine farbige Linie, um die Gegenwart von breitenlosen Glyphen anzuzeigen"; en = "*View* → *Show Zero-Width Glyphs* draws colored lines to indicate the presence of zero-width glyphs."; es = "*Vista* → *Mostrar glifos de ancho cero* dibuja líneas de colores para indicar la presencia de glifos de ancho cero."; fr = "*Affichage* → *Afficher les glyphes sans chasse* trace des lignes de couleur pour indiquer la présence de glyphes sans chasse."; it = "*Vista* → *Mostra glifi a larghezza zero* disegna linee colorate per indicare la presenza di glifi di larghezza zero."; ja = "*表示* → *ゼロ幅グリフを表示* • ゼロ幅グリフの存在をしめs宇"; ko = "*보기* → *너비가 0인 글리프 보기* • 너비가 0인 글리프 상태를 나타내기 위해 컬러 라인을 그립니다."; pt = "*Visualizar* → *Mostrar glifos sem tamanho* desenha linhas coloridas para indicar a presenças de glifos sem tamanho."; ru = "*Просмотр* → *Показать глифы нулевой ширины* рисует цветные линии, указывающие на наличие глифов нулевой ширины."; tr = "*Görüntü* → *Sıfır Genişlikli Glifler Göster*, sıfır genişlikli gliflerin varlığını belirtmek için renkli çizgiler çizer."; zh-Hans = "*视图* → *显示零宽度字符形* • 绘制彩色线条以指示零宽度字符形的存在。"; zh-Hant = "*顯示* → *顯示零寬度字符* • 繪製彩色線條以指示零寬度字符的存在。"; }; screenshot = "https://florianpircher.com/glyphs/plugins/show-zero-width-glyphs/screenshot.png"; }, { titles = { ar = "نقل التحديد بمفاتيح الأسهم"; cs = "Posuňte výběr pomocí kláves se šipkami"; de = "Auswahl mit Pfeiltasten bewegen"; en = "Keyboard Selection Travel"; es = "Mueve la selección con las teclas de flecha"; fr = "Déplacer la sélection avec les touches flèches"; it = "Sposta la selezione con i tasti freccia"; ja = "矢印キーで選択範囲を移動"; ko = "화살표 키로 선택 항목 이동"; pt = "Mova a seleção com as setas"; ru = "Перемещение выделения при помощи клавиш со стрелками"; tr = "Ok tuşlarıyla seçimi taşıyın"; zh-Hans = "用方向键移动选择"; zh-Hant = "使用箭頭鍵移動選擇"; }; url = "https://github.com/florianpircher/Keyboard-Selection-Travel"; path = "Keyboard Selection Travel.glyphsPlugin"; descriptions = { ar = "اضغط مع الاستمرار على مفتاح التحكم لنقل التحديد باستخدام مفاتيح الأسهم."; cs = "Přidržte stisknutou klávesu Control a pomocí kláves se šipkami přesuňte výběr."; de = "Halte die Control-Taste gedrückt, um mit den Pfeiltasten die Auswahl zu bewegen."; en = "Hold down the Control key to move the selection with the arrow keys."; es = "Mantén presionada la tecla Control para mover la selección con las teclas de flecha."; fr = "Maintenez la touche Contrôle enfoncée pour déplacer la sélection à l’aide des touches fléchées."; it = "Tieni premuto il tasto Control per spostare la selezione con i tasti freccia."; ja = "Controlキーを押したまま、矢印キーで選択範囲を移動します。"; ko = "Control 키를 누른 상태에서 화살표 키로 선택 항목을 이동하세요."; pt = "Mantenha premida a tecla para mover a seleção com as setas."; ru = "Удерживайте нажатой клавишу Control, чтобы переместить выделение, используя клавиши со стрелками."; tr = "Seçimi ok tuşlarıyla taşımak için Kontrol tuşunu basılı tutun."; zh-Hans = "按住 Control 键可使用方向键移动所选内容。"; zh-Hant = "按住 Control 鍵可以使用箭頭鍵移動選擇。"; }; screenshot = "https://florianpircher.com/glyphs/plugins/keyboard-selection-travel/screenshot.png"; }, { titles = { en = "Guten Tag"; }; url = "https://github.com/florianpircher/GutenTag"; path = "Guten Tag.glyphsPalette"; descriptions = { ar = "ضع علامة على الصور الرمزية الخاصة بك وتنقل بسرعة بين الصور الرمزية ذات الصلة.اقرأ [دليل Guten Tag](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf) لمعرفة التفاصيل."; cs = "Označte své glyfy a rychle procházejte mezi souvisejícími glyfy. Podrobnosti najdete v [příručce Guten Tag](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf)."; de = "Tagge deine Glyphen und navigiere schnell zwischen verwandten Glyphen. Lies das [Guten Tag Handbuch](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf) für Details."; en = "Tag your glyphs and quickly navigate between related glyphs. Read the [Guten Tag handbook](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf) for details."; es = "Etiqueta tus glifos y navega rápidamente entre los glifos relacionados. Lea el [manual de Guten Tag](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf) para obtener más detalles."; fr = "Marquez vos glyphes et naviguez rapidement entre les glyphes connectés. Lisez le [Manuel Guten Tag](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf) pour plus de détails."; it = "Tagga i tuoi glifi e naviga rapidamente tra i glifi correlati. Leggi il [Manuale di Guten Tag](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf) per i dettagli."; ja = "グリフにタグ付けして、関連するグリフ間をすばやく移動します。くわしくは [Guten Tag ハンドブック](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf) をお読みください。"; ko = "글리프에 태그를 지정하고 관련 글리프 사이를 빠르게 탐색하세요. 자세한 내용은 [Guten Tag 핸드북](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf)을 참조하세요."; pt = "Marque os seus glifos e navegue rapidamente entre glifos relacionados. Leia o [manual Guten Tag](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf) para mais detalhes."; ru = "Присваивайте глифам метки, чтобы быстро находить нужные глифы. Подробности читайте в [Руководстве по Guten Tag](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf)."; tr = "Glif’lerinizi etiketleyin ve ilgili glif’ler arasında hızla gezinin. Ayrıntılar için [Guten Tag el kitabını](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf) okuyun."; zh-Hans = "为您的字形添加标签,以快速浏览相关字形。请阅读[Guten Tag 手册](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf)以了解详细信息。"; zh-Hant = "標記您的字形,並在相關字形之間快速導覽。詳情請閱讀 [Guten Tag 手冊](https://florianpircher.com/glyphs/plugins/guten-tag/Handbook.pdf)。"; }; screenshot = "https://florianpircher.com/glyphs/plugins/guten-tag/screenshot.png"; minVersion = 3066; }, { titles = { ar = "إغلاق النافذة"; cs = "Zavřít okno"; de = "Fenster schließen"; en = "Close Window"; es = "Cerrar ventana"; fr = "Fermer la fenêtre"; it = "Chiudi la finestra"; ja = "ウインドウを閉じる"; ko = "창 닫기"; pt = "Fechar Janela"; ru = "Закрыть окно"; tr = "Pencereyi kapat"; zh-Hans = "关闭窗口"; zh-Hant = "關閉視窗"; }; url = "https://github.com/florianpircher/Close-Window"; path = "Close Window.glyphsPlugin"; descriptions = { ar = "يضيف أمر «إغلاق النافذة» إلى قائمة «ملف» التي تغلق النافذة الأمامية الحالية."; cs = "Přidá příkaz *Zavřít okno* do nabídky *Soubor*, který zavře aktuální okno písma."; de = "Fügt die Funktion *Fenster schließen* zum *Datei*-Menü hinzu, welche das aktuelle Schrift-Fenster schließt."; en = "Adds a *Close Window* command to the *File* menu which closes the current font window."; es = "Añade un comando *Cerrar ventana* al menú *Archivo* que cierra la ventana de fuente actual."; fr = "Ajoute une commande *Fermer la fenêtre* au menu *Fichier* qui ferme la fenêtre de police actuelle."; it = "Aggiunge un comando *Chiudi la finestra* al menu *File* che chiude la finestra del carattere corrente."; ja = "「ファイル」メニューに、現在のフォントウインドウを閉じる機能の「ウィンドウを閉じる」コマンドを追加します。"; ko = "현재 글꼴 창을 닫는 “창 닫기” 명령을 “파일” 메뉴에 추가합니다."; pt = "Adiciona um comando *Fechar Janela* ao menu *Ficheiro* que fecha a janela da fonte atual."; ru = "Добавляет в меню *Файл* команду *Закрыть окно*, которая закрывает окно текущего шрифта."; tr = "Mevcut yazı tipi penceresini kapatan *Dosya* menüsüne bir *Pencereyi kapat* komutu ekler."; zh-Hans = "在关闭当前字体窗口的“文件”菜单中添加“关闭窗口”命令。"; zh-Hant = "在關閉目前字型視窗的「檔案」選單中新增「關閉視窗」命令。"; }; screenshot = "https://florianpircher.com/glyphs/plugins/close-window/screenshot.png"; }, { descriptions = { en = "*File > Save to Git* saves your font and commits the changes to a git repository. Well suited if you just want to keep track of your changes."; }; donationURL = "https://ko-fi.com/jenskutilek"; minGlyphsVersion = "3.0"; path = SaveToGit.glyphsPlugin; titles = { en = "Save to Git"; }; url = "https://github.com/jenskutilek/Glyphs-SaveToGit"; }, { descriptions = { en = "The palette *Step and Repeat* (de: *Wiederholen*, fr: *Répéter*, es: *Repetir*, pt: *Repetir*) allows shift-repeating shapes. Repeated shapes will be added to the selection for further transformations. At least one of the *X* and *Y* shifts must be non-zero. The *Steps* count includes the original, so it must be at least 2."; ru = "Палитра *Шаг и повторение* позволяет сдвигать и повторять формы. Повторяющиеся формы будут добавлены в выборку для дальнейших преобразований. Хотя бы один из сдвигов *X* и *Y* должен быть НЕнулевым. Число *Шагов* включает оригинал, поэтому оно должно быть не менее 2."; }; path = StepAndRepeat.glyphsPalette; screenshot = "https://raw.githubusercontent.com/mekkablue/StepAndRepeat/main/StepAndRepeat.png"; titles = { de = Wiederholen; en = "Step and Repeat"; es = Repetir; fr = "Répéter"; pt = Repetir; ru = "Шаг и повторение"; }; url = "https://github.com/mekkablue/StepAndRepeat"; }, { branch = glyphs-3; descriptions = { en = "*View > Show Anchor Cloud* displays a mark cloud for all glyphs which use the selected anchor, regardless of name. It also allows the user to filter which mark glyphs are displayed in the cloud."; ru = "*Показать > Показать якорное облако*—отображает облако меток для всех глифов, использующих выбранный якорь, независимо от имени. Он также позволяет пользователю фильтровать, какие обозначенные глифы отображаются в облаке."; }; path = ShowAnchorCloud.glyphsReporter; screenshot = "https://raw.githubusercontent.com/simoncozens/ShowAnchorCloud/master/ShowAnchorCloud.png"; titles = { en = "Show Anchor Cloud"; ru = "Показать якорное облако"; }; url = "https://github.com/simoncozens/ShowAnchorCloud"; }, { descriptions = { en = "*View > Show Distance and Angle in Corner* shows the direct distance of two selected elements (Nodes, Anchors, Components) and their angle. The times of temporarily created guidelines are passé."; ru = "*Показать > Показать расстояние и значение угла в угле*—показывает расстояние по прямой между двумя выбранными элементами (узлы, якоря, компоненты) и их угол."; }; path = ShowDistanceAndAngleOfNodesInCorner.glyphsReporter; screenshot = "https://raw.githubusercontent.com/weiweihuanghuang/Show-Distance-And-Angle-Of-Nodes-In-Corner/master/Images/preview.png"; titles = { en = "Show Distance And Angle in Corner"; }; url = "https://github.com/weiweihuanghuang/Show-Distance-And-Angle-Of-Nodes-In-Corner"; }, { descriptions = { en = "*Filter > Fade* (de: *Verschwinden,* fr: *Disparaître,* es: *Desaparecer,* pt: *Desaparecer,* jp: *消える,* ko: *사라지다,* zh: *消失*) removes parts of glyphs beneath or beyond a certain coordinate. As value use `x<200`or `y>300`, or multiple conditions in a comma-separated list `x>500, y<200`."; ru = "*Фильтр > Исчезающий*—удаляет части глифов ниже или за пределами определенной координаты. Используйте значения `x<200`или `y>300`, или несколько условий в списке, разделенном запятыми `x>500, y<200`."; }; path = Fade.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Fade/master/Fade.png"; titles = { de = Verschwinden; en = Fade; es = Desaparecer; fr = "Disparaître"; ja = "消える"; ko = "사라지다"; pt = Desaparecer; zh = "消失"; ru = "Исчезающий"; }; url = "https://github.com/mekkablue/Fade"; }, { descriptions = { en = "Effect plug-in for adding a Risograph-like effect on your shapes."; ru = "Плагин эффектов для добавления «эффекта ризографа» к формам."; }; path = Risorizer.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Risorizer/master/Risorizer.png"; titles = { de = Risorisieren; en = Risorizer; es = Risorizar; fr = Risoriser; ru = "Эффект ризографа"; }; url = "https://github.com/mekkablue/Risorizer"; }, { descriptions = { en = "*Filter > Italic Extreme* adds points on a specified angle. The default angle is the italic angle from the selected master when launching the plugin. Multiple angles can be entered separated by commas, and will be processed successively. The checkboxes allow to optionally delete V/H extremes or slanted curve nodes that match the specified angles, effectively switching an outline between V/H and Italic extremes. Keep in mind that not all curves can be replicated exactly with a different point placement. Glyphs’ algorithm to keep a shape when removing nodes works well, but is not magic."; ru = "*Фильтр > Точки экстремума в курсиве*—добавляет точки под указанным углом. По умолчанию используется курсивный угол от выбранного мастера при запуске плагина. Можно ввести несколько углов через запятую, и они будут обрабатываться последовательно. Флажки позволяют по желанию удалить крайние узлы Высоты/Ширины или наклонных кривых, которые соответствуют указанным углам, эффективно переключая контур между узлами экстремума Ширины/Высоты и Курсива. Следует помнить, что не все кривые могут быть точно воспроизведены с другим расположением точек. Алгоритм Glyphs, позволяющий сохранить форму при удалении узлов, работает отлично, но это не волшебство."; }; path = ItalicExtremes.glyphsFilter; screenshot = "https://raw.githubusercontent.com/schriftgestalt/ItalicExtremes/master/ItalicExtremes.png"; titles = { en = "Italic Extremes"; ru = "Точки экстремума в курсиве"; }; url = "https://github.com/schriftgestalt/ItalicExtremes"; }, // { // descriptions = { // en = "*View > HOI Viewer* is a kink-proofer useful for previewing designspaces. It is capable of previewing at a specific location in the designspace or along an entire axis (HOI or regular)."; // ru = "*Просмотр > HOI Viewer*—это защита от изломов, полезно для предварительного просмотра области работы. Он может выполнять предварительный просмотр в определенном месте или по всей оси (HOI или Regular)."; // }; // path = "Plugins/HOI Viewer.glyphsReporter"; // repoFolder = mjlagattuta; // screenshot = "https://raw.githubusercontent.com/mjlagattuta/Glyphs-Scripts/master/Plugins/images/HOIViewer.png"; // titles = { // en = "HOI Viewer"; // }; // url = "https://github.com/mjlagattuta/Glyphs-Scripts"; // }, // { // descriptions = { // en = "*View > VizBez* converts polylines to nth-order bezier curves depending on the number of points and draws lines between them in increments of t. Useful for matching speed between orders of curvature (in a HOI setup) to create kink free interpolation."; // ru = "*Ghjcvjnh > VizBez* преобразует полилинии в кривые безье n-го порядка в зависимости от количества точек и рисует линии между ними с t-шагом. Полезно для согласования скорости между порядками кривизны (в настройке HOI) для создания интерполяции без перегиба."; // }; // path = "Plugins/VizBez.glyphsReporter"; // repoFolder = mjlagattuta; // screenshot = "https://raw.githubusercontent.com/mjlagattuta/Glyphs-Scripts/master/Plugins/images/VizBez.png"; // titles = { // en = VizBez; // }; // url = "https://github.com/mjlagattuta/Glyphs-Scripts"; // }, { descriptions = { en = "Magic Remover (de: *Magic-Löscher,* es: *Borrador magico,* fr: *Gomme magique,* pt: *Apagador mágico*) is a button in the right-hand side palette that enables multiple-master deletion of selected nodes, anchors, components and corner components. Deleting (any number of) nodes will try to keep the shape, similar to what happens when you individually delete nodes."; ru = "*Магическое удаление*—это кнопка на правой боковой палитре, которая позволяет удалять выбранные узлы, привязки, компоненты и угловые компоненты по нескольким шаблонам. Удаление (любого количества) узлов попытается сохранить форму, подобно тому, что происходит, когда вы удаляете узлы по отдельности."; }; path = MagicRemove.glyphsPalette; screenshot = "https://raw.githubusercontent.com/mekkablue/MagicRemove/master/MagicRemove.png"; titles = { de = "Magic-Löscher"; en = "Magic Remover"; es = "Borrador magico"; fr = "Gomme magique"; pt = "Apagador mágico"; ru = "Магическое удаление"; }; url = "https://github.com/mekkablue/MagicRemove"; }, { descriptions = { en = "*Scrambler* is a palette extension that creates a new tab with a generated random sequence of selected glyphs. Useful at the initial design stages or to have a feel of the rhythm of the typeface. Works with numbers and non-Latin characters."; ru = "*Scrambler*—это расширение палитры, которое создает новую вкладку с генерируемой случайной последовательностью выбранных глифов. Полезно на начальных этапах проектирования шрифта или для того, чтобы почувствовать «ритм» шрифта. Работает с цифрами и нелатинскими символами."; }; path = Scrambler.glyphsPalette; screenshot = "https://raw.githubusercontent.com/FEDER-CO/Scrambler/master/Scrambler.png"; titles = { en = Scrambler; }; url = "https://github.com/FEDER-CO/Scrambler"; }, { descriptions = { en = "*View > Show Nodes Close To Zones* (de: *Punkte knapp neben Zonen anzeigen,* fr: *Afficher nœuds proches des zones,* es: *Mostrar nodos cerca de zonas,* pt: *Exibir nós perto de zonas*) highlights nodes which are close to an alignment zone but are neither in nor on the boundary of an alignment zone (sensitivity is ≤ 4 units distance).\n*Right Click > New Tab: Nodes Close to Zone* opens a new tab listing all glyphs with potentially misaligned nodes.\nWritten by Olli Meier"; ru = "*Просмотр > Показать узлы рядом с зонами*—выделяет узлы, которые близки к зоне выравнивания, но не находятся ни в зоне выравнивания, ни на ее границе (чувствительность составляет ≤ 4 единиц расстояния).\n*Правый щелчок > Новая вкладка: Узлы близко к зоне* открывает новую вкладку со списком всех глифов с потенциально несовмещенными узлами.\nНаписано Olli Meier"; }; path = NodesCloseToZones.glyphsReporter; screenshot = "https://raw.githubusercontent.com/moontypespace/NodesCloseToZones-Glyphs/master/screenshot_nodesHighlighted.png"; titles = { de = "Punkte knapp neben Zonen anzeigen"; en = "Show Nodes Close To Zones"; es = "Mostrar nodos cerca de zonas"; fr = "Afficher nœuds proches des zones"; pt = "Exibir nós perto de zonas"; ru = "Показать узлы рядом с зонами"; }; url = "https://github.com/moontypespace/NodesCloseToZones-Glyphs"; }, { descriptions = { en = "*View > Show Global Glyph* displays the glyph named `_global` in the background of other glyphs. This can give an alternative to global guidelines. See GitHub for some craft tips"; ru = "*Просмотр > Показать глобальные глифы.*—отображает глиф с именем `_global` на фоне других глифов. Как вариант альтернативы глобальным указаниям. Советы по использованию см. в GitHub"; }; path = GlobalGlyph.glyphsReporter; screenshot = "https://raw.githubusercontent.com/Nevu/Show-Global-Glyph/master/ShowGlobalGlyph.png"; titles = { en = "Global Glyph"; ru = "Глобальные глифы"; }; url = "https://github.com/mekkablue/Show-Global-Glyph"; }, { descriptions = { en = "The tool shows an oval for a mouse cursor which can be used to gauge the width of strokes."; ru = "*Просмотр > Инструмент для измерения.* Инструмент показывает овал под курсором, который можно использовать для определения ширины штрихов."; }; path = GaugeTool.glyphsTool; screenshot = "https://raw.githubusercontent.com/weiweihuanghuang/GaugeTool/master/images/gaugetool.gif"; titles = { en = "Gauge Tool"; ru = "Инструмент для измерения"; }; url = "https://github.com/weiweihuanghuang/GaugeTool"; }, { descriptions = { en = "*Filter > Shadow* (de: *Schatten*, fr: *Ombreur*, nl: *Schaduw*, es: *Sombrear*, zh: 🌖阴影) turns your glyphs into shadowed versions of themselves."; ru = "*Фильтр > Тень.* Превращает ваши глифы в теневые версии самих себя."; }; path = Shadow.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Shadow/master/Shadow.png"; titles = { de = Schatten; en = Shadow; es = Sombrear; fr = Ombreur; nl = Schaduw; zh = "🌖阴影"; ru = "Тень"; }; url = "https://github.com/mekkablue/Shadow"; }, { descriptions = { en = "*View > Show Italic* (de: *Kursive*, es: *itálicas*, fr: *italique*, zh: 🥂意大利体) displays the italic counterpart of the current upright glyph in Edit view (and vice versa), given that both the Upright and Italic fonts are opened in Glyphs, and given that the other font contains a glyph with the same name. It is useful for stepping through the glyphs and checking if there is an undesired deviation, e. g., a different diacritic height or different descender depth."; ru = "*Просмотр > Показать курсив*—отображает курсивный аналог текущего вертикального глифа в режиме редактирования (и наоборот), если оба шрифта Прямой и Курсив открыты в Glyphs, и если другой шрифт содержит глиф с тем же именем. Это полезно для перебора глифов и проверки наличия нежелательных отклонений, например, другой высоты диакритических знаков или другой глубины нижних выносных элементов."; }; path = ShowItalic.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowItalic/master/ShowItalic.png"; titles = { de = "Kursive anzeigen"; en = "Show Italic"; es = "Mostrar itálicas"; fr = "Afficher italique"; zh = "🥂意大利体"; ru = "Показать курсив"; }; url = "https://github.com/mekkablue/ShowItalic"; }, { dependencies = ( paddle ); descriptions = { en = "Variable Font Preview now available for Glyphs 3. This is a fully functional 30 days trial. What are you waiting for?\nContact me for Student Discounts."; ru = "Просмотр вариативных шрифтов теперь доступен для Glyphs 3. Это полнофункциональная 30-дневная пробная версия.\nСвяжитесь для получения студенческих скидок!"; }; path = "Variable Font Preview X.glyphsReporter"; screenshot = "https://github.com/Mark2Mark/variable-font-preview/blob/main/.images/Plugin%20Manager%20-%20Variable%20Font%20Preview.jpg?raw=true"; titles = { en = "Variable Font Preview 3"; ru = "Предварительный просмотр вариативных шрифтов 3"; }; url = "https://github.com/Mark2Mark/variable-font-preview"; minVersion = 3062; }, { descriptions = { en = "*View > Show Smart Plumblines* (de: *Intelligente Lotschnur anzeigen,* fr: *Afficher lignes intelligentes de construction,* es: *Mostrar líneas inteligentes de construcción*) displays **live guidelines** at the center of each paths’ (red) and components’ (grey) bounding box.\nIf you select anything, it also displays the center of that selection (blue dashed).\nOne major feature is that the guidelines **automatically match your italic angle**.\nThis is useful for aligning objects by sight. As well as:\n\n- Align multiple paths and/or components\n- Setting up horizontal positions of anchors\n- Editing segments while easily keeping italic angle, etc."; ru = "*Просмотр > Показать умные линии*—отображает **живые направляющие** в центре границ каждого контура (красным) и компонента (серым).\nЕсли вы выделите что-либо, он также отобразит центр этого выделения (синим пунктиром).\nОдной из главных особенностей является то, что направляющие **автоматически будут соответствовать углу курсива**.\nЭто полезно для выравнивания объектов «на глаз». А также:\n\n- Выравнивание нескольких путей и/или компонентов\n- Установка горизонтального положения якорей\n- Редактирование сегментов с сохранением угла курсива и т.д."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = SmartPlumblines.glyphsReporter; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Glyphsapp-Plugins/Screenshots/Screenshots/SmartPlumblines/SmPlL%2012.png?raw=true"; titles = { de = "Intelligente Lotschnur anzeigen"; en = "Show Smart Plumblines"; es = "Mostrar líneas inteligentes de construcción"; fr = "Afficher lignes intelligentes de construction"; ru = "Показать умные линии"; }; url = "https://github.com/Mark2Mark/Show-Smart-Plumblines"; }, { descriptions = { en = "*View > Show Distance & Angle* (de: *Abstand & Winkel anzeigen,* fr: *Afficher distance & angle,* es: *Mostrar distancia & angulo*) shows the distance and angle of 2 selected elements. Those can be nodes, but also components or anchors and they don’t have to be of the same kind."; ru = "*Просмотр > Показать размер отрезка и угол наклона*—показывает расстояние и угол между двумя выбранными элементами. Это могут быть узлы, а также компоненты или якоря, и они не обязательно должны быть одного типа."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = ShowDistanceAndAngleOfNodes.glyphsReporter; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Show-Distance-And-Angle-Of-Nodes/master/Images/Distance_And_Angle_01.png?raw=true"; titles = { de = "Abstand & Winkel anzeigen"; en = "Show Distance & Angle"; es = "Mostrar distancia & angulo"; fr = "Afficher distance & angle"; ru = "Показать размер отрезка и угол наклона"; }; url = "https://github.com/Mark2Mark/Show-Distance-And-Angle-Of-Nodes"; }, { dependencies = ( fontTools ); descriptions = { en = "*View > Red Arrows:* Now Glyphs users can also have red arrows!\nThis reporter points out possible outline errors. This version works in Glyphs 2.3 and newer. When the plugin is active, red arrows will point to possible mistakes in your outlines."; ru = "*Просмотр > Красные стрелки:* Теперь в Glyphs есть красные стрелки!\nЭтот плагин указывает на возможные ошибки, как это есть в FontAudit в FontLab Studio. Эта версия работает в Glyphs 2.3 и новее. Когда плагин активен, красные стрелки будут указывать на возможные ошибки в ваших контурах."; }; donationURL = "https://ko-fi.com/jenskutilek"; path = RedArrow.glyphsReporter; screenshot = "https://raw.githubusercontent.com/jenskutilek/RedArrow-Glyphs/master/screenshot.png"; titles = { en = "Red Arrow"; ru = "Красные стрелки"; }; url = "https://github.com/jenskutilek/RedArrow-Glyphs"; }, { branch = glyphs3; dependencies = ( fontTools ); descriptions = { en = "DrawBot inside Glyphs.\nMake a new drawBot from *File > New DrawBot,* or open a `.py` file with Cmd-O. *File > Save* as usual. Run the script by hitting the Run button (or pressing Cmd-⏎). Clean the output area by pressing Cmd-K.\n\nTo save a drawing as pdf, hit Cmd-E (*File > Export…*)"; ru = "DrawBot внутри Glyphs.\nСоздайте новый drawBot из *Файл > Новый DrawBot,* или откройте файл `.py` с помощью Cmd-O. *Файл > Сохранить*, как обычно. Запустите скрипт, нажав кнопку Run (или нажав Cmd-⏎). Очистите область вывода, нажав Cmd-K.\n\nЧтобы сохранить рисунок в формате pdf, нажмите Cmd-E (*Файл > Экспорт…*)."; }; path = DrawBot.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/schriftgestalt/DrawBotGlyphsPlugin/master/GlyphsLogoDrawBot.png"; titles = { en = DrawBot; }; url = "https://github.com/schriftgestalt/DrawBotGlyphsPlugin"; }, { descriptions = { en = "*View > Show Tops And Bottoms* (es: *superiores e inferiores*, de: *Höchste und tiefste Stellen*, nl: *hoogste en laagste plekken*, fr: *les hauts et les bas*, zh: 🚧底部到顶点的数值) displays the bounding box tops and bottoms for each glyph in the Edit view, and marks them red if they are not inside an alignment zone. Also highlights nodes *inside* zones if they are missing a metric line by 1 unit."; ru = "*Просмотр > Показать верх и низ*—показывает верх и низ ограничивающей рамки для каждого глифа в режиме редактирования и помечает их красным цветом, если они выходят за рамки выравнивания. Также подсвечивает узлы *внутри* зон, если в них отсутствует метрическая линия на 1 ед. измерения."; }; donationURL = "https://ko-fi.com/mekkablue"; path = ShowTopsAndBottoms.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowTopsAndBottoms/master/ShowTopsAndBottoms.png"; titles = { de = "Höchste und tiefste Stellen anzeigen"; en = "Show Tops and Bottoms"; es = "Mostrar superiores e inferiores"; fr = "Afficher les hauts et les bas"; zh = "🚧底部到顶点的数值"; ru = "Показать верх и низ"; }; url = "https://github.com/mekkablue/ShowTopsAndBottoms"; }, { archs = ( intel ); descriptions = { en = "*View > Show Offset Curve Parameter Preview* calculates the *GlyphsFilterOffsetCurve* parameters in active instances for the given glyph and draws those instances behind your paths. It quietly adds extremum and inflection nodes to your preview outlines. But it does not give you a full preview of the final instance, because it does not show the effect of any other parameters. It is focused on helping you spot path offset problems."; ru = "*Просмотр > Показать Offset Curve Parameter Preview* вычисляет параметры *GlyphsFilterOffsetCurve* в активных экземплярах для данного глифа и рисует эти экземпляры за вашими контурами. Он спокойно добавляет узлы экстремума и перегиба в контуры предварительного просмотра. Но это не дает полного предварительного просмотра конечного экземпляра, поскольку не показывает влияние других параметров. Программа нацелена на то, чтобы помочь вам обнаружить проблемы со смещением контура."; }; maxGlyphsVersion = "2.99"; path = OffsetPreview.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowOffsetCurveParameterPreview/master/OffsetPreview.png"; titles = { en = "Offset Preview"; }; url = "https://github.com/mekkablue/ShowOffsetCurveParameterPreview"; }, { descriptions = { en = "*View > Show Styles* (de: *Stile anzeigen,* es: *Mostrar estilos,* fr: *Afficher styles,* pt: *Exibir estilos,* zh: 💗插值) calculates all active styles for the given glyph and draws them behind your paths. Will highlight the currently selected style (i.e., selected in the Preview area at the bottom). Right-click for extra options (centering shape, aligning on a node). Use `ShowStyles` parameter in *Font Info > Font* or *Styles* for defining colors: as value, use comma-separated numbers for RGBA, between 0.0 and 1.0, e. g., `0, 1, 0.2` for green with a small hint of blue in it. Run `Glyphs.defaults['com.mekkablue.ShowStyles.anchors']=True` in Macro Window to also show interpolation of anchors."; ru = "*Просмотр > Показать стили* вычисляет все активные стили для данного глифа и показывает их по вашим контурами. Выделит текущий выбранный стиль (т.е. выбранный в области предварительного просмотра внизу). Щелкните правой кнопкой мыши для получения дополнительных опций (центрирование фигуры, выравнивание по узлу). Используйте параметр `ShowStyles` в *Информация о шрифте > Шрифт* или *Стили* для определения цветов: в качестве значения используйте числа через запятую для RGBA, от 0.0 до 1.0, например, `0, 1, 0.2` для зеленого с небольшим оттенком синего. Выполните `Glyphs.defaults['com.mekkablue.ShowStyles.anchors']=True' в окне макросов, чтобы также показать интерполяцию якорей."; }; minGlyphsVersion = "3.0"; path = ShowStyles.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowInterpolations/master/ShowStyles.png"; titles = { de = "Stile anzeigen"; en = "Show Styles"; es = "Mostrar estilos"; fr = "Afficher styles"; pt = "Exibir estilos"; zh = "💗插值"; ru = "Показать стили"; }; url = "https://github.com/mekkablue/ShowInterpolations"; }, { descriptions = { en = "*View > Show Filled Preview* (de: *Gefüllte Vorschau beim Bearbeiten,* es: *contornos rellenos durante la edición,* fr: *aperçu des formes pendant la édition*) fills open paths with a dark gray color even while you are still drawing. For controlling the opacity, run `Glyphs.defaults['com.mekkablue.ShowFilledPreview.opacity']=0.6` in *Window > Macro Panel.* Any value between 0.0 and 1.0 is possible."; ru = "*Просмотр > Показать заполненный контур превью*—заполняет открытые контуры темно-серым цветом, даже когда вы продолжаете рисовать дальше. Для управления прозрачностью установите `Glyphs.defaults['com.mekkablue.ShowFilledPreview.opacity']=0.6` в *Окно > Панель Макросов.* Возможно любое значение между 0.0 и 1.0."; }; path = ShowFilledPreview.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowFilledPreview/master/ShowFilledPreview.png"; titles = { de = "Gefüllte Vorschau beim Bearbeiten anzeigen"; en = "Show Filled Preview while Editing"; es = "Mostrar contornos rellenos durante la edición"; fr = "Afficher aperçu des formes pendant la édition"; ru = "Показывать заполненный контур при редактировании"; }; url = "https://github.com/mekkablue/ShowFilledPreview"; }, { descriptions = { en = "*View Show Export Status* (de: *Export-Status anzeigen,* es: *Mostrar estado del exporto,* fr: *Afficher stade d’export*) displays a red cross over non-exporting glyphs in Edit View."; ru = "*Просмотр > Показать состояние для экспорта*—над неэкспортируемыми глифами показывает крестик в режиме редактирования"; }; path = ShowExportStatus.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowExportStatus/master/ShowExportStatus.png"; titles = { de = "Export-Status anzeigen"; en = "Show Export Status"; es = "Mostrar estado del exporto"; fr = "Afficher stade d’export"; ru = "Показать состояние для экспорта"; }; url = "https://github.com/mekkablue/ShowExportStatus"; }, { descriptions = { en = "*View > Show Distance Between Two Points* (es: *Mostrar distancia entre dos puntos,* de: *Abstand zwischen zwei Punkten anzeigen,* fr: *Afficher distance entre deux points,* pt: *Exibir distância entre dois pontos*) displays the distance between two selected nodes when exactly two points are selected, ignoring intersections in between."; ru = "*Просмотр > Показать расстояние между двумя точками*—показывает расстояние между двумя выбранными узлами, когда выбраны ровно две точки, игнорируя пересечения между ними."; }; path = ShowDistanceBetweenTwoPoints.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowDistanceBetweenTwoPoints/master/ShowDistanceBetweenTwoPoints.png"; titles = { de = "Abstand zwischen zwei Punkten anzeigen"; en = "Show Distance Between two Points"; es = "Mostrar distancia entre dos puntos"; fr = "Afficher distance entre deux points"; pt = "Exibir distância entre dois pontos"; ru = "Показать расстояние между двумя точками"; }; url = "https://github.com/mekkablue/ShowDistanceBetweenTwoPoints"; }, { descriptions = { en = "*View > Show Coordinates of Selected Nodes* (de: *Koordinaten ausgewählter Punkte anzeigen,* fr: *Afficher les coordonnées des nœuds sélectionnés,* es: *Mostrar las coordenadas de nodos seleccionados,* pt: *Exibir coordenadas dos nós selecionados*) displays coordinates for selected on-curve nodes, as well as length and angle of the surrounding handles and line segments. \nRun this line in the Macro Window to disable display of (on-curve) node info:\n`Glyphs.defaults['com.mekkablue.ShowCoordinatesOfSelectedNodes.showNodes'] = False`\nRun this line in the Macro Window to disable display of (off-curve) handle info:\n`Glyphs.defaults['com.mekkablue.ShowCoordinatesOfSelectedNodes.showHandles'] = False`\nTo reset the prefs, run any or both of these lines in Macro Window:\n`del Glyphs.defaults['com.mekkablue.ShowCoordinatesOfSelectedNodes.showNodes']`\n`del Glyphs.defaults['com.mekkablue.ShowCoordinatesOfSelectedNodes.showHandles']`"; ru = "*Показать > Показать координаты выбранных узлов*—показывает координаты выбранных узлов на кривой, а также длину и угол окружающих рычагов (усиков) и сегментов линий. \nЗапустите эту строку в окне макросов, чтобы отключить инфо об узлах на кривой:\n`Glyphs.defaults['com.mekkablue.ShowCoordinatesOfSelectedNodes.showNodes'] = False`\nЗапустите эту строку в окне макросов, чтобы отключить инфо об усиках на кривой:\n`Glyphs.defaults['com.mekkablue. ShowCoordinatesOfSelectedNodes.showHandles'] = False`\nЧтобы сбросить настройки, запустите одну из этих строк или обе строки в окне макросов:\n`del Glyphs.defaults['com.mekkablue.ShowCoordinatesOfSelectedNodes.showNodes']`\n`del Glyphs.defaults['com.mekkablue.ShowCoordinatesOfSelectedNodes.showHandles']`"; }; path = ShowCoordinatesOfSelectedNodes.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowCoordinatesOfSelectedNodes/master/ShowCoordinatesOfSelectedNodes.png"; titles = { de = "Koordinaten ausgewählter Punkte anzeigen"; en = "Show Coordinates of Selected Nodes"; es = "Mostrar las coordenadas de nodos seleccionados"; fr = "Afficher les coordonnées des nœuds sélectionnés"; nl = "Toon coördinaten van geselecteerde punten"; pt = "Exibir coordenadas dos nós selecionados"; ru = "Показать координаты выбранных узлов"; }; url = "https://github.com/mekkablue/ShowCoordinatesOfSelectedNodes"; }, { descriptions = { en = "*View > Show Component Order* (de: *Reihenfolge der Komponenten anzeigen,* fr: *Afficher ordre des composants,* es: *Mostrar orden de componentes*) displays components in different colors depending on the order of the component. This way, you can step through your component-based glyphs (fn-arrows or Home/End on large keyboards), or open them all in a tab, and quickly spot an order mistake."; ru = "*Просмотр > Показать порядок компонентов*—показывает компоненты разными цветами в зависимости от их порядка. Вы можете перебирать глифы, основанные на компонентах (fn-arrows или Home/End на больших клавиатурах), или открыть их все на вкладке и быстро заметить ошибку."; }; path = ShowComponentOrder.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowComponentOrder/master/ShowComponentOrder.png"; titles = { de = "Reihenfolge der Komponenten anzeigen"; en = "Show Component Order"; es = "Mostrar orden de componentes"; fr = "Afficher ordre des composants"; ru = "Показать порядок компонентов"; }; url = "https://github.com/mekkablue/ShowComponentOrder"; }, { descriptions = { en = "*View > Show Angled Handles* (de: *Schräge Anfasser anzeigen*, es: *Mostrar manejadores inclinados*, fr: *Afficher les poignées inclinées*, zh: ⚖️路径检查工具) highlights BCPs (‘handles’) which are not horizontal or vertical, quite-but-not-completely-straight line segments, duplicate path segments, crossed handles, and zero handles. Options in the context menu."; ru = "*Просмотр > Показать угловые усики*—выделяет BCP (рукоятку рычага), которые не являются горизонтальными или вертикальными (вполне, но как бы не полностью) прямые сегменты линий, дублирующие сегменты пути, перекрещенные рычаги (усики) и нулевые рычаги. Варианты—в контекстном меню."; }; donationURL = "https://ko-fi.com/mekkablue"; path = ShowAngledHandles.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowAngledHandles/master/ShowAngledHandles.png"; titles = { de = "Schräge Anfasser anzeigen"; en = "Show Angled Handles"; es = "Mostrar manejadores inclinados"; fr = "Afficher les poignées inclinées"; zh = "⚖️路径检查工具"; ru = "Показать угловые рычаги"; }; url = "https://github.com/mekkablue/ShowAngledHandles"; }, { descriptions = { en = "*Filter > Retractor* (de: *Retraktor,* fr: *Retracteur,* es: *Retractor,* zh: 📐直线化) deletes (‘retracts’) all Bézier control points (a. k. a. BCPs, handles), making sure only straight line segments remain. This can be useful if you want to be certain that accidentally added curve segments are removed in designs where this is necessary, or when you want to simplify a vectorisation with many small curve segments."; ru = "*Фильтр > Извлекатель* удаляет («втягивает») все точки на кривой Безье (они же ВСР, рукоятки рычага), при этом остаются только сегменты прямых линий. Это уместно, если вы хотите быть уверены, что случайно добавленные сегменты кривых будут удалены в проектах, где это необходимо, или когда вы хотите упростить векторизацию с большим количеством небольших сегментов кривых."; }; path = Retractor.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Retractor/master/Retractor.png"; titles = { de = Retraktor; en = Retractor; es = Retractor; fr = Retracteur; zh = "📐直线化"; ru = "Извлекатель"; }; url = "https://github.com/mekkablue/Retractor"; }, { descriptions = { en = "*Filter > Fix Zero Handles* (de: *Null-Anfasser beheben,* fr: *Corriger les poignées rétractées,* es: *Corregir manejadores cero,* zh: 🍭修正单摇臂) analyses the path structure of selected layers and will rearrange path segments that contain completely retracted handles, a. k. a. ‘zero handles’. Zero handles typically appear in outlines imported from other vector apps, such as Adobe Illustrator. Zero handles are considered bad style, or even an error, and can cause a range of problems, especially when you are trying to convert your outlines to TrueType curves."; ru = "*Фильтр > Править нулевые рычаги* анализирует структуру контура выбранных слоев и переставляет сегменты контура, содержащие полностью убранные рычаги (усики), они же «нулевые рычаги». Нулевые рычаги обычно появляются на контурах, импортированных из других векторных приложений, таких как Adobe Illustrator. Нулевые рычаги считаются ошибкой и могут вызвать ряд проблем, особенно при попытке преобразования контуров в кривые TrueType."; }; donationURL = "https://ko-fi.com/mekkablue"; path = FixZeroHandles.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/FixZeroHandles/master/FixZeroHandles.png"; titles = { de = "Null-Anfasser beheben"; en = "Fix Zero Handles"; es = "Corregir manejadores cero"; fr = "Corriger les poignées rétractées"; zh = "🍭修正单摇臂"; ru = "Править нулевые рычаги"; }; url = "https://github.com/mekkablue/FixZeroHandles"; }, { title = Disguiser; descriptions = { en = "*Filter > Disguiser* replaces the layer with a rectangle covering its bounds. This is useful for sharing files that contain sensitive designs. If invoked on a partial selection, the Disguiser will place a rectangle only over the selected parts."; ru = "*Фильтр > Маскировка* заменяет слой с глифом прямоугольником, охватывающим его границы. Это может пригодиться при совместном использовании файлов, содержащих конфиденциальные рисунки. При частичном выделении «Маскировка» поместит прямоугольник только на выделенные части."; }; path = Disguiser.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Disguiser/master/Disguiser.png"; url = "https://github.com/mekkablue/Disguiser"; }, { descriptions = { en = "*Filter > Cut and Shake* (de: *Schneiden und schütteln,* fr: *Couper et secouer,* es: *Cortar y agitar,* zh: 🤺碎片化) exercises cuts across selected glyphs, and then both moves and rotates the resulting parts by random amounts, for which the user can specify maximums."; ru = "*Фильтр > Разрезать и встряхнуть* разрезает выбранные глифы, а затем перемещает и поворачивает получившиеся части на случайную величину, для которой пользователь может указать максимальное значение."; }; path = CutAndShake.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/CutAndShake/master/CutAndShake.png"; titles = { de = "Schneiden und schütteln"; en = "Cut and Shake"; es = "Cortar y agitar"; fr = "Couper et secouer"; zh = "🤺碎片化"; ru = "Разрезать и встряхнуть"; }; url = "https://github.com/mekkablue/CutAndShake"; }, { descriptions = { en = "*Filter > BroadNibber* (fr: *Traceur,* de: *Mit Breitfeder nachziehen,* es: *Trazar con pluma chata,* zh: *✒️扁头笔风格化*) turns monolines of all selected glyphs into broad-nib strokes."; ru = "*Фильтр > Широкое перо* превращает монолинии всех выбранных глифов в штрихи широким пером."; }; path = BroadNibber.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/BroadNibber/master/BroadNibber.png"; titles = { de = "Mit Breitfeder nachziehen"; en = BroadNibber; es = "Trazar con pluma chata"; fr = Traceur; zh = "✒️扁头笔风格化"; ru = "Широкое перо"; }; url = "https://github.com/mekkablue/BroadNibber"; }, { descriptions = { en = "*Filter > Insert Inflections* (de: *Inflektionspunkte einfügen,* fr: *Ajouter les points d’inflexion,* es: *Agregar puntos de inflexión,* zh: 🎢曲线拐点) inserts nodes on all inflections of all selected glyphs. This is useful for monoline workflows, where inflected paths need to be expanded to a closed stroke; and for conversion into TrueType outlines."; ru = "*Фильтр > Вставить узлы на изгибах* вставляет узлы на изгибах всех выбранных глифов. Это полезно при работе с монолинией, когда изгибы необходимо расширить до замкнутого штриха, а также при преобразовании в контуры TrueType."; }; path = InsertInflections.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/InsertInflections/master/InsertInflections.png"; titles = { de = "Inflektionspunkte einfügen"; en = "Insert Inflections"; es = "Agregar puntos de inflexión"; fr = "Ajouter les points d’inflexion"; zh = "🎢曲线拐点"; ru = "Вставить узлы на изгибах"; }; url = "https://github.com/mekkablue/InsertInflections"; }, { descriptions = { en = "*Filter > Inverter* (en: *Inverter,* de: *Umkehren,* fr: *Inverter,* es: *Invertar,* it: *Invertire,* pt: *Inverter*) provides a GUI for inverting glyphs. It puts an enclosing rectangle around your glyphs, slanted to the italic angle. You can set the top and bottom edge, as well as its overlap beyond its sidebearings."; ru = "*Фильтр > Инвертер* — графический интерфейс для инвертирования глифов. Он помещает вокруг глифов прямоугольник, наклоненный под углом к курсиву. Вы можете задать верхний и нижний край, а также его перекрытие по боковыми границам."; }; path = Inverter.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Inverter/master/Inverter.png"; titles = { de = Umkehren; en = Inverter; es = Invertar; fr = Inverte; it = Invertire; pt = Inverter; ru = "Инвертер"; }; url = "https://github.com/mekkablue/Inverter"; }, { descriptions = { en = "*Filter > Layer Geek* provides a GUI for batch-executing Python and PyObjC methods on selected layers. For an overview of what you can do, click on the GitHub link:"; ru = "*Фильтр > Помешанный на слоях* — графический интерфейс для пакетного выполнения методов Python и PyObjC на выбранных слоях. Чтобы посмотреть, как вы можете его применить, нажмите на ссылку GitHub:"; }; path = LayerGeek.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/LayerGeek/master/LayerGeek.png"; titles = { en = "Layer Geek"; ru = "Помешанный на слоях"; }; url = "https://github.com/mekkablue/LayerGeek"; }, { descriptions = { en = "*Filter > Noodler* (de: *Nudler*, fr: *Nouilleur*, es: *Fileteador*, zh: 🍜等线圆体) turns monolines of all selected glyphs into noodles with rounded stroke endings."; ru = "*Фильтр > Лапшичная* превращает монолинии всех выбранных глифов в «лапшу» с закругленными окончаниями штрихов."; }; donationURL = "https://ko-fi.com/mekkablue"; path = Noodler.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Noodler/master/Noodler.png"; titles = { de = Nudler; en = Noodler; es = Fileteador; fr = Nouilleur; zh = "🍜等线圆体"; ru = "Лапшичная"; }; url = "https://github.com/mekkablue/Noodler"; }, { branch = Glyphs3; descriptions = { en = "*View > Show Node Count* Does what the name says 😅."; ru = "*Просмотр > Показать количество узлов* — здесь и так всё понятно 😅."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = ShowNodeCount.glyphsReporter; screenshot = "https://github.com/Mark2Mark/Glyphsapp-Plugins/raw/Screenshots/ShowNodeCount/Screenshots/ShowNodeCount_Mark-Froemberg.gif"; titles = { en = "Show Node Count"; ru = "Показать количество узлов"; }; url = "https://github.com/Mark2Mark/Show-Node-Count"; }, { descriptions = { en = "*View > Show Rotated* Superimposes the current glyph as a rotated copy of itself. Context Menu slider to adjust the rotation angle."; ru = "*Просмотр > Показывать повернутым* — накладывает на текущий глиф его повернутую копию. Ползунок контекстного меню для регулировки угла поворота."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = ShowRotated.glyphsReporter; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Glyphsapp-Plugins/Screenshots/ShowRotated/Screenshots/ShowRotated03_Mark-Froemberg.gif"; titles = { en = "Show Rotated"; }; url = "https://github.com/Mark2Mark/Show-Rotated"; }, { descriptions = { en = "*View > Show Siblings* Superimposes a group of predefined glyphs in the background of your letters. This can be both pretty helpful in the beginning of a design as well as at intermediate progress where quick proof overview is needed. The degree of a desired match depends on each design, of course. Current Scripts: Latin, Greek, Cyrillic and »Twins« (glyph alternates like *g.ss01* or *g.alt.*"; ru = "*Просмотр > Показать «родственников»* накладывает группу определенных «родственных» глифов на фон ваших букв. Может пригодиться в начале работы над дизайном, так и на промежуточных этапах, когда требуется быстрый просмотр и проверка. Но степень желаемого совпадения, конечно, зависит от определенного дизайна шрифта. Текущие шрифты: Латинский, Греческий, Кириллица и глифы «близнецы» (альтернативные глифы, например *g.ss01* или *g.alt.*)."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = ShowSiblings.glyphsReporter; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Glyphsapp-Plugins/Screenshots/ShowSiblings/Screenshots/screencapDemoFont.gif"; titles = { en = "Show Siblings (Light)"; }; url = "https://github.com/Mark2Mark/Show-Siblings"; }, { descriptions = { en = "*View > Sync Tabs* (de: *Tabs synchron halten,* fr: *Synchroniser les onglets,* es: *Sincronizar pestañas*) keeps the current tabs of all open fonts in sync with the currently active tab. In **realtime!**"; ru = "*Просмотр > Синхронизация вкладок* синхронизирует текущие вкладки всех открытых шрифтов с текущей активной вкладкой **в реальном времени**"; }; donationURL = "https://ko-fi.com/M4M580HG"; path = SyncTabs.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Synced-Tabs/master/Images/SyncedTabs_Gintronic_MarkFroemberg_still.png"; titles = { de = "Tabs synchron halten"; en = "Sync Tabs"; es = "Sincronizar pestañas"; fr = "Synchroniser les onglets"; ru = "Синхронизация вкладок"; }; url = "https://github.com/Mark2Mark/Synced-Tabs"; }, { descriptions = { en = "*View > Show Blindfold* (de: *Blenden anzeigen,* fr: *Afficher bandeaux,* es: *Mostrar vendas*) blackens out everything beyond the xHeight (or Cap-Height --> option in context menu). Useful for Spacing and Kerning because the visible leftover is what matters the most here."; ru = "*Просмотр > Показать границы по высоте знаков* затемняет все, что выходит за пределы высоты строчных (или Высоты прописных в контекстном меню). Полезно для интервалов и кернинга, так как видимый остаток—это то, что имеет наибольшее значение."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = BlindFold.glyphsReporter; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Glyphsapp-Plugins/11561cf20d110e314943e6294edf47defbdb73bc/Screenshots/UncoverXHeight/UcXh%2001.png?raw=true"; titles = { de = "Blenden anzeigen"; en = "Show Blindfold"; es = "Mostrar vendas"; fr = "Afficher bandeaux"; ru = "Показать границы по высоте знаков"; }; url = "https://github.com/Mark2Mark/Blindfold"; }, { descriptions = { en = "*BlindFold Neue* (zh: 眼罩 Neue) is a forked version of Blindfold. It covers the boundary of the glyphs. Useful for CJK font design."; ru = "*Новый Blindfold* это ответвление версии Blindfold (границы по высоте знаков) — закрывает границы глифов. Полезен для проектирования шрифтов Китай-Япония-Корея."; }; path = "BlindFold Neue.glyphsReporter"; screenshot = "https://user-images.githubusercontent.com/18233088/74555875-a8de0500-4f97-11ea-9b36-7afae6b74cbe.png"; titles = { en = "BlindFold Neue"; zh = "眼罩 Neue"; ru = "Новый Blindfold"; }; url = "https://github.com/3type/Blindfold-Neue"; }, { descriptions = { en = "*CJK Metrics* (zh: 汉字度量) shows mertics used in CJK font design, including medial axes (水平垂直轴线), central area (第二中心区域), CJK guide (汉字参考线), etc."; ru = "*Метрики для Китай-Япония-Корея* показывает метрики, используемые в дизайне шрифтов Китай-Япония-Корея, включая медиальные оси (水平垂直轴线), центральную область (第二中心区域), направляющие К-Я-К (汉字参考线) и т.д."; }; path = "CJK Metrics.glyphsReporter"; screenshot = "https://raw.githubusercontent.com/3type/CJK-Metrics/master/demo.png"; titles = { en = "CJK Metrics"; zh = "汉字度量"; ru = "Метрики для Китай-Япония-Корея"; }; url = "https://github.com/3type/CJK-Metrics"; }, { descriptions = { en = "*Window > Arrange Windows* does just what it says.\n**Options:**\n*Arrange Windows & Macro Panel* [Option Key].\n*Arrange Windows On Screens* [Shift Key] if 2 Fonts and 2 Screens are present."; ru = "*Просмотр > Упорядочить окна* — делает то, что написано :) \n**Варианты:**\n*Упорядочить окна и панель макросов* [Option Key].\n*Расположить окна на экране* [клавиша Shift], если присутствуют 2 шрифта и 2 экрана."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = ArrangeWindows.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/Mark2Mark/ArrangeWindows/master/ArrangeWindows.gif"; titles = { en = "Arrange Windows"; ru = "Упорядочить окна"; }; url = "https://github.com/Mark2Mark/ArrangeWindows"; }, // { // path = "Presenter.glyphsReporter"; // titles = { // en = "Presenter (Free)"; // ru = "Презентатор (бесплатно)"; // }; // url = "https://github.com/Mark2Mark/Presenter-Free"; // descriptions = { // en = "Let your fonts shine in all glory to present them and save as image in seconds.\nUnlock tons of more features in the [Pro Version](https://markfromberg.com/projects/presenter/) "; // ru = "Ваши шрифты будут сиять во всей красе, чтобы презентовать их и сохранить как изображение за считанные секунды.\nРазблокируйте множество дополнительных функций в [версии Pro](https://markfromberg.com/projects/presenter/)"; // }; // donationURL = "https://ko-fi.com/M4M580HG"; // screenshot = "https://raw.githubusercontent.com/Mark2Mark/Presenter-Free/master/images/Presenter-000-markFromberg.png"; // }, { descriptions = { en = "*View > Show Label Color* (de: *Etikettenfarbe anzeigen,* fr: *Afficher couleur d’etiquette,* es: *Mostrar color de etiqueta*) displays each glyphs’s Label Color in the edit tab. Full width or left: glyph color, right: layer color."; ru = "*Просмотр > Показать цвет этикетки* отображает цвет метки каждого глифа на вкладке редактирования. По всей ширине или слева: цвет глифа, справа: цвет слоя."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = LabelColor.glyphsReporter; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Show-Label-Color/d054d4d05d6f16b2be49f055f2b06b27725b81c8/Screenshots/Show%20Label%20Color%2001.png?raw=true"; titles = { de = "Etikettenfarbe anzeigen"; en = "Show Label Color"; es = "Mostrar color de etiqueta"; fr = "Afficher couleur d’etiquette"; ru = "Показать цвет метки"; }; url = "https://github.com/Mark2Mark/Show-Label-Color"; }, { branch = Glyphs3; descriptions = { en = "Adds a menu to the Palette, which gives you instant access to all your reporter plugins. Quick’n’easy on/off switching with just a single click."; ru = "Добавляет меню в палитру, которая дает вам мгновенный доступ ко всем вашим плагинам-отчетам. Быстрое и простое включение/выключение одним щелчком мыши."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = ReporterToggler.glyphsPalette; screenshot = "https://github.com/Mark2Mark/Reporter-Toggler/blob/Glyphs3/Images/Plugin%20Manager%20-%20Reporter%20Toggler.jpg?raw=true"; titles = { en = "Reporter Toggler"; ru = "Переключатель"; }; url = "https://github.com/Mark2Mark/Reporter-Toggler"; }, { descriptions = { en = "*View > Show Kerning Groups* displays all members of the currently active glyph’s kerning group to either side in miniature and realtime. Useful when setting up kerning groups and getting visual feedback right away. If you see elements sticking out of the right group, you know there might be a group member set wrong. Same for the left side. It is somehow related to the built-in feature \"Show Group Members\" by Georg Seifert, but this one does not need the caret to sit between a certain pair."; ru = "*Просмотр > Показать кернинг группы* отображает всех членов кернинговой группы активного глифа в миниатюре и в реальном времени. Может пригодится при настройке групп кернинга и получении визуального фидбека. Если вы видите элементы, торчащие из правой группы, вы знаете, что член группы может быть установлен неправильно. То же самое для левой стороны. Это как-то связано со встроенной функцией \"Показать членов группы\" от Georg Seifert и эта функция не требует, чтобы знак вставки находился между определенной парой."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = ShowKerningGroups.glyphsReporter; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Show-Kerning-Group-Reference/12fd9ffaa0447f742dabce60a407ece582e1d6b2/Screenshots/KGR%2001.png?raw=true"; titles = { en = "Show Kerning Groups"; ru = "Показать кернинговые группы"; }; url = "https://github.com/Mark2Mark/Show-Kerning-Group-Reference"; }, { descriptions = { en = "*View > Show Next Font* shows in a light orange colour the same glyph of another opened font. It could be useful for visual comparison of italics with normal styles,or different versions of the same font."; ru = "*Просмотр > Показать следующий шрифт* показывает светло-оранжевым цветом тот же глиф и другого открытого шрифта. Можно применять для визуального сравнения курсива с обычным начертанием или разными версиями одного и того же шрифта."; }; donationURL = "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=NXQFEWCXXJABE&lc=US"; path = ShowNextFont.glyphsReporter; screenshot = "https://raw.githubusercontent.com/guidoferreyra/ShowNextFont/master/screen-nextfont.png"; titles = { en = "Show Next Font"; ru = "Показать следующий шрифт"; }; url = "https://github.com/guidoferreyra/ShowNextFont"; }, { descriptions = { en = "*View > Show Anchors Compatibility* is a complementary tool for Show Masters compatibility for those cases where the masters are not compatible because the absence of wrong naming of an anchor. The plugin displays a red circle behind the anchor that is not present in all masters."; ru = "*Просмотр > Показать совместимость якорей* — это дополнительный инструмент для «Показать совместимость мастеров» для тех случаев, когда мастера не совместимы из-за отсутствия неправильного якоря. Плагин отображает красный круг за якорем, который присутствует не во всех мастерах."; }; donationURL = "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=NXQFEWCXXJABE&lc=US"; path = ShowAnchorsCompatibility.glyphsReporter; screenshot = "https://raw.githubusercontent.com/guidoferreyra/ShowAnchorsCompatibility/master/screen-anchorscompat.png"; titles = { en = "Show Anchors Compatibility"; ru = "Показать совместимость якорей"; }; url = "https://github.com/guidoferreyra/ShowAnchorsCompatibility"; }, { descriptions = { en = "*View > Show Next Font Anchors* shows in a light orange colour the list of anchors used in the glyph of the next font and in gray colour the list of current font anchors.\nIf anchors names and quantity matches between fonts it display the word \"OK\" in green. Useful to compare versions of fonts or regular vs italics."; ru = "*Просмотр > Показать якоря следующего шрифта* показывает в светло-оранжевом цвете список якорей, используемых в глифе следующего шрифта, а в сером цвете - список якорей текущего шрифта.\nЕсли имена и количество якорей в разных шрифтах совпадают, то на экране появляется слово \"OK\" зелёного цвета. Полезно для сравнения шрифтов обычного и курсивного начертания."; }; path = ShowNextFontAnchors.glyphsReporter; screenshot = "https://raw.githubusercontent.com/guidoferreyra/ShowNextFontAnchors/master/screen-nextfontanchors.png"; titles = { en = "Show Next Font Anchors"; ru = "Показать якоря следующего шрифта"; }; url = "https://github.com/guidoferreyra/ShowNextFontAnchors"; }, { descriptions = { en = "*View > Show Coordinates* is similar to the Measurement tool, but it constantly displays the node coordinates and the handles' delta values."; ru = "*Просмотр > Показать координаты* аналогичен инструменту Измерение, но он постоянно отображает координаты узлов и опорных точек (усов)."; }; donationURL = "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=NXQFEWCXXJABE&lc=US"; path = showCoordinates.glyphsReporter; screenshot = "https://raw.githubusercontent.com/guidoferreyra/showCoordinates/master/screen-coordinates.png"; titles = { en = "Show Coordinates"; ru = "Показать координаты"; }; url = "https://github.com/guidoferreyra/showCoordinates"; }, { descriptions = { en = "*Glyph > Kernkraft* and *Glyph > Kernschmelze* by Mark Frömberg (Mark2Mark). Kenrkraft simplifies the process of accessing all the glyph pairs provided by your font, regardless of the size of the character set. Easily navigate through the glyphs with the keyboard arrows (←, →) and Enter key (⏎), while the tool automatically marks the completed glyphs in a convenient TODO list.\n\nKernschmelze interpolates the kerning of two masters."; }; path = Kernkraft.glyphsPlugin; dependencies = ( vanilla ); screenshot = "https://raw.githubusercontent.com/bBoxType/Kernkraft/master/Kernkraft%2002.png"; titles = { en = "Kernkraft"; }; url = "https://github.com/bBoxType/Kernkraft"; }, { descriptions = { en = "*View > Show Stems* (de: *Stämme anzeigen,* fr: *Afficher les traits,* es: *Mostrar astas*) shows a measurement line (even in edit mode) with all distances between the outlines. If any distance matches the saved metrics in the Glyphs Palette, it will highlight in green and tell you which one it matches. The vertical position is attached to the Glyphsapp measurement line and can be moved around the same way.\nShortcut: Cmd-Opt-Ctrl-S (like **S**tems)"; ru = "*Просмотр > Показать стемы* показывает линию измерения (даже в режиме редактирования) со всеми расстояниями между контурами. Если какое-либо расстояние соответствует сохраненным показателям в палитре глифов, оно будет выделено зеленым цветом и сообщит вам, какое из них соответствует. Вертикальное положение привязано к линии измерения Glyphsapp и может перемещаться таким же образом.\nЯрлык: Cmd-Opt-Ctrl-S (как **S**tems)."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = ShowStems.glyphsReporter; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Show-Stems/master/Images/Show%20Stems%2003.png"; titles = { de = "Stämme anzeigen (Light)"; en = "Show Stems (Light)"; es = "Mostrar astas (Light)"; fr = "Afficher les traits (Light)"; ru = "Показать стемы (Light)"; }; url = "https://github.com/Mark2Mark/Show-Stems"; }, { titles = { en = Erode; }; descriptions = { en = "*Filter > Erode* simulates wear and tear on your glyphs by rubbing away random bits of the outlines, especially around corners."; ru = "*Фильтр > Эффект эрозии* имитирует потёртость глифов, стирая в случайном порядке фрагменты контуров, особенно вокруг углов."; }; path = Erode.glyphsFilter; screenshot = "https://raw.githubusercontent.com/simoncozens/Erode/master/Erode.png"; url = "https://github.com/simoncozens/Erode"; }, { titles = { en = Unitizer; }; descriptions = { en = "*View > Show Unitizer* displays unit guidelines in the background (corresponding to a value that you can configure at will) of the current glyph in Edit view. This is helpful for working in unitized fonts."; ru = "*Просмотр > Показать Unitizer* отображает направляющие единицы в фоновом режиме (соответствующем значению, которое вы можете настроить по желанию) текущего глифа в режиме редактирования. Это полезно для работы с унифицированными шрифтами."; }; path = Unitizer.glyphsReporter; screenshot = "https://raw.githubusercontent.com/impallari/Unitizer/master/unitizer01.png"; url = "https://github.com/schriftgestalt/Unitizer"; }, { descriptions = { en = "*View > Show Node Indexes* (fr: *Afficher numéros des nœuds,* es: *listado de nodos,* de: *Indexnummern*) shows index numbers for the current glyph in Edit view. Toggle display of BCP indexes via context menu."; ru = "*Просмотр > Показать индексы узлов* показывает номера индексов для текущего глифа в режиме редактирования. Переключение отображения индексов BCP через контекстное меню."; }; path = ShowNodeIndexes.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowNodeIndexes/master/ShowNodeIndexes.png"; titles = { de = "Indexnummern anzeigen"; en = "Show Node Indexes"; es = "Mostrar listado de nodos"; fr = "Afficher numéros des nœuds"; ru = "Показать индексы узлов"; }; url = "https://github.com/mekkablue/ShowNodeIndexes"; }, { descriptions = { en = "*Filter > Delete Small Paths* (es: *Borrar trazados pequeños*, de: *Kleine Pfade löschen*, fr: *Supprimer les petits tracés*) deletes all paths smaller than a threshold value in square units. It can be useful for cleaning up glyphs from vector debris."; ru = "*Фильтр > Удалить небольшие пути* — удаляет все пути меньше порогового значения в квадратных единицах. Это может быть полезно для очистки глифов от векторного мусора."; }; path = DeleteSmallPaths.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/DeleteSmallPaths/master/DeleteSmallPaths.png"; titles = { de = "Kleine Pfade löschen"; en = "Delete Small Paths"; es = "Borrar trazados pequeños"; fr = "Supprimer les petits tracés"; ru = "Удалить небольшие пути"; }; url = "https://github.com/mekkablue/DeleteSmallPaths"; }, { descriptions = { en = "*View > Show Rekha* shows a Rekha line in Bengali, Devanagari and Gurmukhi letters. It takes its values from a custom parameter in *File > Font Info > Masters* called *Rekha*, with comma-separated values for height, thickness and overshoot. If a *rekha* anchor is present in the glyph, it will use it as the left edge of the Rekha line."; ru = "*Просмотр > Показать Rekha* показывает линию Rekha (горизонтальный элемент) в буквах бенгальского языка, деванагари и гурмукхи. Она берет свои значения из кастомного параметра в *Файл > Информация о шрифте > Мастера* под названием *Rekha*, со значениями высоты, толщины и проскакивание, разделенными запятыми. Если в глифе присутствует якорь *rekha*, он будет использоваться в качестве левого края линии Rekha."; }; path = RekhaViewer.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/Rekha/master/RekhaViewer.png"; titles = { en = "Rekha Viewer"; }; url = "https://github.com/mekkablue/Rekha"; }, { descriptions = { en = "*Filter > RekhaMaker* inserts a Rekha line in Bengali, Devanagari and Gurmukhi letters. Supply values for height, thickness and overshoot, and press the *Insert* button. If a *rekha* anchor is present in the glyph, it will use it as the left edge of the Rekha line."; ru = "*Фильтр > RekhaMaker* вставляет линию Rekha из букв бенгальского языка, деванагари и гурмукхи. Задайте значения высоты, толщины и проскакивания и нажмите кнопку *Вставить*. Если в глифе присутствует якорь *rekha*, он будет использоваться в качестве левого края линии Rekha."; }; path = RekhaMaker.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Rekha/master/RekhaMaker.png"; titles = { en = "Rekha Maker"; }; url = "https://github.com/mekkablue/Rekha"; }, { descriptions = { en = "*Filter > Remove Kerning Exceptions* (de: *Kerning-Ausnahmen entfernen,* fr: *Supprimer les exceptions de crénage,* es: *Borrar excepciones de kerning*) removes all kerning exception of selected glyphs in the current master, leaving group kerning intact. Its true power lies in its application as custom parameter. This can be useful in situations where you change the shape of a letter with a *Rename Glyphs* parameter, and its kerning exceptions do not apply anymore."; ru = "*Фильтр > Устранение исключений кернинга* удаляет все исключения кернинга выбранных глифов в текущем мастере, оставляя групповой кернинг нетронутым. Его особенность - применение этого параметра в качестве пользовательского параметра. Это полезно в ситуациях, когда вы меняете форму буквы с помощью параметра *Rename Glyphs* - и к нему исключения кернинга больше не применяются."; }; path = RemoveKerningExceptions.glyphsFilter; titles = { de = "Kerning-Ausnahmen entfernen"; en = "Remove Kerning Exceptions"; es = "Borrar excepciones de kerning"; fr = "Supprimer les exceptions de crénage"; ru = "Устранение исключений кернинга"; }; url = "https://github.com/mekkablue/RemoveKerningExceptions"; }, { titles = { en = Heatmap; }; branch = "build-glyphs3"; descriptions = { en = "*View > Show Heatmap* visualizes the thickness of glyph stems, helping you to create even and consistent curves."; ru = "*Просмотр > Показать тепловую карту* визуализирует толщину стемов глифов, помогая создавать ровные и гармоничные кривые."; }; path = Heatmap.glyphsReporter; screenshot = "https://raw.githubusercontent.com/simoncozens/Heatmap/master/heatmap.png"; url = "https://github.com/simoncozens/Heatmap"; }, { descriptions = { en = "*View > Stem Thickness* (de: *Stammstärke anzeigen,* fr: *Afficher l’épaisseur de traits,* es: *Mostrar espesor,* jp: *ステムの太さ*) shows how thick the stem is at the current mouse position."; ru = "*Просмотр > Толщина стемов* показывает толщину стема в текущей позиции мыши."; }; path = StemThickness.glyphsReporter; screenshot = "https://raw.githubusercontent.com/RafalBuchner/StemThickness/master/images/ilu_StemThickness.png"; titles = { de = "Stammstärke anzeigen"; en = "Show Stem Thickness"; es = "Mostrar espesor"; fr = "Afficher l’épaisseur de traits"; ja = "ステムの太さ"; ru = "Толщина стемов"; }; url = "https://github.com/RafalBuchner/StemThickness"; }, { descriptions = { en = "Adds Glyph Note (de: *Glyphennotiz,* es: *Nota de glifo,* fr: *Notes du glyphe*) to your Palette (Cmd-Opt-P), displaying the notes for the currently selected glyph(s)."; ru = "Добавляет примечание к глифу в палитру (Cmd-Opt-P), отображая примечания для выбранного в данный момент глифа(ов)."; }; path = GlyphNote.glyphsPalette; screenshot = "https://raw.githubusercontent.com/mekkablue/NotePalettes/master/NotePlugins.png"; titles = { de = Glyphennotiz; en = "Glyph Note"; es = "Nota de glifo"; fr = "Notes du glyphe"; ru = "Примечания к глифу"; }; url = "https://github.com/mekkablue/NotePalettes"; }, { descriptions = { en = "*Filter > Make Corner* (de: *Ecke herstellen,* es: *Generar esquina,* fr: *Générer coin*) reverses the functionality of the Round Corner filter, and turns curves into corners again."; ru = "*Фильтр > Сделать угол* реверсирует фильтр «Скругленный угол» и снова превращает кривые в углы."; }; path = MakeCorner.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/MakeCorner/master/MakeCorner.png"; titles = { de = "Ecke herstellen"; en = "Make Corner"; es = "Generar esquina"; fr = "Générer coin"; ru = "Сделать угол"; }; url = "https://github.com/mekkablue/MakeCorner"; }, { descriptions = { en = "Installs an icon into the bottom toolbar and draws a preview of the underline according to the parameters *underlineThickness* and *underlinePosition* in *File > Font Info > Masters*."; ru = "Устанавливает значок на нижнюю панель инструментов и рисует превью подчеркивания в соответствии с параметрами *underlineThickness* и *underlinePosition* в *Файл > Информация о шрифте > Мастера*."; }; path = ShowUnderline.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/schriftgestalt/ShowUnderline/master/Screenshot.png"; titles = { en = "Show Underline"; ru = "Показать подчеркивание"; }; url = "https://github.com/schriftgestalt/ShowUnderline"; }, { descriptions = { en = "Tool for extruding selected path segments inwards or outwards. Great for quick, destructive path editing."; ru = "Инструмент для выдавливания выбранных сегментов пути внутрь или наружу. Отлично подходит для быстрого, разрушительного редактирования пути."; }; path = ExtrudeTool.glyphsTool; screenshot = "https://raw.githubusercontent.com/danielgamage/Extrude-Tool/master/images/screenshot.png"; titles = { en = "Extrude Tool"; ru = "Инструмент выдавливания"; }; url = "https://github.com/danielgamage/Extrude-Tool"; }, { branch = glyphs3; descriptions = { en = "*Filter > Trace Image* is a plugin to trace bitmap images into editable paths. You can choose between the [porace](http://potrace.sourceforge.net) and the [autotrace](http://autotrace.sourceforge.net) algorithm."; ru = "*Фильтр > Трассировка изображения* это плагин для трассировки растровых изображений в редактируемые пути. Вы можете выбрать между алгоритмом [porace](http://potrace.sourceforge.net) и [autotrace](http://autotrace.sourceforge.net)."; }; path = TraceImage.glyphsFilter; titles = { en = "Trace Image"; ru = "Трассировка изображения"; }; url = "https://github.com/schriftgestalt/GlyphsTracePlugin"; }, { descriptions = { en = "*View > Show Speed Punk.* Understand and improve your outlines with this curvature comb visualization."; ru = "*Просмотр > Показать Speed Punk.* Кривые с помощью визуализации волнами."; }; path = SpeedPunk.glyphsReporter; screenshot = "https://raw.githubusercontent.com/yanone/speedpunk/master/Resources/speedpunkglyphs.jpg"; titles = { en = "Speed Punk"; }; url = "https://github.com/yanone/speedpunk"; }, { descriptions = { en = "*View > Ligature Caret* (de: *Einfügemarken in Ligaturen anzeigen,* fr: *Afficher les curseurs dans les ligatures,* es: *Mostrar cursores en ligaturas*): Select a `caret` anchor to show the cursor position in ligatures as a vertical line. Be aware that most software doesn’t take note of the font’s italic angle."; ru = "*Просмотр > Положение курсора в лигатуре* — выберите якорь `caret`, чтобы показать положение курсора в лигатурах в виде вертикальной линии. Имейте в виду, что большинство программ не учитывают угол наклона курсива шрифта"; }; path = LigatureCaret.glyphsReporter; screenshot = "https://raw.githubusercontent.com/FAlthausen/LigatureCaret/master/LigatureCaretScreenshot.png"; titles = { de = "Einfügemarken in Ligaturen anzeigen"; en = "Ligature Caret"; es = "Mostrar cursores en ligaturas"; fr = "Afficher les curseurs dans les ligatures"; ru = "Положение курсора в лигатуре"; }; url = "https://github.com/FAlthausen/LigatureCaret"; }, { descriptions = { en = "Adds a simple pixel drawing tool to the toolbar. It needs a `pixel` glyph in the font. And it is advised to have set the fonts grid to the size of the pixel."; ru = "Добавляет простой инструмент рисования пикселей на панель инструментов. Он требует наличия в шрифте глифа `pixel`. Рекомендуется установить сетку шрифта в размере одного пикселя."; }; maxGlyphsVersion = "2.99"; path = PixelTool.glyphsTool; titles = { en = "Pixel Tool"; }; url = "https://github.com/schriftgestalt/PixelTool"; }, { descriptions = { en = "*View > Show Next Font Components* shows in a light orange colour the list of components used in the glyph of the next font and in gray colour the list of current font components. If anchors names and quantity matches between fonts it display the word \"OK\" in green."; ru = "*Просмотр > Показывать следующие компоненты шрифта* показывает светло-оранжевым цветом список компонентов, используемых в глифе следующего шрифта, а серым цветом - список компонентов текущего шрифта. Если имена и количество якорей совпадают в разных шрифтах, он отображает слово \"OK\" зелёным цветом."; }; donationURL = "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=NXQFEWCXXJABE&lc=US"; path = ShowNextFontComponents.glyphsReporter; screenshot = "https://raw.githubusercontent.com/guidoferreyra/ShowNextFontComponents/master/screen-nextfontcomponents.png"; titles = { en = "Show Next Font Components"; ru = "Показывать следующие компоненты шрифта"; }; url = "https://github.com/guidoferreyra/ShowNextFontComponents"; }, { descriptions = { en = "*Filter > Obfuscator* (de: *Verschleiern,* es: *Ofuscar,* fr: *Brouiller,* pt: *Ofuscar*) replaces glyphs for another one in the font. Useful for replacing glyphs in the demo versions of a font. See full readme on [the repository page](https://github.com/guidoferreyra/Obfuscator) for more info on how to use it."; }; donationURL = "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=NXQFEWCXXJABE&lc=US"; path = Obfuscator.glyphsFilter; screenshot = "https://raw.githubusercontent.com/guidoferreyra/Obfuscator/master/screen-obfuscator.png"; titles = { de = Verschleiern; en = Obfuscator; es = Ofuscar; fr = Brouiller; pt = Ofuscar; }; url = "https://github.com/guidoferreyra/Obfuscator"; }, { descriptions = { en = "Allows one to rotate the currently-selected glyph to preview it from multiple angles"; }; path = RotateView.glyphsPlugin; screenshot = "https://github.com/aaronbell/RotateView/raw/master/RotateView-1.png"; titles = { en = "Rotate View"; }; url = "https://github.com/aaronbell/RotateView"; }, { descriptions = { en = "*View > Show All Backgrounds* (de: *Alle Hintergründe,* es: *todos los fondos,* fr: *tous les arrière-plans*) displays the background layers of inactive glyphs in Edit view, i. e., all glyphs except the one currently open for editing. It displays paths in a pinkish color, components in a pastel orange. It works best if you disable *View > Fill Preview*."; }; path = ShowAllBackgrounds.glyphsReporter; screenshot = "https://github.com/mekkablue/ShowAllBackgrounds/raw/master/ShowAllBackgrounds.png"; titles = { de = "Alle Hintergründe anzeigen"; en = "Show All Backgrounds"; es = "Mostrar todos los fondos"; fr = "Afficher tous les arrière-plans"; }; url = "https://github.com/mekkablue/ShowAllBackgrounds"; }, { descriptions = { en = "*View > Show Crosshair* (de: *Fadenkreuz anzeigen*, es: *Mostrar cruz*, fr: *Afficher réticule*, jp: *カーソル照準*, zh: ✨显示准星线) displays a crosshair at your mouse coordinates. Use the context menu to access extra options: mouse coordinates in the lower left corner, hiding the crosshair when the mouse is not dragging, and showing intersection thicknesses."; }; path = ShowCrosshair.glyphsReporter; screenshot = "https://github.com/mekkablue/ShowCrosshair/raw/master/ShowCrosshair.png"; titles = { de = "Fadenkreuz anzeigen"; en = "Show Crosshair"; es = "Mostrar cruz"; fr = "Afficher réticule"; ja = "カーソル照準"; zh = "✨显示准星线"; }; url = "https://github.com/mekkablue/ShowCrosshair"; }, { descriptions = { en = "*View > Show Vertical Metrics* (de: *Vertikalmaße,* es: *métricas verticales,* fr: *Afficher mesures verticales*) displays vertical metric parameters set in *File > Font Info > Masters.*"; }; path = ShowVerticalMetrics.glyphsReporter; screenshot = "https://github.com/mekkablue/ShowVerticalMetrics/raw/master/ShowVerticalMetrics.png"; titles = { de = "Vertikalmaße anzeigen"; en = "Show Vertical Metrics"; es = "Mostrar métricas verticales"; fr = "Afficher mesures verticales"; }; url = "https://github.com/mekkablue/ShowVerticalMetrics"; }, { branch = glyphs3; descriptions = { en = "Take control of spacing values across your masters and instances."; }; path = SpaceBar.glyphsReporter; screenshot = "https://raw.githubusercontent.com/yanone/spacebar/master/spacebarglyphs.jpg"; titles = { en = "Space Bar"; }; url = "https://github.com/yanone/spacebar"; }, { descriptions = { en = "*View > Show Glyphs in Label Color* (de: *Glyphen in ihrer Etikettenfarbe anzeigen,* fr: *Afficher les glyphes dans leurs couleurs,* es: *Mostrar los glifos en sus colores*) displays glyphs in Edit view in their respective label color."; }; path = ShowGlyphsInLabelColor.glyphsReporter; screenshot = "https://github.com/mekkablue/ShowGlyphsInLabelColor/raw/master/ShowGlyphsInLabelColor.png"; titles = { de = "Glyphen in ihrer Etikettenfarbe anzeigen"; en = "Show Glyphs in Their Label Color"; es = "Mostrar los glifos en sus colores"; fr = "Afficher les glyphes dans leurs couleurs"; }; url = "https://github.com/mekkablue/ShowGlyphsInLabelColor"; }, { titles = { en = Speedlines; }; descriptions = { en = "*Filter > Speedlines* adds speedlines to your glyphs."; }; path = Speedlines.glyphsFilter; screenshot = "https://github.com/mekkablue/Speedlines/raw/master/Speedlines.png"; url = "https://github.com/mekkablue/Speedlines"; }, { descriptions = { en = "*View > Show Black Fill* (de = *Schwarze Füllung anzeigen,* fr = *Afficher remplissage noir,* es = *Mostrar relleno negro*) shows the outline in near-black colour. It is an alternative of Mekkablue’s *Show Filled Preview,* for those who want a darker and sharper version."; }; path = ShowBlackFill.glyphsReporter; screenshot = "https://github.com/Tosche/ShowBlackFill/raw/master/ShowBlackFill.png"; titles = { de = "Schwarze Füllung anzeigen"; en = "Show Black Fill"; es = "Mostrar relleno negro"; fr = "Afficher remplissage noir"; }; url = "https://github.com/Tosche/ShowBlackFill"; }, { titles = { en = Waterfall; }; descriptions = { en = "*Window > Waterfall* shows the font in different sizes. The text is independent of the Edit View Content. Massive thanks to Mark2Mark for the help!"; }; path = Waterfall.glyphsPlugin; screenshot = "https://github.com/Tosche/Waterfall/raw/master/Waterfall.png"; url = "https://github.com/Tosche/Waterfall"; }, { descriptions = { en = "Adds a palette displaying a user defined key for Glyphs’ colour labelling. \nRefer to the full readme ([github.com/HugoJourdan/labelKey](https://github.com/HugoJourdan/labelKey)) for information on how to use it."; }; path = LabelKey.glyphsPalette; screenshot = "https://github.com/HugoJourdan/labelKey/raw/master/labelKeyExample.png"; titles = { en = "Label Key"; }; url = "https://github.com/HugoJourdan/labelKey"; }, { descriptions = { en = "*Edit > Resolve All Metrics* updates all metrics across all masters and checks for bad metrics keys in a single step."; }; path = MetricsSolver.glyphsPlugin; screenshot = "https://github.com/jayKayEss/MetricsSolver/raw/master/Extras/screenshot.png"; titles = { en = "Metrics Solver"; }; url = "https://github.com/jayKayEss/MetricsSolver"; }, { descriptions = { en = "*Filter > Delete Short Segments* (de: *Kurze Segmente löschen,* es: *Borrar segmentos cortos,* fr: *Supprimer segments courts*) deletes segments from your paths that are shorter than a specified amount of units."; }; path = DeleteShortSegments.glyphsFilter; screenshot = "https://github.com/mekkablue/DeleteShortSegments/raw/master/DeleteShortSegments.png"; titles = { de = "Kurze Segmente löschen"; en = "Delete Short Segments"; es = "Borrar segmentos cortos"; fr = "Supprimer segments courts"; }; url = "https://github.com/mekkablue/DeleteShortSegments"; }, { descriptions = { en = "*View > Show Mark Preview* (de: *Akzent-Vorschau*, es: *previsualización de acentos*, fr: *Afficher aperçu des accents*) is a displays mark-to-base and mark-to-mark attachment with the letters and marks you type in Edit view."; }; path = ShowMarkPreview.glyphsReporter; screenshot = "https://github.com/mekkablue/ShowMarkPreview/raw/master/ShowMarkPreview.png"; titles = { de = "Akzent-Vorschau anzeigen"; en = "Show Mark Preview"; es = "Mostrar previsualización de acentos"; fr = "Afficher aperçu des accents"; }; url = "https://github.com/mekkablue/ShowMarkPreview"; }, { descriptions = { en = "*Glyph > Sync Metrics Keys* will automatically sync sidebearing changes in the editor view to any glyphs with a linked metrics key."; }; path = SyncMetricsKeys.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/underscoretype/glyphs-plugin-sync-metrics-keys/master/SyncMetricsKeys.png"; titles = { en = "Sync Metrics Keys"; }; url = "https://github.com/underscoretype/glyphs-plugin-sync-metrics-keys.git"; }, { titles = { en = Skedge; }; descriptions = { en = "*Window > Skedge* is a live python sketcher for Glyphsapp."; }; donationURL = "https://ko-fi.com/M4M580HG"; path = Skedge.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/Mark2Mark/Skedge/master/Images/Skedge%2003.gif"; url = "https://github.com/Mark2Mark/Skedge"; }, // { // path = "ShowStemRhythm.glyphsReporter"; // url = "https://github.com/Mark2Mark/Show-Stem-Rhythm"; // descriptions = { // en = "*View > Show Stem Rhythm* Displays a dynamic stem pattern. Useful for SEA scripts. Italic angle is not respected in this free version.\nMore info here:"; // }; // donationURL = "https://ko-fi.com/M4M580HG"; // screenshot = "https://raw.githubusercontent.com/Mark2Mark/show-stem-rhythm/master/Stem%20Rhythm%20-%20Mark%20Fromberg%2001.png"; // }, { titles = { en = Backuper; }; descriptions = { en = "A plugin that makes a copy of the file if opened in a new version of Glyphs"; }; path = Backuper.glyphsPlugin; url = "https://github.com/schriftgestalt/Backuper"; }, { descriptions = { en = "Set and display a grid that keeps different dimensions in different masters. Activate via *View > Show Master Grid*, edit or delete the grid via *Edit > Master Grid...*"; }; donationURL = "https://ko-fi.com/jenskutilek"; path = MasterGrid.glyphsReporter; screenshot = "https://raw.githubusercontent.com/jenskutilek/MasterGrid/master/Images/screenshot.png"; titles = { en = "Master Grid"; }; url = "https://github.com/jenskutilek/MasterGrid"; }, { descriptions = { en = "Nina Stössinger’s plug-in for generating sample texts"; }; path = "word-o-mat.glyphsPlugin"; screenshot = "https://raw.githubusercontent.com/schriftgestalt/word-o-mat/master/screenshotGlyphs.png"; titles = { en = "Word-o-Mat"; }; url = "https://github.com/schriftgestalt/word-o-mat"; }, { descriptions = { en = "*Filter > Rimmer* (de: *Umranden,* fr: *Déborder,* es: *Contornear,* pt: *Contornar,* zh: 🌈轮廓描边) adds rims around your glyphs."; }; path = Rimmer.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Rimmer/master/Rimmer.png"; titles = { de = Umranden; en = Rimmer; es = Contornear; fr = "Déborder"; pt = Contornar; zh = "🌈轮廓描边"; }; url = "https://github.com/mekkablue/Rimmer"; }, { dependencies = ( fontTools, vanilla ); descriptions = { en = "Nina Stössinger’s plug-in for finding touching/colliding glyph pairs."; }; path = Touche.glyphsPlugin; screenshot = "https://github.com/schriftgestalt/Touche/raw/master/screenshotGlyphs.png"; titles = { en = "Touché"; }; url = "https://github.com/schriftgestalt/Touche"; }, { descriptions = { en = "*Window > Image Frame* (de: *Bilderrahmen,* fr: *Cadre photo,* es: *Marco de imagen,* pt: *Moldura,* ja: 額縁, ko: 액자, zh: 画框) keeps your favourite images for inspiration during work in this simple always-on-top window. Drag and drop to set a new image."; }; path = ImageFrame.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/dyyybek/ImageFrame/master/screenshot.png"; titles = { de = Bilderrahmen; en = "Image Frame"; es = "Marco de imagen"; fr = "Cadre photo"; ja = "額縁"; ko = "액자"; pt = Moldura; zh = "画框"; }; url = "https://github.com/dyyybek/ImageFrame"; }, { descriptions = { en = "*View > Show Segment Lengths* (de: *Segmentlängen anzeigen*, fr: *Afficher longueurs de segments*, es: *Mostrar longitudos de segmentos*) displays the approximate lengths of each path segment of the current glyph."; }; path = SegmentLength.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/SegmentLength/master/SegmentLength.png"; titles = { de = "Segmentlängen anzeigen"; en = "Show Segment Lengths"; es = "Mostrar longitudos de segmentos"; fr = "Afficher longueurs de segments"; }; url = "https://github.com/mekkablue/SegmentLength"; }, { descriptions = { en = "*Filter > Beowulferize* (de: *Beowulferisieren*, fr: *Beowulfeur*, es: *Beowulferisador*) randomly moves glyph nodes around, creating an effect reminiscent of Letterror’s infamous Beowulf font, hence the name."; }; path = Beowulferize.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Beowulferize/master/Beowulferize.png"; titles = { de = Beowulferisieren; en = Beowulferize; es = Beowulferisador; fr = Beowulfeur; }; url = "https://github.com/mekkablue/Beowulferize"; }, { descriptions = { en = "*Filter > Random Rotate* (de: *Zufallsrotation,* es: *Rotación aleatoria,* fr: *Rotation aléatoire*) randomly rotates glyphs around their center."; }; path = RandomRotate.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/RandomRotate/master/RandomRotate.png"; titles = { de = Zufallsrotation; en = "Random Rotate"; es = "Rotación aleatoria"; fr = "Rotation aléatoire"; }; url = "https://github.com/mekkablue/RandomRotate"; }, { archs = ( intel ); descriptions = { en = "*Collect-Hangul* lets you select or input Korean hangul characters easily by selecting consonants and vowels.\n\n**If it isn't installed on your device, you can install the paid script version at *LineGap's Script* on the *Scripts* tab. (The script version has more functionalities.)**"; ko = "*한글모으기*는 초성, 중성, 종성 자소 선택으로 한글을 쉽게 입력 및 선택할 수 있고, 선택된 결과를 저장할 수 있어 한글 폰트 제작에 매우 유용합니다.\n\n**플러그인이 설치가 안되면, *스크립트* 탭의 라인갭 스크립트(Linegap's Script)를 통해 스크립트(유료)을 이용하실 수 있습니다.(스크립트 버전은 보다 많은 기능들을 지원하고 있습니다.)**"; }; path = CollectHangul.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/nanife/CollectHangul_Glyphs/master/mainView.png"; titles = { en = "Collect-Hangul"; ko = "한글모으기"; }; url = "https://github.com/nanife/CollectHangul_Glyphs"; }, { descriptions = { en = "*Filter > Offset Curve with Angle* (de: *Verfetten mit Winkel,* es: *Desplazar curva con ángulo,* fr: *Épaissir le tracé avec un angle*) provides a simple curve offset with an angle for the vertical and horizontal offset axes."; }; path = OffsetCurveWithAngle.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/OffsetCurveWithAngle/master/OffsetCurveWithAngle.png"; titles = { de = "Verfetten mit Winkel"; en = "Offset Curve with Angle"; es = "Desplazar curva con ángulo"; fr = "Épaissir le tracé avec un angle"; }; url = "https://github.com/mekkablue/OffsetCurveWithAngle"; }, { descriptions = { en = "*Filter > Delete Duplicate Paths* (de: *Doppelte Pfade löschen,* es: *Borrar trazados duplicados,* fr: *Supprimer doubles tracés*) deletes path duplicates. It does not care if the points are set to smooth (green) or not (blue), only if the coordinates are the same, and the closed/open status is the same."; }; path = "Delete Duplicate Paths.glyphsFilter"; titles = { de = "Doppelte Pfade löschen"; en = "Delete Duplicate Paths"; es = "Borrar trazados duplicados"; fr = "Supprimer doubles tracés"; }; url = "https://github.com/mekkablue/DeleteDuplicatePaths"; }, { descriptions = { en = "Displays a the frames per second the edit view. This is useful for debugging."; }; path = FramesPerSecond.glyphsReporter; titles = { en = "Frames Per Second"; }; url = "https://github.com/schriftgestalt/FramesPerSecond"; }, { dependencies = ( fontTools, vanilla, robofab ); descriptions = { en = "Helps analyzing and fixing the consistency of kerning across all masters."; }; path = "Kern-A-Lytics.glyphsFilter"; screenshot = "https://raw.githubusercontent.com/schriftgestalt/kernalytics-rf-ext/master/kern-a-lytics-Glyphs.png"; titles = { en = "Kern-A-Lytics"; }; url = "https://github.com/schriftgestalt/kernalytics-rf-ext"; }, // { // path = "FilterListManager.glyphsPlugin"; // titles = { // en = "Filter List Manager (FLM)"; // }; // url = "https://github.com/source-foundry/FilterListManager"; // descriptions = { // en = "Glyphs filter list management with newline-delimited local and remote text files.\n\n*Edit > Update Filter Lists* updates filter lists with local and/or remote definition files\n*Edit > Restore Default Filter Lists* restores a default set of filter lists\n*Edit > Open GlyphsFilters Directory* opens the ~/GlyphsFilters directory which is used to define local and remote filter list definition files + file paths."; // }; // screenshot = "https://user-images.githubusercontent.com/4249591/43370298-dd03127c-934a-11e8-99cd-3b8138811b49.png"; // }, { descriptions = { en = "*Filter > Pixelate* (de: *Verpixeln,* fr: *Pixelliser,* es: *Pixelar*) rasterises shapes with a user-defined pixel glyph."; }; path = Pixelate.glyphsFilter; branch = Glyphs3; screenshot = "https://raw.githubusercontent.com/mekkablue/Pixelate/master/Pixelate.png"; titles = { de = Verpixeln; en = Pixelate; es = Pixelar; fr = Pixelliser; }; url = "https://github.com/mekkablue/Pixelate"; }, { descriptions = { en = "Palette for writing [ttfAutohint control instructions](https://www.freetype.org/ttfautohint/doc/ttfautohint.html#control-instructions) while zoomed in, hence in tiny type."; }; path = TTControlInstructions.glyphsPalette; screenshot = "https://raw.githubusercontent.com/mekkablue/TTControlInstructionsPalette/master/TTControlInstructions.png"; titles = { en = "TT Control Instructions Palette"; }; url = "https://github.com/mekkablue/TTControlInstructionsPalette"; }, { titles = { en = Wordfinder; }; descriptions = { en = "*Glyph > Wordfinder* finds words that contain the selected glyphs."; }; path = Wordfinder.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/underscoretype/glyphs-plugin-wordfinder/master/Wordfinder.png"; url = "https://github.com/underscoretype/glyphs-plugin-wordfinder"; }, { descriptions = { en = "This plug-in helps you to change the default keyboard increment value to a settable new one."; pt = "Este plug-in auxilia na mudança do incremento de teclado. Com ele, é possível trocar o valor para o que você preferir."; }; path = ChangeIncrement.glyphsPalette; screenshot = "https://raw.githubusercontent.com/filipenegrao/Change-Keyboard-Increment/a2f95c60e47f6ab493bf1401433ecb57125882b5/keyboard-increment-plugin-darkmode.png"; titles = { en = "Change Keyboard Increment"; pt = "Mudar Incremento do Teclado"; }; url = "https://github.com/filipenegrao/Change-Keyboard-Increment"; }, { descriptions = { en = "*Filter > Make Boxes* (de: *Kasteln machen,* es: *Hacer cajas,* fr: *Générer rectangles*) turns the glyph into a box reaching from LSB to RSB, and from descender to ascender, as set in *Font Info > Masters.* Useful as custom parameter for making a backdrop instance."; }; path = MakeBoxes.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/MakeBoxes/master/MakeBoxes.png"; titles = { de = "Kasteln machen"; en = "Make Boxes"; es = "Hacer cajas"; fr = "Générer rectangles"; }; url = "https://github.com/mekkablue/MakeBoxes"; }, { descriptions = { en = "*View > Show Glyph Focus* (de: *Fokus auf aktuelle Glyphe anzeigen,* fr: *Afficher focus sur le glyphe actuel,* es: *Mostrar concentración en el glifo actual*) highlights the current glyph. Also handy for spotting open paths and overlaps."; }; path = ShowGlyphFocus.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowGlyphFocus/master/GlyphFocus.png"; titles = { de = "Fokus auf aktuelle Glyphe anzeigen"; en = "Show Glyph Focus"; es = "Mostrar concentración en el glifo actual"; fr = "Afficher focus sur le glyphe actuel"; }; url = "https://github.com/mekkablue/ShowGlyphFocus"; }, { titles = { en = "Components Compatibility"; }; descriptions = { en = "*View > Show Components Compatibility* displays in a list the names of the components used in the current layer if a component is missing in other master it uses red color on the component name label."; }; donationURL = "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=NXQFEWCXXJABE&lc=US"; path = ShowComponentsCompatibility.glyphsReporter; screenshot = "https://raw.githubusercontent.com/guidoferreyra/ShowComponentsCompatibility/master/screen-componentesCompat.png"; url = "https://github.com/guidoferreyra/ShowComponentsCompatibility"; }, { descriptions = { en = "The palette shows the position of anchors in the selected glyphs. This helps you check for consistent positioning of anchors: just select multiple glyphs. For example, select A–Z to see whether all top anchors are on the same height. Note that the fields are editable, so you can adjust the anchors’ x or y of multiple glyphs at once."; }; path = "AnchorsPalette/Anchors.glyphsPalette"; screenshot = "https://raw.githubusercontent.com/justanotherfoundry/freemix-glyphsapp/master/AnchorsPalette/AnchorsPalette.png"; titles = { en = "Anchors Palette"; }; url = "https://github.com/justanotherfoundry/freemix-glyphsapp"; }, { descriptions = { en = "This window shows the cap and corner components in the selected glyphs. This helps you check for consistency: just select multiple glyphs. Note that the fields are editable, so you can adjust the scaling of caps and corners for multiple glyphs at once."; }; path = "CapsAndCorners/CapsAndCorners.glyphsPlugin"; screenshot = "https://github.com/justanotherfoundry/freemix-glyphsapp/raw/master/CapsAndCorners/CapsAndCorners.png"; titles = { en = "Caps and Corners"; }; url = "https://github.com/justanotherfoundry/freemix-glyphsapp"; }, { descriptions = { en = "This palette shows the position of the center of the glyph bounding box. This works with components, with multiple glyphs selected and is also editable. Useful for centering all case-sensitive punctuation vertically, or to check whether mathematical operands are on the same x position (use Glyphs’ built-in glyph info to check whether they have the same advance width). Note that the bounding box center may be .5 even if your font has a grid of 1 without subdivisions (i. e. integer coordinates). The node/path selection is intentionally ignored.\n\nThe Overshoots section displays the overshoot of the selected glyph(s) relative to each alignment zone."; }; path = "AlignmentPalette/Alignment.glyphsPalette"; screenshot = "https://raw.githubusercontent.com/justanotherfoundry/freemix-glyphsapp/master/AlignmentPalette/AlignmentPalette.png"; titles = { en = "Alignment Palette"; }; url = "https://github.com/justanotherfoundry/freemix-glyphsapp"; }, { descriptions = { en = "This palette shows the name(s) of the selected glyph(s), split by suffix. The fields are editable. This is useful for quickly changing the suffix of multiple glyphs at once."; }; path = "SuffixesPalette/Suffixes.glyphsPalette"; screenshot = "https://raw.githubusercontent.com/justanotherfoundry/freemix-glyphsapp/master/SuffixesPalette/SuffixesPalette.png"; titles = { en = "Suffixes Palette"; }; url = "https://github.com/justanotherfoundry/freemix-glyphsapp"; }, { archs = ( intel ); descriptions = { en = "Embeds the SILE typesetter into Glyphs, allowing you to create and view complex font proofs while you edit."; }; path = GlyphSILE.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/simoncozens/GlyphSILE.glyphsplugin/master/GlyphSILE.png"; titles = { en = GlyphSILE; }; url = "https://github.com/simoncozens/GlyphSILE.glyphsplugin"; }, { descriptions = { en = "*View > Show PS Hints Also in Other Masters* (de: *PS-Hints auch in anderen Mastern anzeigen,* fr: *Afficher hints PS aussi dans les autres masters,* es: *Mostrar hints PS también en los otros másteres*) displays hints from the hint-origin master also in masters other than the hint-origin. The main idea is to find stem hint overlaps that could cause Hint Replacement."; }; path = ShowHintsAlsoInOtherMasters.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowHintsAlsoInOtherMasters/master/ShowHintsAlsoInOtherMasters-Preview.png"; titles = { en = "Show PS Hints Also in Other Masters"; de = "PS-Hints auch in anderen Mastern anzeigen"; fr = "Afficher hints PS aussi dans les autres masters"; es = "Mostrar hints PS también en los otros másteres"; }; url = "https://github.com/mekkablue/ShowHintsAlsoInOtherMasters"; }, { descriptions = { en = "Palette for toggling stylistic sets in Edit view."; }; path = SetPalette.glyphsPalette; screenshot = "https://raw.githubusercontent.com/mekkablue/SetPalette/master/SetPalette.png"; titles = { en = "Set Palette"; }; url = "https://github.com/mekkablue/SetPalette"; }, { archs = ( intel ); descriptions = { en = "A design workflow tool.\n\n- Record layer history\n- Design using *checkpoints*\n- Help declutter your Layers palette!\n- Playback & export time-lapse animations of glyphs."; }; path = LayerWhale.glyphsPalette; screenshot = "https://raw.githubusercontent.com/aiaf/LayerWhale/master/LayerWhale.png"; titles = { en = "Layer Whale"; }; url = "https://github.com/aiaf/LayerWhale"; }, { descriptions = { en = "*View > Show Kerning Values* (de: *Kerning-Werte anzeigen,* es: *Mostrar valores de Kerning,* fr: *Afficher valeurs de crénage*) shows the kerning values just below the ascender height in Edit view.\nCustomize the offset in relation to the ascender (default -50) by running this line in Macro Window: `Glyphs.defaults['com.mekkablue.KernIndicator.offset'] = 100` (instead of 100, type your intended value, of course)."; }; path = KernIndicator.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/KerningValues/master/KerningIndicators.png"; titles = { de = "Kerning-Werte anzeigen"; en = "Show Kerning Values"; es = "Mostrar valores de Kerning"; fr = "Afficher valeurs de crénage"; }; url = "https://github.com/mekkablue/KerningValues"; }, { descriptions = { de = "*Bearbeiten > Einrasten unterdrücken* reduziert die Einrastungen während des Bearbeitens."; en = "*Edit > Kill Snapping* reduces the amount of magnetic snapping in Edit view."; es = "*Editar > Evitar magnetismo entre los nodos* reduce las lineas rojas magneticas durante editar."; }; maxGlyphsVersion = "2.99"; path = SnapKiller.glyphsPlugin; titles = { de = "Snap-Killer"; en = "Snap Killer"; }; url = "https://github.com/mekkablue/SnapKiller"; }, { descriptions = { en = "*Edit > De Casteljau* is a live visualisation tool of the De Casteljau curve algorithm."; }; path = DeCasteljauBezier.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/luke-snider/de-casteljau-for-GlyphsApp/master/deCasteljau_screen2.png"; titles = { en = "De Casteljau"; }; url = "https://github.com/luke-snider/de-casteljau-for-GlyphsApp"; }, { descriptions = { en = "*View > Show Character* (de: *Zeichen anzeigen,* fr: *Afficher caractère,* zh: 👩‍🏫参考字) displays the glyph you are editing in the system font."; }; path = ShowCharacter.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowCharacter/master/ShowCharacter.png"; titles = { de = "Zeichen anzeigen"; en = "Show Character"; fr = "Afficher caractère"; zh = "👩‍🏫参考字"; }; url = "https://github.com/mekkablue/ShowCharacter"; }, { archs = ( intel ); descriptions = { en = "*Window > Master Selector* helps to navigate complex multi master files."; }; path = MasterSelector.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/AlphabetType/MasterSelector/master/images/MasterSelector.gif"; titles = { en = "Master Selector"; }; url = "https://github.com/AlphabetType/MasterSelector"; }, { descriptions = { en = "*View > Show Nodes Outside Paths* will visualize nodes that are not located inside a path. This can be useful if you need to make sure that a node is just inside another path, without zooming in too far."; }; path = "Show Nodes Outside Paths.glyphsReporter"; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowNodesOutsidePaths/master/Show%20Nodes%20Outside%20Paths.png"; titles = { en = "Show Nodes Outside Paths"; }; url = "https://github.com/mekkablue/ShowNodesOutsidePaths"; }, { descriptions = { en = "TypeCooker™-style drawing for Glyphs. A tool for pixel-based drawing and erasing in edit view, best used with a pen tablet."; }; donationURL = "https://ko-fi.com/jenskutilek"; path = Scrawl.glyphsTool; screenshot = "https://raw.githubusercontent.com/jenskutilek/Scrawl-Glyphs/master/data/ui.png"; titles = { en = "Scrawl Tool"; }; url = "https://github.com/jenskutilek/Scrawl-Glyphs"; }, { descriptions = { en = "Displays drawings from Scrawl Tool when other tools are active. Activate via *View > Show Scrawl*."; }; donationURL = "https://ko-fi.com/jenskutilek"; path = Scrawl.glyphsReporter; titles = { en = "Scrawl Viewer"; }; url = "https://github.com/jenskutilek/Scrawl-Glyphs"; }, { descriptions = { en = "*View > Show Smooth Node Angle and Proportion* will highlight the nodes that may produce kinks in yellow. When you select it, it will tell you the angle between the handles and their proportions. If any one of the values match the other masters (becoming light gray), a kink will not happen."; }; path = "Show Smooth Node Angle and Proportion.glyphsReporter"; screenshot = "https://raw.githubusercontent.com/harbortype/ShowSmoothNodeAngleAndProportion/master/images/preview.png"; titles = { en = "Show Smooth Node Angle and Proportion"; }; url = "https://github.com/harbortype/ShowSmoothNodeAngleAndProportion"; }, { descriptions = { en = "*View > Show Center Lines* (de: *Mittellinien anzeigen,* es: *Mostrar lineas centrales,* fr: *Afficher lignes centrales*) will display a subtle crosshair in the middle of the current selection. Respects italic angle and Dark Mode. Add the center lines as guides via the context menu."; }; path = ShowCenterLines.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowCenterLines/master/ShowCenterLines.png"; titles = { de = "Mittellinien anzeigen"; en = "Show Center Lines"; es = "Mostrar lineas centrales"; fr = "Afficher lignes centrales"; }; url = "https://github.com/mekkablue/ShowCenterLines"; }, { descriptions = { en = "*View > Show Fill Background Path* is a simple Reporter plugin that fills the background path of the selected glyph with a semi-transparent \"non-photo blue\" color (#a4dded)."; }; path = FillBackgroundPath.glyphsReporter; screenshot = "https://raw.githubusercontent.com/markmonroy/FillBackgroundPath/master/FillBackgroundPath.png"; titles = { en = "Fill Background Path"; }; url = "https://github.com/markmonroy/FillBackgroundPath"; }, { descriptions = { en = "A palette with three buttons in order to change the case of Edit View’s text"; }; path = "CaseChange/CaseChange.glyphsPalette"; screenshot = "https://raw.githubusercontent.com/Ricard-Garcia/Glyphs_plugins/master/CaseChange/Image/ChangeCase.png"; titles = { en = "Change Case"; }; url = "https://github.com/Ricard-Garcia/Glyphs_plugins"; }, { descriptions = { en = "Automatically add cap components to your outline. This makes most sense for script typefaces in order to facilitate overlaps at where the letter shapes are supposed to connect."; }; path = AddCaps.glyphsFilter; titles = { en = "Add Caps"; }; url = "https://github.com/mekkablue/AddCaps"; }, { descriptions = { en = "*Filter > BaseReductor* (de: *Basis-Reduktor,* fr: *Réducteur à base,* es: *Reductor a la base*) will reduce diacritics to their base glyphs, e. g. äáàāą will appear as aaaa. This can be useful as custom parameter in trial font instances."; }; path = BaseReductor.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/BaseReductor/master/BaseReductorAnimation.gif"; titles = { de = "Basis-Reduktor"; en = "Base Reductor"; es = "Reductor a la base"; fr = "Réducteur à base"; }; url = "https://github.com/mekkablue/BaseReductor"; }, { branch = glyphs3; descriptions = { en = "Multitool providing curvature visualization, curve harmonization, Tunni line manipulation, path simplification, digital callipers and more"; }; path = SuperTool.glyphsTool; screenshot = "https://raw.githubusercontent.com/simoncozens/SuperTool/master/supertool-screenshot.png"; titles = { en = SuperTool; }; url = "https://github.com/simoncozens/SuperTool"; }, { descriptions = { en = "*View > Show Anchors with Duplicate Coordinates* (de: *Anker mit selben Koordinaten anzeigen*, es: *Mostrar anclas con mismas coordenadas*, fr: *Afficher ancres avec mêmes coordonnées*, pt: *Mostrar âncoras com as mesmas coordenadas*) highlights ‘overlapping’ anchors (2+ anchors with the same coordinates)."; }; path = ShowAnchorsWithDuplicateCoordinates.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowAnchorsWithDuplicateCoordinates/master/ShowAnchorsWithDuplicateCoordinates.png"; titles = { de = "Anker mit selben Koordinaten anzeigen"; en = "Show Anchors with Duplicate Coordinates"; es = "Mostrar anclas con mismas coordenadas"; fr = "Afficher ancres avec mêmes coordonnées"; pt = "Mostrar âncoras com as mesmas coordenadas"; }; url = "https://github.com/mekkablue/ShowAnchorsWithDuplicateCoordinates"; }, { descriptions = { en = "*Filter > Optimize Start Nodes* (de: *Startpunkte optimieren,* es: *Optimizar los primeros nodos,* fr: *Optimiser les nœuds prémiers*) will optimize the placement of start nodes so that they immediately follow after a straight line segment if possible."; }; path = OptimizeStartNodes.glyphsFilter; screenshot = "https://raw.githubusercontent.com/LucasFonts/Glyphs-OptimizeStartNodes/master/round.png"; titles = { de = "Startpunkte optimieren"; en = "Optimize Start Node Placement"; es = "Optimizar los primeros nodos"; fr = "Optimiser les nœuds prémiers"; }; url = "https://github.com/LucasFonts/Glyphs-OptimizeStartNodes"; }, { descriptions = { en = "*Filter > Stitcher* will distribute components along an (open) path at a certain interval. Components will be placed according to the origin point (0,0) or, if available, an *origin* anchor in the original glyph. The *Balance Components* option stretches the distribution along the *complete* path, so that components are placed on the first and last point of the (open) path. Hint: If used as custom parameter, use as *PreFilter* rather than *Filter.*"; }; path = Stitcher.glyphsFilter; branch = Glyphs3; screenshot = "https://raw.githubusercontent.com/mekkablue/Stitcher/master/Stitcher.png"; titles = { en = Stitcher; }; url = "https://github.com/mekkablue/Stitcher"; }, { descriptions = { en = "*Filter > Inliner* will will expand a skeleton path to an inlined stroke. *Stroke Width* is the complete width of the (double) stroke. *Inline Width* is the width of the white gap inside the stroke."; }; path = Inliner.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/Inliner/master/Inliner.png"; titles = { en = Inliner; }; url = "https://github.com/mekkablue/Inliner"; }, { descriptions = { en = "*View > Show Only Selected Handles* (de: *Nur ausgewählte Anfasser anzeigen,* es: *Mostrar únicamente manejadores seleccionados,* fr: *Montrer seulement les poignées sélectionnées,* es: *Mostrar los manejadores seleccionados*) will display handles only when they are selected."; }; path = ShowOnlySelectedHandles.glyphsReporter; screenshot = "https://raw.githubusercontent.com/mekkablue/ShowOnlySelectedHandles/master/ShowOnlySelectedHandles.png"; titles = { en = "Show Only Selected Handles"; }; url = "https://github.com/mekkablue/ShowOnlySelectedHandles"; }, { descriptions = { en = "This palette extension allows you to step through font masters. Use the left button to step to the previous master, and the right button to step to the next master. Use the middle button for jumping half the masters."; }; path = MasterSwitcher.glyphsPalette; screenshot = "https://raw.githubusercontent.com/mekkablue/MasterSwitcher/master/MasterSwitcher.png"; titles = { en = "Master Switcher"; }; url = "https://github.com/mekkablue/MasterSwitcher"; }, { descriptions = { en = "*Node Namer* (de: *NodeNamer*, es: *Nombrar los nodos*, pt: *Nomear os nós*, fr: *Nommer les nœuds*, zh: 节点名称) is a small item in the Palette sidebar (*Window > Palette,* Cmd-Opt-P) that allows you to set and delete node names."; }; path = NodeNamer.glyphsPalette; screenshot = "https://raw.githubusercontent.com/mekkablue/NodeNamer/master/NodeNamer.png"; titles = { de = NodeNamer; en = "Node Namer"; es = "Nombrar los nodos"; pt = "Nomear os nós"; fr = "Nommer les nœuds"; zh = "节点名称"; }; url = "https://github.com/mekkablue/NodeNamer"; }, { descriptions = { en = "*Filter > System 7 Shadow* (de: *System-7-Schatten,* fr: *Ombre de Système 7,* es: *Ombra de la Sistema 7*) reproduces a shadow around a glyph that looks like the old Chicago Shadowed pixelfonts by Susan Kare which came bundled with the old Mac System 7."; }; path = System7Shadow.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/System7Shadow/master/System7Shadow.png"; titles = { de = "System-7-Schatten"; en = "System 7 Shadow"; es = "Ombra de la Sistema 7"; fr = "Ombre de Système 7"; }; url = "https://github.com/mekkablue/System7Shadow"; }, { dependencies = ( fontTools, vanilla, drawbot ); descriptions = { en = "GlyphGiffer lets you export glyphs from a folder of .ufo/.glyphs files as an animated GIF. Input either slash-escaped glyph names (e. g. `/Aacute/Ampersand/Eth`) or a string of A-Z and a-z chars (e. g. `ABCDEFG`). It currently doesn’t seem support composite glyphs. **Requires Drawbot.**"; }; path = GlyphGiffer.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/luke-snider/GlyphGiffer-for-GlyphsApp/master/GlyphGiffer_screen1_GApp.png"; titles = { en = GlyphGiffer; }; url = "https://github.com/luke-snider/GlyphGiffer-for-GlyphsApp"; }, { archs = ( intel ); descriptions = { en = "*SimplePreview* lets you preview texts which is in editing window. You can control the text size and directions in this preview plugin.\n\n**If it isn't installed on your device, you can install the paid script version at *LineGap's Script* on the *Scripts* tab. (The script version has more functionalities.)**"; ko = "*간단미리보기*는 편집창의 텍스트들을 미리보기하는 플러그인으로, 세로쓰기 및 가로쓰기 모드를 지원합니다.\n\n**플러그인이 설치가 안되면, *스크립트* 탭의 라인갭 스크립트(Linegap's Script)를 통해 스크립트(유료) 버전을 이용하실 수 있습니다.(스크립트 버전은 보다 많은 기능들을 지원하고 있습니다.)**"; }; path = SimplePreview.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/nanife/SimplePreview_Glyphs/master/simplePreview_demo.png"; titles = { en = "SimplePreview"; ko = "간단미리보기"; }; url = "https://github.com/nanife/SimplePreview_Glyphs"; }, { descriptions = { en = "*View > Show Backdrop* displays similar glyphs in the background. This makes it easier to keep your glyphs consistent."; }; path = Backdrop.glyphsReporter; screenshot = "https://raw.githubusercontent.com/hejpaul/glyphs-backdrop/master/images/screenshot.png"; titles = { en = Backdrop; }; url = "https://github.com/hejpaul/glyphs-backdrop"; }, { branch = Glyphs3; descriptions = { en = "*File > Import > Symbol Template* and *File > Export > SF Symbol* help open and create SF Symbol Template files. [See the tutorial](https://glyphsapp.com/learn/creating-an-sf-symbol) for details."; }; minVersion = "3045"; maxVersion = "3160"; path = "SF Symbol Template.glyphsFileFormat"; titles = { en = "SF Symbol Template"; }; url = "https://github.com/schriftgestalt/SFSymbolTemplate"; }, { branch = "Glyphs3.2"; descriptions = { en = "*File > Import > Symbol Template* and *File > Export > SF Symbol* help open and create SF Symbol Template files. \nNow with support for variable templates.\n[See the tutorial](https://glyphsapp.com/learn/creating-an-sf-symbol) for details."; }; minVersion = "3166"; path = "SF Symbol Template.glyphsFileFormat"; titles = { en = "SF Symbol Template"; }; url = "https://github.com/schriftgestalt/SFSymbolTemplate"; }, { branch = glyphs3; descriptions = { en = "This is a plugin to export AutoCAD shape fonts."; }; path = "AutoCADShapeExporter.glyphsFileFormat"; titles = { en = "AutoCAD Shape Exporter"; }; url = "https://github.com/schriftgestalt/AutoCADShapeExporter"; }, { descriptions = { en = "*View > Show TrueType Curves* draws the contents of the active layer as quadratic curves in the background. This will give you an idea of how the points will be when exporting as TTF. By default it uses the static font TT conversion, the same as running the _Paths > Other > Convert to Quadratic_ command, but you can select the variable font conversion (slower) in the context menu."; pt = "Desenha o conteúdo da camada ativa como curvas quadráticas no segundo plano. Isso te dará uma ideia de como os pontos ficarão ao exportar em TTF. Por padrão o plugin utiliza a mesma conversão das fontes estáticas (equivalente ao comando _Vetores > Outro > Converter para Quadrático_, mas você pode ativar a conversão utilizada em fontes variáveis (mais lenta) no menu contextual."; }; path = "Show TrueType Curves.glyphsReporter"; screenshot = "https://raw.githubusercontent.com/harbortype/ShowTrueTypeCurves/main/images/showTrueTypeCurves.png"; titles = { en = "Show TrueType Curves"; pt = "Mostra Curvas TrueType"; }; url = "https://github.com/harbortype/ShowTrueTypeCurves"; }, { descriptions = { en = "*View > Show Crosshair On Select* displays a crosshair at the centre of your selection. Use the context menu to access extra options: selection coordinates in the lower left corner, and showing intersection thicknesses."; }; path = ShowCrosshairOnSelect.glyphsReporter; screenshot = "https://github.com/weiweihuanghuang/ShowCrosshairOnSelect/raw/master/ShowCrosshair.png"; titles = { en = "Show Crosshair On Select"; }; url = "https://github.com/weiweihuanghuang/ShowCrosshairOnSelect"; }, { branch = "glyphs3-binary"; descriptions = { en = "CritParty is a collaborative font editing plugin for the Glyphs font editor. Share an editing session with friends and colleagues, and work on a font together."; }; titles = { en = "CritParty"; }; path = "CritParty.glyphsPlugin"; url = "https://github.com/simoncozens/CritParty"; }, { dependencies = ( paddle ); descriptions = { en = "Displays all glyphs of your font that use your currently selected one as a component. It’s a visual realtime feedback of inestimable value in a daily workflow. No matter which writing system, you will never want to work without anymore.\n\nThis is a fully functional 30 days trial. What are you waiting for?\nContact me for Student Discounts."; }; path = "Show Recyclers.glyphsReporter"; screenshot = "https://github.com/Mark2Mark/show-recyclers-plugin/blob/main/.images/recyclers.jpg?raw=true"; titles = { en = "Recyclers 3"; }; url = "https://github.com/Mark2Mark/show-recyclers-plugin"; minVersion = 3062; }, { descriptions = { en = "*Filter > Green Harmony* (de: *Grüne Harmonie,* fr: *Harmonie verte,* es: *Armonía verde,* cs: *Zelená harmonie,* pt: *Harmonia verde,* jp: 緑の調和, ko: 녹색 조화, zh: 绿色和谐) moves selected green on-curve nodes to their G2 position, creating a harmonized transition from one curve segment to the next. Or *all* green nodes if none are selected."; }; path = "GreenHarmony.glyphsFilter"; screenshot = "https://raw.githubusercontent.com/slobzheninov/GreenHarmony/main/GreenHarmonyScreenshot.png"; titles = { en = "Green Harmony"; de = "Grüne Harmonie"; fr = "Harmonie verte"; es = "Armonía verde"; cs = "Zelená harmonie"; pt = "Harmonia verde"; ja = "緑の調和"; ko = "녹색 조화"; zh = "绿色和谐"; }; url = "https://github.com/slobzheninov/GreenHarmony"; minVersion = 3088; }, { descriptions = { en = "Grey Harmony (*de:* Graue Harmonie, *fr:* Harmonie grise, *es:* Armonía gris, *cs:* Šedá harmonie, *pt:* Harmonia cinzenta, *ru:* Серая гармония, *jp:* 灰色の調和, *ko:* 회색 조화, *zh:* 🦛灰色和谐) is a Glyphs.app filter that G2-harmonizes selected “smooth” connections by moving the surrounding BCPs rather than the green on-curve node itself (which is what [Green Harmony](glyphsapp3://showplugin/Green%20Harmony) does)."; }; path = "GreyHarmony.glyphsFilter"; screenshot = "https://raw.githubusercontent.com/mekkablue/GreyHarmony/main/GreyHarmonyScreenshot.png"; titles = { en = "Grey Harmony"; de = "Graue Harmonie"; fr = "Harmonie grise"; es = "Armonía gris"; cs = "Šedá harmonie"; pt = "Harmonia cinzenta"; ru = "Серая гармония"; ja = "灰色の調和"; ko = "회색 조화"; zh = "🦛灰色和谐"; }; url = "https://github.com/mekkablue/GreyHarmony"; minVersion = 3088; }, { descriptions = { en = "The Text View Width palette allows to set the view width relative to the width of a given glyph. This means that the line breaks will appear about the same for all masters. The plug-in dynamically updates the width when you switch between masters. It uses the following input format: `20 H` or `15 space` etc., which means 20 times the width of the glyph `H` or 15 times the width of the `space` glyph. You can also set the width in units (the same way as in *Glyphs > Preferences > Appearance*). To turn the plug-in off, leave the input empty."; }; path = "Text View Width.glyphsPalette"; screenshot = "https://user-images.githubusercontent.com/60325634/126040652-b8e1c324-b403-41e0-b6b3-3f8f49397dca.png"; titles = { en = "Text View Width"; }; url = "https://github.com/slobzheninov/TextViewWidth"; minVersion = 3091; }, { archs = ( intel ); descriptions = { en = "*View > Show LT Global Background* displays the outline of a selected glyph in the background, similar to the *Global Mask* functionality in Fontlab V."; }; path = "LT-Global-Background.glyphsReporter"; titles = { en = "Leedotype Global Background"; }; url = "https://github.com/Leedotype/global-background"; screenshot = "https://raw.githubusercontent.com/Leedotype/global-background/main/images/screenshot.png"; }, { descriptions = { en = "*Distribute* (de: *Verteilen,* fr: *Répartir,* es: *Distribuir,* pt: *Distribuir,* cs: *Rozložit,* zh: 重新排列) is a palette for distributing shapes."; }; path = "Distribute.glyphsPalette"; titles = { en = 'Distribute'; de = 'Verteilen'; fr = 'Répartir'; es = 'Distribuir'; pt = 'Distribuir'; cs = 'Rozložit'; }; url = "https://github.com/mekkablue/Distribute"; screenshot = "https://raw.githubusercontent.com/mekkablue/Distribute/main/Distribute.png"; }, { descriptions = { en = "*Filter > Clean Up Lines* (de: *Linien aufräumen,* fr: *Nettoyer les lignes,* es: *Limpiar líneas,* pt: *Limpar linhas retas,* jp: ラインをクリーンアップ, ko: 라인 정리, zh: 清理线路) will remove all (blue) on-curve points between two line segments if the two segments form an angle smaller than the given threshold."; }; path = "CleanUpLines.glyphsFilter"; titles = { en = 'Clean Up Lines'; de = 'Linien aufräumen'; fr = 'Nettoyer les lignes'; es = 'Limpiar líneas'; pt = 'Limpar linhas retas'; ja = 'ラインをクリーンアップ'; ko = '라인 정리'; zh = '清理线路'; }; url = "https://github.com/mekkablue/CleanUpLines"; screenshot = "https://raw.githubusercontent.com/mekkablue/CleanUpLines/main/cleanuplines.png"; }, { dependencies = ( paddle ); descriptions = { en = "Mark Zones now available for Glyphs 3. This is a fully functional 14 days trial. More infos in the link below.\nContact me for Student Discounts."; }; path = "Mark Zones.glyphsReporter"; screenshot = "https://github.com/Mark2Mark/mark-zones-plugin/blob/main/.images/PluginManager-MarkZones.jpg?raw=true"; titles = { en = "Mark Zones"; }; url = "https://github.com/Mark2Mark/mark-zones-plugin"; minVersion = 3062; }, { dependencies = ( paddle ); descriptions = { en = "shows a measurement line (even in edit mode) with all distances between the outlines. If any distance matches the saved metrics in the palette, it will highlight and tell you which one it (almost) matches.\n\nShortcut: `Cmd+Opt+Ctrl+S` (like *S*tems). \n\n This Pro version has way more features than the Light version.Try them out in this fully functional 20 days trial and find more infos and feature descriptions in the link below.\nContact me for Student Discounts."; }; path = "Show Stems Pro.glyphsReporter"; screenshot = "https://raw.githubusercontent.com/Mark2Mark/show-stems-pro-plugin/main/.images/PluginManager-ShowStemsPro.jpg"; titles = { en = "Show Stems Pro"; }; url = "https://github.com/Mark2Mark/show-stems-pro-plugin"; minVersion = 3062; }, { dependencies = ( paddle ); descriptions = { en = "Let your fonts shine in all glory to present them and save as image in seconds. Now with a new feature: Sketch Mode: present as if your font was drawn with pencil on paper.\n\nPresenter Pro now available for Glyphs 3. This is a fully functional 20 days trial. More infos in the link below.\nContact me for Student Discounts."; }; path = "Presenter Pro.glyphsReporter"; screenshot = "https://raw.githubusercontent.com/Mark2Mark/presenter-pro-plugin/main/.images/PluginManager-Presenter.jpg"; titles = { en = "Presenter Pro"; }; url = "https://github.com/Mark2Mark/presenter-pro-plugin"; minVersion = 3062; }, { path = "showMasterName.glyphsReporter"; title = "Show Master Name"; url = "https://github.com/guidoferreyra/ShowMasterName"; description = "The plugin will show in the top left corner of the Edit view a text with the master name and the axes locations. It can be useful to know 'where you are' in projects with large number of masters."; screenshot = "https://raw.githubusercontent.com/guidoferreyra/ShowMasterName/main/preview.png"; }, { titles = { en = "OpenType MATH Plug-in"; ar = "ملحقة لخطوط أوبن تيب الرياضياتية"; }; descriptions = { en = "A plug-in for editing and exporting OpenType MATH table. _Edit → Edit MATH Constants..._ for editing font-level MATH table constants, _Glyph → Edit MATH Variants..._ for editing glyph-level MATH variants, assembly, and extended shape flag, and _View → Show MATH Italic Correction_, _View → Show MATH Top Accent Position_, _View → Show MATH Cut-ins_ for showing various MATH positioning info."; }; screenshot = "https://raw.githubusercontent.com/Nagwa-Limited-Community/Glyphs-MATH-Plugin/main/dialog-math-constants.png"; url = "https://github.com/Nagwa-Limited-Community/Glyphs-MATH-Plugin.git"; branch = "main"; path = "MATHPlugin.glyphsPlugin"; dependencies = ( fontTools, vanilla ); minVersion = 3100; }, { descriptions = { en = "*Curve Equalizer* is a filter that lets you quickly balance the Bézier handles of a curve, or change its curvature interactively."; }; donationURL = "https://ko-fi.com/jenskutilek"; path = CurveEQ.glyphsFilter; screenshot = "https://raw.githubusercontent.com/jenskutilek/Curve-Equalizer/master/images/curve-eq-glyphs.png"; titles = { en = "Curve Equalizer"; }; dependencies = ( vanilla ); url = "https://github.com/jenskutilek/Curve-Equalizer"; }, { descriptions = { en = "*Filter > Keep Counter Shapes* (de: *Punzen behalten*) deletes all outer curves and keeps only counters."; }; path = KeepCounterShapes.glyphsFilter; titles = { en = "Keep Counter Shapes"; de = "Punzen behalten"; }; url = "https://github.com/mekkablue/KeepCounterShapes"; }, { descriptions = { en = "*Filter > Keep Outer Shapes* (de: *Umrisse behalten*) deletes all counter shapes and keeps only outer curves."; }; path = KeepOuterShapes.glyphsFilter; titles = { en = "Keep Outer Shapes"; de = "Umrisse behalten"; }; url = "https://github.com/mekkablue/KeepOuterShapes"; }, { titles = { en = "Guide Sheets"; zh-Hant = "稿紙"; zh-Hans = "稿纸"; ja = "原稿用紙"; }; url = "https://github.com/ButTaiwan/ShowGuideSheets"; path = "ShowGuideSheets.glyphsReporter"; descriptions = { en = "Show guide sheets for the glyph you are editing. This is useful especially for CJK glyphs editing. You can create guide sheets for each script and each master. See [readme](https://github.com/ButTaiwan/ShowGuideSheets) for details."; zh-Hant = "在字符編輯畫面中顯示背景稿紙,可針對不同主板、不同語系分別設計稿紙。 [詳見說明頁](https://github.com/ButTaiwan/ShowGuideSheets)"; ja = "編集ビューの背景に原稿用紙を表示します。文字体系ごと・マスターごとに違うデザインを用意できます。 [詳しくはこちら](https://github.com/ButTaiwan/ShowGuideSheets)"; }; screenshot = "https://raw.githubusercontent.com/ButTaiwan/ShowGuideSheets/master/ShowGuideSheets.png"; }, { titles = { en = "Smart Select Tool"; zh-Hant = "智慧選取工具"; ja = "スマートセレクトツール"; }; url = "https://github.com/ButTaiwan/SmartSelectTool"; path = "SmartSelectTool.glyphsTool"; descriptions = { en = "Selecting CJK paths more easiler and faster. See [readme](https://github.com/ButTaiwan/SmartSelectTool) for details."; zh-Hant = "加快選取漢字外框的速度,可點兩下直接選取整個封閉部件等,呵護您的食指。 [詳見說明頁](https://github.com/ButTaiwan/SmartSelectTool)"; ja = "CJK文字のアウトラインを楽々選択することができます。 [詳しくはこちら](https://github.com/ButTaiwan/SmartSelectTool)"; }; screenshot = "https://raw.githubusercontent.com/ButTaiwan/SmartSelectTool/master/smartselect.gif"; }, { titles = { en = "Convert Case"; }; url = "https://github.com/slobzheninov/ConvertCase"; path = "ConvertCase.glyphsPalette"; descriptions = { en = "Palette plugin that converts case (UPPER CASE, Title Case, lower case) in the current tab. Converts only the selected text (if any) or the whole text (if nothing is selected)."; }; screenshot = "https://user-images.githubusercontent.com/60325634/152044080-39e1115b-612b-4660-9020-3bc35b81be5d.png"; }, { titles = { en = 'Duplicate Nodes'; de = 'Punkte verdoppeln'; fr = 'Dupliquer nœuds'; es = 'Duplicar nodos'; pt = 'Duplicar nodos'; }; url = "https://github.com/mekkablue/DuplicateNodes"; path = "DuplicateNodes.glyphsFilter"; descriptions = { en = "*Filter > Duplicate Nodes* (*en:* Duplicate Nodes, *de:* Punkte verdoppeln, *fr:* Dupliquer nœuds, *es:* Duplicar nodos, *pt:* Duplicar nodos) is a Glyphs.app filter for duplicating selected on-curve nodes in place."; }; screenshot = "https://raw.githubusercontent.com/mekkablue/DuplicateNodes/main/DuplicateNodes.png"; }, { titles = { en = "Guides Palette"; zh-Hans = "指定参考线"; }; path = "Guides.glyphsPalette"; url = "https://github.com/3type/GuidesPalette"; descriptions = { en = "Guides Palette can list all the *global* guides with names. Then you can assign them to certain glyphs independently. Guides will display or hide automatically. Helpful for complex design systems such as CJK characters. QUICK NOTE: Guides with same names will make the plugin unhappy (the behavior will be unpredictable), so please keep the names unique."; zh-Hans = "「指定参考线」插件可以管理所有带名称的全局参考线。你可以将它们独立地分配给某些字符形,参考线将据此自动进行显示/隐藏。可对 CJK 字符等复杂设计系统提供一些便利。小帖士:具有相同名称的参考线会让插件不高兴(我们也无法预测她的行为),所以请保持参考线们名称的唯一性。"; }; screenshot = "https://user-images.githubusercontent.com/126215/154889224-34055948-d0cd-4ae9-b7f6-b16f45e387b7.png"; minVersion = 3065; }, { branch = Glyphs3; path = "Thicker Outlines.glyphsReporter"; title = "Thicker Outlines"; url = "https://github.com/schriftgestalt/ThickerOutlines"; description = "Draw a thicker outline to stand out more over a background image"; }, { titles = { en = "RekhaBrekha"; de = "RäckhaBräckha"; fr = "RékhaBrékha"; }; path = "RekhaBrekha.glyphsFilter"; url = "https://github.com/mekkablue/RekhaBrekha"; descriptions = { en = "RekhaBrekha (de: *RäckhaBräckha,* fr: *RékhaBrékha*) is for you if you use regular Bengali, Devanagari or Gurmukhi letters as components in conjuncts, and the conjuncts end up having a rekha line or two too many. RekhaBrekha will decompose any component that references an active (exporting) Bengali, Devanagari or Gurmukhi letter.\n\nRekhaBrekha is only useful as a PreFilter in your static font exports, especially in TrueType-flavored exports. To add the PreFilter, copy this line:\n\n`{customParameters = ({name = PreFilter;value = RekhaBrekha;});}`\n\n... and paste it in your export’s custom parameters."; }; minVersion = 3000; }, { titles = { en = "Show HT Letterspacer Areas"; de = "Flächen für HT Letterspacer anzeigen"; fr = "Montrer les aires HT Letterspacer"; }; screenshot = "https://raw.githubusercontent.com/eweracs/ShowHTLetterspacerAreas/main/ShowHTLSAreas.png"; path = "ShowHTLSPolygons.glyphsReporter"; url = "https://github.com/eweracs/ShowHTLetterspacerAreas"; descriptions = { en = "View > Show HTLS Polygons draws a visual representation of the areas HT Letterspacer uses to calculate white space into the glyphs in edit view."; }; }, { title = "Ratio Reporter"; screenshot = "https://raw.githubusercontent.com/richardmcdonald48/RatioReporter/main/RatioReporter.png"; path = "RatioReporter.glyphsReporter"; url = "https://github.com/richardmcdonald48/RatioReporter"; descriptions = { en = "*View > Show Ratios* displays the vertical-to-horizontal ratio between selected points."; }; }, { titles = { en = "Line Up Selection"; de = "Punkte auffädeln"; es = "Formar línea"; pt = "Formar linha"; ja = "直線化"; zh = "📐选中点直线对齐"; }; screenshot = "https://raw.githubusercontent.com/mekkablue/LineUp/main/LineUp.png"; path = "LineUp.glyphsFilter"; url = "https://github.com/mekkablue/LineUp"; descriptions = { en = "*Filter > Line Up Selection* (de: *Punkte auffädeln,* es: *Formar línea,* pt: *Formar linha,* jp: 直︀線︀化︀, ko: 직선화, zh: 📐选中点直线对齐 ) lines up nodes, handles and anchors in your point selection between the outermost points selected."; }; }, { dependencies = ( vanilla ); descriptions = { en = "*Window > Unicode Info:* shows a floating window with Unicode and orthography information about the currently selected glyph. It also shows which orthographies your font supports, and can add missing characters. Press the *Query* button to show information about the current glyph."; }; donationURL = "https://ko-fi.com/jenskutilek"; path = UnicodeInfo.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/jenskutilek/UnicodeInfo-Glyphs/master/images/screenshot.png"; titles = { en = "Unicode Info"; de = "Unicode-Info"; }; url = "https://github.com/jenskutilek/UnicodeInfo-Glyphs"; }, { descriptions = { en = "*View > Show RSB* (de: *Nachbreite anzeigen*, fr: *Afficher approche droite*, es: *Mostrar lado derecho*). displays an additional cursor at the right sidebearing (RSB) when the Text tool is active."; }; path = RSBline.glyphsReporter; screenshot = "https://raw.githubusercontent.com/akufadhl/RSBline/master/RSBline.png"; titles = { en = "Show RSB"; de = "Nachbreite anzeigen"; fr = "Afficher approche droite"; es = "Mostrar lado derecho"; }; url = "https://github.com/akufadhl/RSBline"; }, { descriptions = { en = "Color Flow is a Palette Plugin to help organize and gamify your workflow by tracking progress through visual feedback. It works by assigning meaning to Layer Color Labels which are sorted into a series of customizable catogories and made directly accessable through the sidebar. "; }; path = "Color Flow.glyphsPalette"; screenshot = "https://raw.githubusercontent.com/HugoJourdan/Color-Flow/main/img/ColorFlow_thumbnail.jpg"; titles = { en = "Color Flow"; }; url = "https://github.com/HugoJourdan/Color-Flow"; }, { descriptions = { en = "Mouse Kerning and Spacing is a tool to edit kerning and spacing by dragging glyphs with your mouse."; }; path = "DragToKern.glyphsTool"; screenshot = "https://raw.githubusercontent.com/LucasFonts/Glyphs-MoveableSidebearings/master/media/screenshot.png"; titles = { en = "Mouse Kerning and Spacing"; }; url = "https://github.com/LucasFonts/Glyphs-MoveableSidebearings"; }, { titles = { en = "Anchor Arranger"; }; path = "AnchorArranger.glyphsPalette"; url = "https://github.com/wsimm/AchorArranger"; descriptions = { en = "Anchor Arranger is a Glyphs font editor. plugin and it takes care of calculating the distance between the anchors and upper or the bottom node of the glyphs and it allows you to move them easily to guarantee the consistency of your font "; }; screenshot = "https://github.com/wsimm/AchorArranger/raw/master/AnchorArrangerScreenshot.png"; }, { titles = { en = "Snapper"; }; path = "Snapper.glyphsPalette"; url = "https://github.com/mekkablue/Snapper"; descriptions = { en = "Palette with a switch for toggling object snapping for the current font."; }; screenshot = "https://raw.githubusercontent.com/mekkablue/Snapper/main/Snapper.png"; minSystemVersion = "10.15"; }, { titles = { en = "HT Letterspacer Manager"; de = "HT-Letterspacer-Manager"; fr = "Manager HT Letterspacer"; }; screenshot = "https://raw.githubusercontent.com/eweracs/HTLSManager/master/HTLSManager.png"; path = "HTLSManager.glyphsPlugin"; url = "https://github.com/eweracs/HTLSManager"; descriptions = { en = "The HTLS Manager is the central hub for working with Huerta Tipográfica’s Letterspacer. Use it to manage font rules, per-master exceptions and parameters."; }; }, { titles = { en = "PS Export"; de = "PostScript-Export"; }; donationURL = "https://ko-fi.com/mekkablue"; screenshot = "https://raw.githubusercontent.com/mekkablue/PSExport/main/PSExport.png"; path = "PSExport.glyphsFileFormat"; url = "https://github.com/mekkablue/PSExport"; descriptions = { en = "Adds PostScript as new option in *File > Export…*, will export all exporting glyphs of all exporting instances into multi-page .ps files."; }; }, { titles = { en = "EPS Export"; de = "EPS-Export"; }; donationURL = "https://ko-fi.com/mekkablue"; screenshot = "https://raw.githubusercontent.com/mekkablue/PSExport/main/EPSExport.png"; path = "EPSExport.glyphsFileFormat"; url = "https://github.com/mekkablue/PSExport"; descriptions = { en = "Adds EPS as new option in *File > Export…*, will export all exporting glyphs of all exporting instances into separate .eps files."; }; }, { dependencies = ( vanilla ); descriptions = { en = "*Window > WoLiBaFoNaGen:* will bring up a dialog in which you can enter your favourite letters and font name length preferences. Any new document you start will automatically get a font family name matching your criteria. Alternatively, you can get a name suggestion via *Edit > Suggest New Font Name.* A check for existing trademarks is not included."; }; donationURL = "https://ko-fi.com/jenskutilek"; path = WoLiBaFoNaGen.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/jenskutilek/WoLiBaFoNaGen/master/images/screenshot-glyphs.png"; titles = { en = "WoLiBaFoNaGen (WordListBasedFontNameGenerator)"; de = "WoLiBaFoNaGen (WortListenBasierterFontNamensGenerator)"; }; url = "https://github.com/jenskutilek/WoLiBaFoNaGen"; }, { titles = { en = "Color Toner (Show Darkened Colors)"; de = "Color Toner (Abgedunkelte Farben anzeigen)"; }; descriptions = { en = "*View > Show Darkened Colors* (de: *abgedunkelte Farben*) will render your components with an extra 15% black. Useful if you use a canvas color where the components are not visible well. To change the amount of darkening, run this code in Macro Window: `Glyphs.defaults[\"com.mekkablue.ColorToner.darken\"]=0.15` and replace the `0.15` with any number between 0.0 and 1.0."; }; path = ColorToner.glyphsReporter; url = "https://github.com/mekkablue/ColorToner"; }, { titles = { en = "FEA Export"; de = "Features-Export"; }; descriptions = { en = "*File > Export > FEA Export* (de: *Features-Export*) will export the font’s OpenType features in FeaKit format, into a `.fea` file."; }; screenshot = "https://raw.githubusercontent.com/mekkablue/FEAExport/main/FEAExport.png"; path = FEAExport.glyphsFileFormat; url = "https://github.com/mekkablue/FEAExport"; }, { titles = { en = "Context Manager"; }; descriptions = { en = "Build your own contextual words/strings library of and access it dynamically. Context Manager is intended to help and speed up your workflow when you are looking for a word/string to proof a specific glyph. It allow user to manage contextual words/strings for each glyph and to create contextual group."; }; path = "Context Manager.glyphsPlugin"; screenshot = "https://raw.githubusercontent.com/HugoJourdan/Context-Manager/dc170c08bad3c0116d14b33143d7f3b4a2d0b308/images/contextManager-screenshot.jpg"; url = "https://github.com/HugoJourdan/Context-Manager"; }, { titles = { ar = "شروحات نقاط الارتساء"; cs = "Poznámky kotvy"; de = "Ankeranmerkungen"; en = "Anchor Annotations"; es = "Anotaciones de anclas"; fr = "Annotations des ancres"; it = "Annotazioni delle ancore"; ja = "アンカー注釈"; ko = "앵커 주석"; pt = "Anotações de âncora"; ru = "Аннотации для якорей"; tr = "Çıpa Açıklamaları"; zh-Hans = "锚点注释"; zh-Hant = "錨點標註"; }; descriptions = { ar = "تُظهر الأسماء لنقاط ارتساء غير محددة في الطبقات غير النشطة، وتعيين الألوان لنقاط ارتساء معينة، وتقصير أسماء نقاط الارتساء المعروضة من خلال استبدال النص، والمزيد من أوضاع عرض نقاط الارتساء. قم بالتنشيط باستخدام «عرض» ← «إظهار شروحات نقاط الارتساء»."; cs = "Zobrazení názvů kotev pro nevybrané kotvy a kotvy v neaktivních vrstvách, přiřazení barev konkrétním kotvám, zkrácení zobrazených názvů kotev nahrazením textu a další režimy zobrazení kotev. Aktivace pomocí *Zobrazit* → *Zobrazit poznámky kotvy*."; de = "Zeige Ankernamen für nicht ausgewählte Anker und Anker in inaktiven Ebenen an, weise Farben gewissen Ankernamen zu, verkürze die Anzeigenamen von Ankern und weitere Anker-Anzeigemodi. Mit *Ansicht* → *Ankeranmerkungen anzeigen* aktivieren."; en = "Show anchor names for unselected anchors and anchors in inactive layers, assign colors to certain anchors, shorten the displayed anchor names via text replacement, and more anchor display modes. Activate with *View* → *Show Anchor Annotations*."; es = "Muestra nombres de anclas para anclas sin seleccionar y anclas en capas inactivas, asigna colores a ciertas anclas, acorta los nombres de las anclas que se muestran a través del reemplazo de texto y más modos de visualización de anclas. Actívalos con *Vista* → *Mostrar anotaciones de anclas*."; fr = "Affichez les noms d’ancre pour les ancres non sélectionnées et les ancres des couches inactives, attribuez des couleurs à certaines ancres, raccourcissez les noms d’ancre affichés via le remplacement de texte, et bénéficiez de davantage de modes d’affichage d’ancre. Activez avec *Affichage* → *Afficher les annotations des ancres*."; it = "Mostra i nomi delle ancore per le ancore non selezionate e per quelle inattive, assegna colori a determinati nomi di ancore, abbrevia i nomi delle ancore mostrati tramite la sostituzione del testo e altre modalità di visualizzazione delle ancore. Attivare con *Vista* → *Mostra annotazioni delle ancore*."; ja = "非選択のアンカーや非アクティブレイヤのアンカーの名前を表示したり、特定のアンカーに色を割り当てたり、テキスト置換で表示されるアンカー名を短くしたり、その他のアンカー表示モードを追加したりします。「表示」→「アンカー注釈を表示」で有効にします。"; ko = "비활성 레이어의 앵커 및 선택되지 않은 앵커에 대한 앵커 이름을 표시하고, 특정 앵커에 색상을 할당하고, 텍스트 대체를 통해 표시된 앵커 이름을 줄이고, 추가 앵커 표시 모드를 제공합니다. “보기” → “앵커 주석 표시”로 활성화합니다."; pt = "Mostrar nomes de âncoras para âncoras não selecionadas e âncoras em camadas inativas, atribuir cores a certas âncoras, encurtar os nomes das âncoras exibidas através de substituição de texto, e mais modos de visualização de âncoras. Ativar com *Visualizar* → *Mostrar anotações de âncoras*."; ru = "Показывает имена якорей для невыбранных якорей и якорей в неактивных слоях. Даёт возможность покрасить в цвета определённые якоря, сократить имена якорей с помощью замены текста и других режимов отображения якорей. Включить *Просмотр* → *Показать аннотации для якорей*."; tr = "Seçilmemiş çıpalar ve etkin olmayan katmanlarda bulunan çıpalar için çıpa isimlerini göster, belirli çıpalara renkler ata, görüntülenen çıpa adlarını metin değiştirme yoluyla kısalt ve daha fazla çıpa görüntüleme modu. *Görünüm* → *Çıpa Açıklamalarını Göster* yoluyla etkinleştir."; zh-Hans = "显示未选中锚点和非活动层中锚点的锚点名称,为某些锚点指定颜色,通过文本替换缩短显示的锚点名称,以及更多锚点显示模式。使用“查看”→“显示锚点注释”激活。"; zh-Hant = "顯示未選取的錨點和未啟用層中錨點的名稱,為某些錨點分配顏色,透過文字替換來縮短顯示的錨點名稱,以及更多錨點顯示模式。以「瀏覽」→「顯示錨點標註」來啟用。"; }; url = "https://github.com/florianpircher/Anchor-Annotations"; branch = "release"; path = "Anchor Annotations.glyphsReporter"; screenshot = "https://florianpircher.com/glyphs/plugins/anchor-annotations/screenshot.png"; }, { titles = { en = "Dashed Outline"; de = "Gestrichelte Kontur"; }; descriptions = { en = "*Filter > Dashed Outline* (de: *Gestrichelte Kontur*) creates a dashed outline around your glyph."; }; url = "https://github.com/mekkablue/DashedOutline"; path = "DashedOutline.glyphsFilter"; screenshot = "https://raw.githubusercontent.com/mekkablue/DashedOutline/main/DashedOutline.png"; minGlyphsVersion = "3.1"; }, { titles = { en = "Shift Start Point"; de = "Startpunkt weiterschieben"; }; descriptions = { en = "*Filter > Shift Start Point* (de: *Startpunkt weiterschieben*) moves the start point to the following on-curve node. If used as custom parameter, you can define the number of steps with, e.g., `ShiftStartPoint; steps: 2`."; }; url = "https://github.com/mekkablue/ShiftStartPoint"; path = "ShiftStartPoint.glyphsFilter"; minGlyphsVersion = "3.1"; }, { titles = { en = "Nine Box View"; zh-Hant = "九宮格預覽"; zh-Hans = "九宫格预览"; ja = "九宮格プレビュー"; ko = "구궁격 미리보기"; }; path = "Nine Box View.glyphsPlugin"; url = "https://github.com/yintzuyuan/NineBoxView"; descriptions = { en = "This plugin displays characters in a nine-box grid while editing, allowing users to easily adjust font size to maintain consistency through comparison with reference characters. Customizable reference characters and light/dark mode display are also available. Suitable for use in creating East Asian fonts. See GitHub page for more information."; zh-Hant = "這個外掛能在九宮格中顯示編輯中的字符,讓使用者透過對照參考字,更輕鬆的調整字體大小使之維持一致。可自定義參考字符並提供亮暗模式顯示。適合在製作東亞字型時使用。更多相關訊息見 GitHub 頁面。"; }; donationURL = "https://ko-fi.com/yintzuyuan"; screenshot = "https://github.com/yintzuyuan/NineBoxView/raw/main/NineBoxView_image1.png"; dependencies = ( vanilla ); }, { titles = { en = "Master Stepper"; }; descriptions = { en = "Palette for stepping through your glyphs, while displaying all masters at once."; }; screenshot = "https://raw.githubusercontent.com/mekkablue/MasterStepper/main/MasterStepper.png"; url = "https://github.com/mekkablue/MasterStepper"; path = "MasterStepper.glyphsPalette"; minGlyphsVersion = "3.1"; donationURL = "https://ko-fi.com/mekkablue"; }, { titles = { en = "Rainbow FontView"; }; descriptions = { en = "Plugin to sorting dynamically FontView based of Layer/Glyph Color Labels"; }; screenshot = "https://raw.githubusercontent.com/HugoJourdan/Rainbow-FontView/main/Preview.png"; url = "https://github.com/HugoJourdan/Rainbow-FontView"; path = "Rainbow FontView.glyphsPlugin"; minGlyphsVersion = "3.1"; }, { titles = { en = "Show Angle, Distance and Italic Width"; }; descriptions = { en = "Plugin that shows the Angle, Distance and Italic Width of the selection. Click the panel to switch between Distance and Italic WIdth in italic layers."; }; screenshot = "https://github.com/slobzheninov/ShowAngle/assets/60325634/e8ef927b-efe2-4774-a1b9-4bd707b16070"; url = "https://github.com/slobzheninov/ShowAngle"; path = "Show Angle and Distance.glyphsPlugin"; minGlyphsVersion = "2.5"; }, { titles = { en = "Selection Shelf"; }; descriptions = { en = "Save a selection to a 'shelf', give it a name, and retrieve the selection later. If you have certain nodes that you are often selecting and referring to, you can save them as a named selection by typing a name in the text field and clicking 'Save'. To retrieve the selection later, double click on its name in the list. If you have no longer any need for the selection, click on it in the list and press Delete to remove it."; }; screenshot = "https://github.com/simoncozens/SelectionShelf/blob/main/screenshot.png?raw=true"; url = "https://github.com/simoncozens/SelectionShelf"; path = "SelectionShelf.glyphsPalette"; minGlyphsVersion = "3.0"; }, { titles = { en = "Unnest Components"; de = "Komponenten entpacken"; }; descriptions = { en = "*Filter > Unnest Components* (de: *Komponenten entpacken*) ‘unpacks’, ‘unnests’ or ‘flattens’ components, i.e. it decomposes composites step by step until there is only one level of composition. Nested components are not bad per se, use it only if you know what you are doing. Unnesting only makes sense for TrueType exports (.ttf or TT-flavored .woff and .woff2). It has no effect on CFF exports (.otf or CFF-flavored .woff and .woff2) because PostScript-based fonts have no components. You can have the filter run at export time with a *Filter* custom parameter, with `UnnestComponents` in the filter value."; }; url = "https://github.com/mekkablue/UnnestComponents"; path = "UnnestComponents.glyphsFilter"; minGlyphsVersion = "3.2"; }, { titles = { en = "Harmonic Move"; }; descriptions = { en = "The plugin will scale the opposite handle to maintain the same curvature level when the selected handle changes. For example, the plugin can be used to change the weight of terminals. [Watch demo video](https://github.com/pkolchanov/HarmonicMove)"; }; screenshot = "https://github.com/pkolchanov/HarmonicMove/blob/master/img/PluginManager.png?raw=true"; url = "https://github.com/pkolchanov/HarmonicMove"; path = "HarmonicMove.glyphsTool"; minGlyphsVersion = "3.2"; }, { titles = { en = 'COLR/CPAL Juggler'; de = 'COLR/CPAL-Jongleur'; fr = 'Jongleur COLR/CPAL'; }; descriptions = { en = "CPAL/COLR Juggler (de: *COLR/CPAL-Jongleur,* fr: *Jongleur COLR/CPAL*) randomly rotates color layers between palette colors. For export it makes most sense to copy and paste this prefilter into an instance in *Font Info > Exports* (Cmd-I, Cmd-3): `{customParameters = ({name = PreFilter; value = COLRCPALJuggler;});}`"; }; url = "https://github.com/mekkablue/CPAL-COLR-Juggler"; path = "COLRCPALJuggler.glyphsFilter"; minGlyphsVersion = "3.2"; }, { titles = { en = "Show Handle Relations"; }; descriptions = { en = "*View > Show Handle Relations* displays the relative handle lengths for smooth connections between curves, and for nodes that connect a straight line and a curve (“tangent points”).\n\nThis helps you avoid kinks in interpolations by keeping the relative handle lengths consistent across all masters."; }; url = "https://github.com/justanotherfoundry/freemix-glyphsapp"; path = "HandleRelations/HandleRelations.glyphsReporter"; screenshot = "https://raw.githubusercontent.com/justanotherfoundry/freemix-glyphsapp/master/HandleRelations/HandleRelations.png"; minGlyphsVersion = "3.1"; }, { descriptions = { en = "Display inspirational quotes by Werner Herzog in Glyphs. Make sure to allow Glyphs to display notifications via System Settings."; }; donationURL = "https://ko-fi.com/jenskutilek"; path = WernerHerzog.glyphsPlugin; screenshot = "https://raw.githubusercontent.com/jenskutilek/Glyphs-WernerHerzog/main/images/herzog-4.jpg"; titles = { en = "Werner Herzog Quotes"; }; url = "https://github.com/jenskutilek/Glyphs-WernerHerzog"; }, { descriptions = { en = "*Filter > Straighten Short Curves* will straighten curve segments shorter than a certain threshold length. The handles are deleted and the curve segment is turned into a line segment. Useful for cleaning up a vectorized scan or avoiding *Remove Overlap* errors at export."; }; path = StraightenShortCurves.glyphsFilter; screenshot = "https://raw.githubusercontent.com/mekkablue/StraightenShortCurves/main/StraightenShortCurves.png"; titles = { en = "Straighten Short Curves"; }; url = "https://github.com/mekkablue/StraightenShortCurves"; minGlyphsVersion = "3.1"; }, { descriptions = { en = "Palette that provides selection commands such as *undo*, *grow*, *shrink*, and a pattern-recognizing *continue*, as well as selection operations to *add*, *remove*, or *select only* elements of a certain type."; ru = "Палитра, которая предоставляет команды выбора, такие как *отмена*, *увеличение*, *сжатие* и распознавание шаблона *продолжение*, а также операции выбора для *добавления*, *удаления* или *выбора только* элементов определенного типа."; }; branch = glyphs-3; minVersion = 3151; path = SelectionPalette.glyphsPalette; screenshot = "https://raw.githubusercontent.com/danielgamage/SelectionPalette/glyphs-3/Images/screenshot.png"; titles = { en = SelectionPalette; }; url = "https://github.com/danielgamage/SelectionPalette"; }, { descriptions = { en = "Turn instances into grades, sharing the same advance widths and kerning."; }; branch = Glyphs3; minVersion = 3205; path = Grader.glyphsFilter; titles = { en = Grader; }; url = "https://github.com/mekkablue/Grader"; }, { descriptions = { en = "UFO export plug-in for Glyphs.app."; }; branch = main; minGlyphsVersion = "3.1"; path = ExportUfoPlus.glyphsFileFormat; titles = { en = "ExportUFO-Plus"; }; url = "https://github.com/mekkablue/ExportUFO-Plus"; }, { descriptions = { en = "Path Juggler plug-in for Glyphs.app."; }; branch = main; minGlyphsVersion = "3.1"; path = PathJuggler.glyphsPlugin; titles = { en = "Path Juggler"; }; url = "https://github.com/mekkablue/PathJuggler"; }, { titles = { en = "Show Coordinates Distance Angle"; }; descriptions = { en = "Display coordinates above or below the selected nodes and handles, and display distances and angles (respected to italic) along the path lines. Shortcut assigned: ⌘L"; }; path = ShowCoordinatesDistanceAngle.glyphsReporter; url = "https://github.com/michaelrafailyk/ShowCoordinatesDistanceAngle"; screenshot = "https://raw.githubusercontent.com/michaelrafailyk/ShowCoordinatesDistanceAngle/main/ShowCoordinatesDistanceAngle.png"; }, { dependencies = ( paddle ); descriptions = { en = "Script Deck is a virtual pad controller to hold and launch your favourite scripts with simple button clicks. No more script menu digging. No more shortcut memorizing. Highly customizable: set colors and icons, name your decks, etc. \n\n[Plugin Page](https://markfromberg.com/projects/script-deck-3) \n[Manual PDF](https://markfromberg.com/user/images/glyphs/plugins/Script%20Deck%20Manual.pdf) \n\nTry it out and see that you cannot live without it."; }; path = "Script Deck.glyphsPlugin"; screenshot = "https://markfromberg.com/user/images/glyphs/plugins/Script%20Deck%20PM%20Cover@1x.png"; titles = { en = "Script Deck"; }; url = "https://github.com/Mark2Mark/script-deck-plugin"; minVersion = 3062; }, { titles = { en = "Find Escaped Glyphs"; ko = "벗어난 글립 찾기"; }; path = "FindEscapedGlyphs.glyphsPlugin"; url = "https://github.com/sindpfla98/FindEscapedGlyphs"; descriptions = { en = "Glyph > Find Escaped Glyphs finds a glyph that component or path is outside the box."; ko = "글리프 > 벗어난 글립 찾기 는 컴포넌트나 path가 지정한 범위를 벗어난 글립을 찾아줍니다."; }; screenshot = "https://raw.githubusercontent.com/sindpfla98/FindEscapedGlyphs/master/FindEscapedGlyphs_Window.png"; }, { titles = { en = "Change Sentence To Mieum"; ko = "문장 ㅁ꼴로 바꾸기"; }; path = "ChangeSentenceToMieum.glyphsPlugin"; url = "https://github.com/sindpfla98/ChangeSentenceToMieum"; descriptions = { en = "Window > 'Change Sentence To Mieum' changes the initial consonant and final consonant of the entered sentence to ㅁ."; ko = "창 > '문장 ㅁ꼴로 바꾸기'는 입력된 문장의 초성과 종성을 ㅁ으로 변경합니다."; }; minVersion = 3161; screenshot = "https://raw.githubusercontent.com/sindpfla98/ChangeSentenceToMieum/master/ChangeSentenceToMieum_window.png"; }, { descriptions = { en = "Window for displaying a rotated view of the first line of the current tab. Based on Aaron Bell’s Rotate View for single glyphs."; }; path = RotateView2.glyphsPlugin; screenshot = "https://github.com/mekkablue/RotateView/raw/master/RotateView2.png"; titles = { en = "Rotate View 2"; }; url = "https://github.com/mekkablue/RotateView"; }, { titles = { en = "Gradient Hatch"; }; path = "GradientHatch.glyphsFilter"; url = "https://github.com/tcarisland/GradientHatch"; descriptions = { en = "*Filter > Gradient Hatch* create gradient hatched outlines, built on top of the Hatch Outline filter"; }; screenshot = "https://raw.githubusercontent.com/tcarisland/GradientHatch/main/GradientHatchPreview.png"; minVersion = 3151; }, { titles = { en = "Export CSV"; }; path = "ExportCSV.glyphsFileFormat"; url = "https://github.com/mekkablue/ExportCSV"; descriptions = { en = "*File > Export > CSV* will export glyph info into CSV files, one file per font master."; }; minGlyphsVersion = "3.1"; }, // *** INSERT NEW PLUG-INS ABOVE THIS LINE ); scripts = ( { descriptions = { en = "The [NaN Glyph Filters](http://www.generativefonts.xyz/) are a collection of procedural font designs and the codebase to generate them within Glyphs. *Attention: installation requires a big (potentially long) download and an app restart.*"; }; installName = "NaN Glyph Filters"; path = "NaNGlyphFilters"; titles = { en = "NaN Glyph Filters by Luke Prowse"; }; url = "https://github.com/NaN-xyz/Glyph-Filters"; dependencies = ( matplotlib, numpy, ); hidden = 1; }, { descriptions = { en = "- *Angularizzle:* takes lovingly crafted glyphs and disfigures their curves by sharp line. Visually it has something akin to Illustrator’s *Simplify* but is more nuanced. *Attention: also available as a filter.*\n- *MasterBlaster:* takes a comma-separated list from input or local txt file and displays each entry in all available masters.\n- *CommonGlyphs:* prints glyphs common to all open fonts to the macro window by unicode, Glyphs NiceNames and ProductionNames."; }; branch = master; installName = "NaN-xyz"; titles = { en = "NaN-xyz Scripts by Luke Prowse"; }; url = "https://github.com/NaN-xyz/GlyphsApp-Scripts"; }, { descriptions = { en = "Collection of Python scripts by Glyphs member Rainer Scheichelbauer (a. k. a. mekkablue). Also includes the former schriftgestalt scripts."; }; dependencies = ( vanilla ); donationURL = "https://ko-fi.com/mekkablue"; installName = mekkablue; titles = { en = "mekkablue Scripts"; }; url = "https://github.com/mekkablue/Glyphs-Scripts"; branch = master; dependencies = ( vanilla ); }, { descriptions = { en = "Scripts by type designer and font engineer Sebastian Carewe (@eweracs), including a collection of scripts for HT Letterspacer and Kern On."; }; installName = eweracs; titles = { en = "eweracs Scripts"; }; url = "https://github.com/eweracs/glyphs-scripts/"; }, { descriptions = { en = "Scripts by Tim Ahrens (Just Another Foundry), including the Symmetry script for quick prototyping, and a script that finds all inaccessible glyphs."; }; installName = Freemix; titles = { en = "JAF Freemix Scripts by Tim Ahrens"; }; url = "https://github.com/justanotherfoundry/freemix-glyphsapp"; }, { descriptions = { en = "- *Analyse Manuscript:* Calculates the minimal character set required for the pasted text. Ideal for starting a font for specific text (e. g. book).\n- *Batch Metric keys:* Applies the specified logic of metrics key to the selected glyphs.\n- *Copy Kerning Pairs:* Copies kerning patterns to another. It supports pair-to-pair and preset group copying.\n- *Copy kerning to Greek & Cyrillic:* Copies your Latin kerning to the common shapes of Greek and Cyrillic, including small caps, using predefined dictionary.Best after finishing Latin kerning and before starting Cyrillic and Greek.\n- *Create .case alternate:* Duplicates selected glyphs but as components, giving them .case suffix and the sidebearings.\n- *Delete Diagonal Nodes Between Extremes:* Good for cleaning TTF curve. It removes Diagonal Node Between Extremes, after placing the current outline in the background.\n- *Display Unlocked Kerning Pairs:* Shows unlocked kerning pairs (exceptions) in the edit view.\n- *Duplicate Glyph with Component:* Duplicates selected glyphs but as components, giving them 001 suffix or above depending on availability.\n- *Export Glyph Annotations as PDF:* Generates Glyphs annotations as PDF on Desktop.\n- *Export InDesign Tagged Text with All Glyphs:* Saves InDesign tagged text file that contains all glyphs for typesetting a specimen, using glyph ID.\n- *Guideline Locker:* Locks selected guidelines and unlocks all global guidelines.\n- *Instance Slider:* Lets you define interpolation values of instances more graphically, using sliders and preview. Vanilla and Robofab required.\n- *Kerning Exception:* Makes an kerning exception of the current pair. Note: Current glyph is considered the RIGHT side of the glyph.\n- *Nudge-move by Numerical Value:* Nudge-moves selected nodes by the values specified in the window.\n- *Permutation Text Generator:* Outputs glyph permutation text for kerning.\n- *Rename Kerning Groups:* Lets you rename kerning names and pairs associated with them.\n- *Report Compatibility by Numbers:* Outputs path count, node count, anchor count etc. of selected glyphs in the Macro Window.\n- *Report Glyphs with Acute-angled Node:* Reports glyphs that have nodes with very acute angle (default: less than 15 degrees).\n- *Report Metrics Keys:* Reports possibly wrong keys. It reports non-existent glyphs in the keys, glyphs using different keys in each layer, and nested keys.\n- *Search Glyph In Class Features:* Searches glyphs in OpenType classes and features if they are used.\n- *Set Kerning Groups (Lat-Grk-Cyr):* Sets kerning groups. Groups Latin Greek and Cyrillic together. I advise you use Split Lat-Grk-Cyr Kerning script later.\n- *Split Lat-Grk-Cyr Kerning:* Splits kerning groups of LGC (Latin, Greek, Cyrillic) and reconstructs kerning accordingly. Kern once, split later.\n- *Sync Edit Views:* Refreshes the edit view contents of non-front files. Have multiple files open!\n- *Transform Images with Proper Maths:* Batch scale and move images in selected layers, using the maths you learned at school.\n- *Un-Round Corners:* Removes corners of outlines of the selected letters (current master only)."; }; installName = "Toshi Omagari"; titles = { en = "Toshi Omagari’s Scripts"; }; url = "https://github.com/Tosche/Glyphs-Scripts"; }, { descriptions = { en = "Continually expanded scripts by German type designer Mark Frömberg, including one for setting all Alignment Zones at once, and many QA scripts."; }; donationURL = "https://ko-fi.com/M4M580HG"; installName = Mark2Mark; titles = { en = "Mark Frömberg’s Scripts"; }; url = "https://github.com/Mark2Mark/Glyphsapp-Scripts-Free"; }, { descriptions = { en = "HT Letterspacer is a revolutionary tool for spacing fonts from Huerta Tipografica, written and maintained by Andrés Torresi. [Read the docs](http://letterspacer.huertatipografica.com) or [watch Sol Matas’ presentation at TYPO Labs 2018](https://www.typotalks.com/videos/ht-letterspacer-everything-you-always-wanted-to-know-about-automatic-spacing-but-were-afraid-to-ask/)."; }; installName = "HT Letterspacer"; titles = { en = "Huerta Tipografica Letterspacer"; }; url = "https://github.com/huertatipografica/HTLetterspacer"; branch = glyphs3; }, { descriptions = { en = "Marc Foley’s set of production scripts, including many that are essential for QA and testing. Categories: *Fixes, Git, Glyph Builders, QA, Reports.*"; }; installName = "Marc Foley"; titles = { en = "Marc Foley’s Scripts"; }; url = "https://github.com/m4rc1e/mf-glyphs-scripts"; }, { descriptions = { en = "Wei Huang (a. k. a. ‘One Wei Or Another’) wrote a series of scripts:\n- *Add Placeholder Between Each Selected Glyph*\n- *Add Space Between Each Selected Glyph*\n- *Add String Between Each Selected Glyph:* Adds this string between each selected glyph, must be in `/slash` format\n- *Adjust Kerning in Glyph:* Adjusts kerning values for a specified glyph by a specified amount (edit the script manually to select glyph and adjustment amount).\n- *Clear Every Master Layer:* Clears every master layer and places content in background.\n- *Compare Fonts:* Compare 2 open files and opens a new tab (in the current font) for each master showing the glyphs that are different between the 2 files. A decomposed copy of each different glyph from the other file will also be pasted in the background of each glyph in the current file.\n- *Copy Layer to All Layers:* Copies one master to every master layer in selected glyphs.\n- *Delete All Anchors in All Masters of Selected Glyphs*\n- *Delete Kerning Pairs In Text:* Deletes all selected kerning pairs present in selected text\n- *Delete Kerning Pairs Smaller Than Popup:* Delete all kerning pairs equal to or smaller than # in selected master\n- *Find and Delete Anchors:* Find and deletes all anchors in active layers of selected glyphs that contains the search string.\n- *Find and Delete Layers:* Find layers with the search string and deletes them.\n- *Find In Layer Names:* Find layers with the search string in them and creates a new tab with the glyphs (haven't yet figured out how to show the correct layer). Useful for finding bracket layers.\n- *Flip Edit Tab:* Flips the entire edit tab upside down\n- *kernMakerFunc.py:* The script that defines the context pattern (HOHnon etc) for kerning pairs for many of the above scripts.\n- *Lowercase:* Converts the selected text in a tab to lowercase.\n- *Name This:* Add a label for this guideline, anchor, point\n- *Open Preview Panel:* Open preview panel for all tabs\n- *Set Preview Panel:* Set preview panel height and master across every tab to the same as this tab\n- *Set Same Master for Each Tab:* Set every tab to the same master as this one\n- *Set Same View Position for Each Tab:* Set every tab to the same view position as this one (also sets the preview panel height)\n- *Set Transform Origin to Centre of Selection:* Sets origin point for Rotate tool to the centre of the selection. Works even if you select a single point!\n- *Show All Kerning Pairs*\n- *Show All Kerning Pairs With:* Show All Kerning Pairs for this Master with searchString in a new tab in context (edit the script manually to select glyph).\n- *Show All Linked Metrics Type:* Report the linked metrics type for each glyph in every master in the macro window\n- *Show All Metrics Type:* Report the metrics type for each glyph in every master in the macro window\n- *Show Each Metrics Type:* Show glyphs that have auto metrics, linked metrics key or are manually entered in selected glyphs in a new tab\n- *Show Glyphs in Kerning Groups:* Show all glyphs in the kerning groups of the selected glyph in a new tab.\n- *Show Glyphs with this Anchor:* New Tab with all Glyphs that have the selected anchor.\n- *Show Kerning Pairs Context:* Show Kerning Pairs in context for the selected glyphs in a new tab.\n- *Show Kerning Pairs:* Show Kerning Pairs for this glyph in a new tab.\n- *Show Linked Metrics*\n- *Show Manual Metrics*\n- *Show Non Automatic Alignment*\n- *Show these in Context-Space:* Show selected items, each separated by `/space`, in spacing context in a new tab. i.e. selecting `av aw af fe` and running this script will put each pair in kerning context\n- *Show this in Context:* Show selected text in spacing context in a new tab.\n- *Sync All Metrics in All Masters*\n- *Uppercase:* Converts the selected text in a tab to uppercase.\n- *Zoom Wide:* Zooms the viewport to 50pts."; }; installName = "Wei Huang"; titles = { en = "Wei Huang’s Scripts"; }; url = "https://github.com/weiweihuanghuang/wei-glyphs-scripts"; }, { descriptions = { en = "Set of vector manipulation scripts by SuperTool author Simon Cozens:\n- *Cadence grid:* This sets up guidelines according to the LeMo cadencing method. Ideally it should also autospace your glyphs, but it doesn’t at the moment.\n- *Close But No Cigar:* This checks a glyph for: stem widths which are close to but not the stem widths you set in the master info; segments which are close to but not perpendicular; points which are close to but not on the baseline, x-height, or cap height. Report in Macro window.\n- *Comb:* Drags a ‘comb’ through your glyphs, for a very 70s effect. The glyphs need to be constructed in a very particular way. They need to be made up of paths which are topologically equivalent to rectangles. The ‘comb’ will be dragged from the shortest edge to the second shortest edge. Between those two edges, the paths should be equivalent: same number of points, same types of curve/straight.\n- *Delete Close Points:* Removes short segments, deleting points which are improbably close to other points.\n- *Raise ascender:* Raises only the points higher than x height.\n- *Straighten all curves:* Deletes all handles (off-curve points) to turn your curves into lines."; }; installName = "Simon Cozens"; titles = { en = "Simon Cozens’ Scripts"; }; url = "https://github.com/simoncozens/GlyphsScripts"; }, { descriptions = { en = "- *Add Extremes to Selection:* Adds extreme points to selected paths.\n- *Add Point Along Segment:* Adds points along selected segments at a specific position (time).\n- *Copy Master into Sublayer:* Copies a master into a sublayer of another master for the selected glyphs. Useful for creating COLR/CPAL color fonts.\n- *Create Centerline:* Creates a centerline between two selected paths. The paths should have opposite directions. If it doesn’t work as expected, try reversing one of the paths.\n- *Delete all layers for the current master:* Deletes all non-master layers for the current master (including bracket and brace layers) in selected glyphs.\n- *Duplicate Selected Nodes:* Creates a copy of the selected nodes and adds them in place.\n- *Duplicate Selected Nodes with Offcurve Points:* Creates a copy of the selected nodes, adds them in place and create zero-length offcurve points in between.\n- *Export Fonts into Subfolder:* Exports OTF and TTF at the same time into a specified subfolder.\n- *Interpolate Path with Itself:* Interpolates the path with itself. The fixed half will be the one with the start point. This script will be improved in the near future.\n- *Make Block Shadow:* Insert points on the tangents at a specific angle and extrude the path in the same direction, creating a block shadow effect.\n- *Make Component Glyph across All Layers:* Assembles the selected glyphs from components (the same as running the Make Component Glyph command for all layers) and removes all anchors.\n- *Make Next Node First:* Moves the start point of the selected path(s) to the next oncurve node. Specially useful if assigned to a keyboard shortcut.\n- *Make Previous Node First:* Moves the start point of the selected path(s) to the previous oncurve node. Specially useful if assigned to a keyboard shortcut.\n- *Open All Nodes:* Opens all nodes for the selected paths (or all paths if none are selected).\n- *Open Selected Nodes:* Opens the selected nodes.\n- *Rename Glyphs and Update Features:* Renames glyphs and updates all classes and features. Will match either the entire glyph name or the dot suffix.\n- *Reorder Axes:* Reorder axes and their values in masters, instances and special layers.\n- *SVG Export and SVG Import:* Generates SVGs from inside Glyphs with DrawBot, and reimports them for creating SVG color fonts."; }; installName = "Harbor Type"; titles = { en = "Harbor Type Scripts by Henrique Beier"; }; url = "https://github.com/harbortype/glyphs-scripts"; }, { descriptions = { en = "Avoid macOS font cache trouble by renaming the font file every time you export your font into the macOS *Fonts* folder. And this script does exactly that."; }; installName = "Export and Install"; titles = { en = "Export and Install Script by Nico Hagenburger"; }; branch = "patch-1"; url = "https://github.com/mekkablue/glyphs-export-and-install/"; }, { descriptions = { en = "- *Replace glyphs with ss01:* You may find this helpful if your roman font has upright italics in ss01 (for say, a, g, and y). Save a new font and run this to replace your default letters with their ss01 set counterparts.\n- *Copy layer from italic:* Copies the entire layer of a glyph from an italic counterpart. Useful for quickly syncing changes between roman and oblique.\n- *Copy anchors from italic:* Same as Copy layer from italic but only copies anchors\n- *Move Selection Up/Down 10/100 Units at Italic Angle:* Translates nodes up or down either 10 or 100 units, then shifts left or right to move at the same angle as the master's italic angle.\n- *Convert Selected Nodes to Lines:* Converts selected nodes to line-type nodes. Make sure you know how path segments (especially curves) are calculated in Glyphs, as this can create some odd results.\n- *Convert Selected Nodes to Offcurves:* Converts selected nodes to offcurve (handles). If you select two nodes, they'll be converted and the following node will become a curve. If you execute this on an entire path, you'll get some quadratic curve cages (experimental).\n- *Split Selected Nodes (Make Inktraps):* Duplicates selected node(s) and separates them away from origin at a 0° or 90° angle. Great for quickly setting up ink traps.\n- *Add handles to selected segments:* For all selected line segments, adds bezier handles at 1/3 and 2/3 of the segment length. Equivocal to alt-clicking on a line segment, but useful if adding handles to many different segments.\n- *Subdivide Lines to Curves (Catmull-Clark):* Similar to b-spline cages (like very similar), you can draw out line nodes and run this script to convert them to smooth cubic bézier curves. The result after one execution should be identical in shape to the Subdivide Lines (Catmull-Clark) script after three executions, but this will use far fewer nodes.\n- *Subdivide Lines (Catmull-Clark):* Subdivides path using Catmull-Clark algorithm. With more subdivision, paths will smooth out, but node count will get unwieldy.\n- *Subdivide Selection (Add Midpoint)* Adds midpoints to all selected path segments. For line segments, this is akin to faceted subdivision."; }; installName = "Daniel Gamage"; titles = { en = "Daniel Gamage’s Scripts"; }; url = "https://github.com/danielgamage/Glyphs-Scripts"; }, { descriptions = { en = "Assorted collection of (opinionated) helper scripts by Johannes Neumeier (Underscore Type):\n- *Auto metrics all fonts*\n- *Check anchors*\n- *Copy glyphs to second font*\n- *Copy kerning from masters*\n- *Copy layers to second font*\n- *Copy selected layer to other layers*\n- *Copy selected paths to other masters*\n- *Decompose corners caps clean up*\n- *Get metrics string*\n- *Helpers*\n- *Highlight unequal widths*\n- *Hints delete glyph master hints*\n- *Insert case as component*\n- *Kerning from first component*\n- *New tab with glyphs with corners or caps*\n- *Sync masters*"; }; installName = "Underscore Type"; titles = { en = "Underscore Type Scripts by Johannes Neumeier"; }; url = "https://github.com/underscoretype/underscore-glyphs-scripts"; }, { descriptions = { en = "Python scripts by Ricard Garcia. Categories: *Components, Drawbot, Features, Font, Guidelines, Paths, Samples, Testing.*"; }; installName = "Ricard Garcia"; titles = { en = "Ricard Garcia’s Scripts"; }; url = "https://github.com/Ricard-Garcia/Glyphs-Scripts"; }, { descriptions = { en = "Scripts by German type designer and font engineer Jens Kutílek. Categories: *Anchors, Components, Effects, Export, Font, Glyphs, Hinting, Layers, Layout, Selection, TrueType.*"; }; donationURL = "https://ko-fi.com/jenskutilek"; installName = "Jens Kutílek"; titles = { en = "Jens Kutílek’s Scripts"; }; url = "https://github.com/jenskutilek/Glyphs-Scripts"; dependencies = ( jkglyphshelpers ); }, { descriptions = { en = "Scripts by Marcin Dybaś (dyyybek):\n- *Generate Smart Glyph Variants* and *Generate Smart Glyph Variants 3-axis*\n- *Import Images by Unicode Code Point*\n- *Width Minus 20* and *Width Plus 20*"; }; installName = dyyybek; titles = { en = "Marcin Dybaś’ Scripts"; }; url = "https://github.com/dyyybek/Glyphs-Scripts"; }, { descriptions = { en = "Scripts by Jan Gerner (Yanone), particularly for interoperability with fontmake:\n- *Create Missing Brace Layers in Components:* Goes through all component glyphs and adds missing intermediate masters to the component glyphs where their respective base glyphs have them. Otherwise, component glyphs’ metrics get interpolated linearly between the main masters, ignoring the intermediate masters, while the outlines get interpolated correctly.\n- *Expand Intermediate Masters:* Takes all the intermediate masters it can find and adds them as fully expanded masters to the font, then removes all brace layers. This is necessary as a workaround for environments that can’t properly deal with brace layers, such as googlefonts/fontmake. Once the brace layers are flattened into the font as fully expanded masters, everything interpolates correctly. The masters will simply be added to the font’s master list at the end, not their correct positions in the list, which does not affect the interpolation. Use this script only to generate static instances, not a Variable Font, as otherwise the font file size will increase. To create Variable Fonts, use the Create Missing Brace Layers in Components script.\n- *Create Axis Location Custom Parameters:* In order to properly create instances from a VF using fontmake, the font needs to carry appropriate Axis Location custom parameters on the masters. This script creates them.\n- *Create Instance weightClass Custom Parameters:* In order to properly create instances from a VF using fontmake, the font needs to carry appropriate weightClass parameters on the instances. This script creates them."; }; installName = Yanone; titles = { en = "Yanone’s Scripts"; }; url = "https://github.com/yanone/Yanone-GlyphsApp-Scripts"; }, { descriptions = { en = "Collection of scripts by Brazilian type designer Filipe Negrão. [Check out how some of them work on Vimeo.](https://vimeo.com/album/4932608)\n- *Start a new project:* If you have the same folder structure for every project, this script creates that structure in a breeze.\n- *Brand new day:* This script creates a new folder named the current date (Y-M-D format) with all the same stuff you have inside the existing file's folder, including anything you have in your glyphs file's folder.\n- *Change Ascenders & Descenders:* This code changes the height of ascenders or descenders of selected glyphs in Edit View.\n- *Change the LSB and RSB for all comb glyphs:* Simply changes the metric values for comb marks.\n- *Create kerning groups for ligatures:* Search for all dligs and set their kerning groups according to its reference glyphs.\n- *Cut selection in half (horizontally):* If a path is selected, it cuts the path in half. This is useful for designing symmetrical marks.\n- *Delete all anchors from the current glyph:* Removes all anchors from the currently selected glyph.\n- *Export all open fonts to UFO* This is for the folks who are into a UFO's workflow.\n- *Export all open fonts:* This script exports all open fonts (instances inside fonts, to be precise) to a selected folder.\n- *Label guidelines:* adds labels to guidelines.\n- *Narrow diacritics maker (in progress):* Duplicates `dieresiscomb`, `gravecomb`, `acutecomb`, `brevecomb`, `tildecomb`, `macroncomb`, `ogonekcomb`, with a `.narrow` suffix.\n- *Open all comb marks in a new tab:* Opens all combs in a new tab based on their category (Mark) and subcategory (Nonspacing).\n- *Save vertical metrics data:* Takes the vertical metrics data and saves it in a .cvs file for further analysis.\n- *Slant glyphs:* Slant all selected glyphs in Edit View while adding a copy of the Roman version in the background.\n- *Toggle enumerate nodes:* Toggle index numbers in node names by running the script."; }; installName = "Filipe Negrão"; titles = { en = "Filipe Negrão’s Scripts"; }; url = "https://github.com/filipenegrao/glyphsapp-scripts"; }, { descriptions = { en = "Scripts by Argentinian font engineer Guido Ferreyra:\n- *Add anchors to selected glyphs:* Using prebuilt dictionary the script adds anchors to all the master of the selected glyphs. Feel free to edit the dictionary to match your scheme of anchors. For those glyphs that are not in the dictionary the script do nothing. The position of the anchors are estimated, inside the script there is another dictionary with the position of the anchors.\n- *Add name to Guideline:* Adds names to guides.\n- *Add descriptive names to stylistic sets:* Based on a given list adds descriptive names to stylistic sets. (You have to edit the list inside the script)\n- *Anchor Backup and Clone:* Backup anchors to a secondary layer and allows to copy them to another layer.\n- *AnchorDictionaryMaker:* Creates a dictionary based on a previous font. Outputs to the console.\n- *Automatic OT Classes:* Create and update Opentype classes based on information (name of class and text in glyph name) stored in the custom parameter `otFeatureClass`. Useful for update continuously growing classes during the development. Also, can create OT class based on another class finding and replacing a value.\n- *Center Anchors:* Center all anchors of all layers of selected glyphs.\n- *Close All Tabs:* Close all open tabs in the document.\n- *Compare Sets:* Compares glyph sets between two open fonts and allows to add missing glyph to the other font.\n- *Copy Anchors From Base:* On a suffixed glyph run the script to copy the anchors from the default version. (i.e. run on /a.ss01 and get /a anchors).\n- *Create Accented Versions:* Based on a dictionary stored inside the script outputs to the console the accented versions of the selected glyph. Useful for create accented versions of suffixed glyphs (i.e. run on /a.ss01 and get aacute.ss01, abreve.ss01...). Edit the dictionary to match your set.\n- *Create OT Class:* Create an Opentype Class with glyphs containing an specified text.\n- *Delete Notes:* Delete annotations in selected glyphs\n- *Get Component Anchors:* In a glyph made of components, gets component anchors and add it to the current layer, useful for ligatures.\n- *Import Anchors:* Import anchors from another font or another layer of the same font.\n- *Insert Images To Background:* In the dialog box select images to insert as background. Images must be named with the corresponding glyphname (ie. a.jpg) in case the glyph is not in the font the script will create it.\n- *Mark Zero Handles:* Searches for handles that are overlapping nodes and marks them with an annotation circle, setting also the layer label color to orange.\n- *New Tab Modified Glyphs:* Opens in a new tab modified glyphs after or before certain date.\n- *New Tab More Than X Components:* Based on selected glyphs, opens in a new tab the glyphs with more than the indicated amount of components.\n- *New Tab With Not Mono Glyphs:* Opens a new tab with those glyphs that doesn’t match with the indicated glyph width. Useful for checking monospaced fonts or tabular glyphs.\n- *Nodes Near Alignment Zones:* Based on a UPM “threshold” slider, adds circle annotation to nodes that are close to alignment zones. Useful for misplaced nodes that affects hinting.\n- *Report anchors off metrics:* Prints to the console a list with the anchors off the metrics of the selected glyphs.\n- *Report Glyph Anchors:* Prints to the console the anchors used on selected Glyphs.\n- *Slant Anchors:* Moves anchors according to master italic angle. Useful when importing anchors from roman versions, or after changing the font angle.\n- *Smooth 2 Sharp:* The script searches smooth nodes with unaligned handles and changes them to sharp. May be useful for auto traced illustrations."; }; donationURL = "https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=NXQFEWCXXJABE&lc=US"; installName = "Guido Ferreyra"; titles = { en = "Guido Ferreyra’s Scripts"; }; url = "https://github.com/guidoferreyra/Glyphs-Scripts"; }, { descriptions = { en = "Scripts by type designer Mike LaGattuta, including scripts for variable font production. Categories: *Anchors, FontBakery Check Counters, HOI, Metrics and Kerning, Misc, Plugins, VF Scripts*"; }; installName = "Mike LaGattuta"; titles = { en = "Mike LaGattuta’s Scripts"; }; url = "https://github.com/mjlagattuta/Glyphs-Scripts"; }, { descriptions = { en = "Scripts by type designer Jeremy Tribby (Tribby Type) for Glyphs and the UFO ecosystem.\n- *Brace Layer Decompose*\n- *Brace Layer Sidebearings Reinterpolate*\n- *Brace Layer VF Designspace Fix*\n- *Export Designspace*\n- *Family Weights Calculator*"; }; installName = "Jeremy Tribby"; titles = { en = "Jeremy Tribby’s Scripts"; }; url = "https://github.com/jpt/font-scripts/"; path = "Glyphs"; dependencies = ( vanilla ); }, { descriptions = { en = "Pedro Arilla’s scripts for Glyphs app, some scripts need Vanilla:\n- *Clear background in all layers:* Clears the background in all layers (masters and copies) in all glyphs.\n- *Clear background in all master layers:* Clears the background in all master layers in all glyphs.\n- *Decompose all corner components:* Decomposes all corner components in selected glyphs.\n- *Decompose all serif components:* Decomposes all serif components in selected glyphs.\n- *Delete annotations in all layers:* Deletes all annotations in all layers (masters and copies) in all glyphs.\n- *Delete annotations in all master layers:* Deletes all annotations in all master layers in all glyphs.\n- *Display next layer:* Switches to the next layer of the current glyph within the current master.\n- *Display previous layer:* Switches to the previous layer of the current glyph within the current master.\n- *Duplicate current layer:* Duplicates the current layer as a normal glyph layer.\n- *Make component glyph for all masters:* Builds compound glyphs in the selected ones for all masters.\n- *Make lower-unicase font:* Makes a lower-unicase font placing the lowercase glyphs (as components) in the uppercase cells.\n- *New tab with glyphs between figures:* Opens a new tab and outputs selected glyph(s) between figures 0–9.\n- *New tab with glyphs between lc:* Opens a new tab and outputs selected glyph(s) between lowercase a–z.\n- *New tab with glyphs between UC:* Opens a new tab and outputs selected glyph(s) between uppercase A–Z.\n- *New tab with random lc non-text:* Opens a new tab and outputs random lowercase non-text.\n- *New tab with random Title non-text:* Opens a new tab and outputs random title non-text.\n- *New tab with random UC non-text:* Opens a new tab and outputs random uppercase non-text.\n- *New tabs with KernKing text:* Opens two new edit tabs and outputs KernKing text.\n- *Scale background in selected glyphs:* Scales proportionally (user-definable percentage) the background content in selected glyphs.\n- *Select different colour:* In Font view, selects glyphs with a different colour(s) as the currently selected one(s).\n- *Select partial path:* Selects the partial path between the selected nodes in the current glyph — take into account that the script goes through the path starting from the first node.\n- *Select paths:* Selects the path or paths you are working on—according to the selected nodes.\n- *Select small paths:* Finds and selects small paths (smaller than a user-definable area) in the current glyph.\n- *Selection to all the backgrounds:* Replaces in all the glyphs their current content of the background with the selected paths in the current glyph.\n- *Set default figures:* UI for setting the set of numerals selected by the user as default figures. Inserts the figures as components in the ‘Decimal Digit’ cells, enables automatic alignment, and copies kerning groups.\n- *Shift background in selected glyphs:* Shifts horizontally (user-definable number) the background content in selected glyphs. Positive value for shifting to the right, negative value for shifting to the left.\n- *Simplify selection:* Simplifies the selected path(s) by deleting one of every two nodes.\n- *Start-from-scratch:* UI for deleting anchors, annotations, backgrounds, guidelines, images, kerning groups, labels, metric keys, non-master layers, and paths and components—in selected/all the glyphs, selected/all the masters, and master/all the layers.\n- *Tabular width checker:* Checks all selected Glyphs are on same width. It ignores ‘Auto’ and makes sure that the assigned value is equal regardless of metrics keys.\n- *Use layer as master:* Sets the current layer as the master layer.\n- *Vertical metrics reporter:* Reports if vertical metrics in all the masters in all open files are equal."; }; installName = "Pedro Arilla"; titles = { en = "Pedro Arilla’s Scripts"; }; url = "https://github.com/pedroarilla/glyphs-scripts"; dependencies = ( vanilla ); }, { descriptions = { en = "Python scripts I've created for use in Glyphs.app. I can give no promise that any of these work nor that they won't completely destroy your project so please use them with a good backup on your project.\n- *Change Width Centered:* This is kind of like a multiplexer, only more boring. You plug in a width, and it can adjust the RSB and LSB of all masters of a selected character to get it to that width. I created this script because Glyphs default behavior is to just add the space to the RSB. But with tabular figures, CJK full width latin characters, or a multiplexed font you'll want to keep the spacing pretty similar to how it previously was.\n- *Average Width:* Adds up and averages the width of all the masters/layers for a selected glyph. I made it to help me figure out a good starting point width for tabular figures.\n- *Create Drop Shadow:* There are tools like this available through the Glyphs Plugin Manager. The main difference here is that mine is probably more shitty, and mine has the option to keep the letter, or just leave the shadow—which is handy if you want to create a font file of just shadows.\n- *Create Cast Shadow:* This creates a shadow as if the letter is a 3d object. You should probably not run this on more than 50 characters, as the process takes a little time.\n- *Create Sign Painter Drop Shadow:* This functions like Create Drop Shadow does, only it tries to blob things out a little bit, like it was painted instead of digitally generated. Definitely finagle with the settings before you give up on it. It requires fine tuning in order to perform.\n- *Simplify Shape:* This script reduces nodes at a ratio of your choosing. Best when used on grungy, messy, thousand+ node vectors.\n- *Randomly Move Points:* Jumbles the points within a certain specified amount. Lets you choose to only have OCP get jumbled. This is really only useful for making ugly things on purpose.\n- *Delete Largest Path/Keep Largest Path/Delete Smallest Path:* I made these to delete some of the accidental shapes that were left after running Create Cast Shadow or other path manipulating scripts.\n- *Count on Curve Points:* This counts all on curve points for each master or layer of a selected glyph. Made to help figure out interpolation issues on complex drawings."; }; installName = "Kyle Wayne Benson"; titles = { en = "Kyle Wayne Benson’s Scripts"; }; url = "https://github.com/kylewaynebenson/Glyphs-Scripts"; }, { descriptions = { en = "Scripts by Erik Moberg.\n- *Add Missing Composites for Stylistic Sets:* Add composite glyphs for letters in stylistic sets where the standard glyph is used as component. Useful to maintain consistency in glyph set when adding a new stylistic set.\n- *Make Component Smart:* Turn the selected components into smart components based on the axes defined in the font, thus making the interpolatable. Useful for e.g. small caps and ordinals, depending on your setup.\n- *New Tab with Glyphs Using Glyph(s) as Component:* Opens a new tab with all glyphs using selected glyphs as components. Same as *Show all glyphs that use…* in Edit view, but works for multiple glyphs. Each glyphs reports on a separate line of text.\n- *Set Kerning Groups for Composite Glyphs:* Sets missing kerning groups for selected composite glyphs based on included components (ignoring marks). Also works for ligatures.\n- *Lock/Unlock Glyphs:* Locks or unlocks selected glyphs, resulting in the same lock state for the entire selection.\n- *Toggle Glyph Lock:* Toggles the lock state for selected glyphs. Unlike the above, the lock state if not harmonized across the selection.\n- *Swap Glyph Names:* Exchanges the names of two selected glyphs. All other glyph data remains unchanged.\n- *Remove Annotation:* Deletes all annotation (in all layers) for selected glyphs.\n- *Reverse Selected Text:* Reverses (i.e. LTR ⇄ RTL) selected text in Edit view. Preserves layers shown and line breaks. Useful in LTR+RTL fonts so you can type test words without have to do it backwards."; }; installName = "TypeNurse"; titles = { en = "TypeNurse Scripts"; }; url = "https://github.com/TypeNurse/Glyphs-Scripts"; }, { descriptions = { en = "Scripts by Alex Slobzheninov\n- *Align, Reflect and Rotate:* Align and reflect nodes and handles. Useful with keyboard shortcuts.\n- *Preferred Names:* Sets preferredFamily and preferredSubfamily instance custom parameters. Useful for office apps compatibility.\n- *Dark Mode:* Toggles dark mode on and off.\n- *Demo Instance Generator:* Generates instances with limited character set from active instances, adds “Demo” suffix, removes features and OT classes accordingly.\n- *Text Filter:* Removes all characters from a text except selected ones. Useful for testing WIP fonts with limited character set.\n- *Dangerous Offcurves:* Finds layers containing BCPs that are dangerously close to their curve segment. They can cause problems with TrueType conversion for variable fonts."; }; installName = "Alex Slobzheninov"; titles = { en = "Alex Slobzheninov’s Scripts"; }; url = "https://github.com/slobzheninov/Glyphs-Scripts"; }, { descriptions = { en = "Scripts by Hugo Jourdan\n- *Delete Anchors in all Masters for Selected Glyphs*\n- *Toggle Preview Blur*: Useful if used with shortcut.\n- *Toggle Reporters*: Show/Hide all activated reporters.\n- *CleanMyGlyphs*: All-in-one script to make your Glyphs file sparkle. It cleans up megatons of rubbish and makes your file look brand new. Just like the first day.\n- *Set LayerColor to [XXX]*: Change LayerColor to all Selected Glyph\n- *Update LayerColor of full Component Glyph*: If a Glyph is made only with components, and if these components share same layer color label, sync it to the glyph.\n- *Remove ColorLayer for Selected Glyph in All Masters\n- *Swicth LayerColor to GlyphColor*: If all layers of a Glyph has same LayerColor, set GlyphColor same and remove LayerColor Labels.\n- *Copy GlyphColor to None LayerColor*: Copy GlyphColor to LayerColor is layer doesn't have Color Label.\n- *Propagande Component to other Masters*: Copy components of selected layer to other masters if missing.\n- *Remove all Corner Component for Selected Master\n- *Export Trial Version*: Export Trial version \n- *Group and Rename Exports*: Generate FileName and Export Folder CP for each instances.\n- *Set Axis Location for all masters and instances*: Set Axis Mapping Custom Parameter in Font. For axes [wght] and [wdth], values are based on usWeightClass/usWidthClass from Exports. For custom axe, values are based on axes value from Exports. If the font has masters corresponding exports, it will set Axis Location Custom Parameter to masters with value based on them. WeightClass and WidthClass values follow OpenType OS/2 specification\n- *Set Axis Location for all masters and instances*: Set Axis Location for all masters and instances based on Weight Class and Width Class. (Only set Axis Location to master if they share same axe values as Insstance)\n- *Create Guides for Marks*: Create global guides based on circumflex position in  and â. Guides are visible only in Uppercase and Lowercase.\n- *Show Only Active Instances*: Show only active Instances in Preview.\n- *Clear Selected Glyph in all Masters\n- *Delete Special Layers for Selected Glyph\n- *Selects points above selection\n- *Selects points below selection\n- *Selects points right selection\n- *Selects points left selection\n- *Vertically Center Manager*: User interface to vertically align layers to your vertical metrics.\n- *Report missing revelant Kerning Pairs*: Report a list of possible revelant kerning pair missing for selected Master in Sample Strings array. It use data from Reveland Kerning Raw.json by André Fuchs (@andre-fuchs)\n- *Selected point handles\n- *Spacing String Maker\n- *Fit tab in EditView*" ; }; installName = "Hugo Jourdan"; titles = { en = "Hugo Jourdan’s Scripts"; }; url = "https://github.com/HugoJourdan/Glyphs-Script"; }, { descriptions = { en = "Confusify by Luke Prowse generates fonts that, when typed, automatically swap confusables for the original. A confusable is a glyph that is so similar to another that it may be confused for it: ſ for f, Ꮟ for b or strung together as 5໐meтhiתg 1ıк℮ τհiՏ. All confusables generated are existing characters in the source font."; }; installName = "Confusify"; titles = { en = "Confusify"; }; url = "https://github.com/NaN-xyz/Confusify"; path = "GlyphApp Scripts/Confusables"; }, { descriptions = { en = "Scripts by Federico Parra Barrios\n- *Scrambler:* Creates a new tab with a generated random sequence of selected glyphs.\n- *Masters Overview:* Creates a new tab with rows of selected glyphs in all available masters. Ignores special layers. Useful for comparing the different weights of a typeface.\n- *Dark Mode Switch:* Switches between normal and dark mode.\n- *Control Characters:* Creates a new tab with selected glyphs between control characters “n” and “o”.\n- *Nested Components:* Creates a new tab with glyphs that have nested components.\n- *Color Nested Components:* Colors glyph layers that have nested components.\n- *Color Glyphs:* Colors glyphs to differentiate if they are Base Glyphs, Composites or Mixed Composites.\n- *Color Layers:* Colors glyph layers to differentiate if they are Base Glyphs, Composites or Mixed Composites."; }; installName = "Federico Parra Barrios"; titles = { en = "Federico Parra Barrios’s Scripts"; }; url = "https://github.com/FEDER-CO/Glyphs-Scripts"; }, { descriptions = { en = "Scripts by Juan Pablo del Peral and Andrés Torresi."; }; installName = "Huerta Tipográfica"; titles = { en = "Huerta Tipográfica Scripts"; }; url = "https://github.com/huertatipografica/huertatipografica-scripts"; dependencies = ( vanilla ); }, { descriptions = { en = "Script working with Color Flow Plugin to toggle item with shortcut"; }; installName = "Color Flow Script"; titles = { en = "Color Flow Script"; }; url = "https://github.com/HugoJourdan/Color-Flow"; path = "Color Flow Shortcut"; }, { descriptions = { en = "This is a continually expanded scripts by Taiwanese type designer Tzuyuan Yin, including one for setting all Bounding Box of Smart Component at once (SmartBBox), and many QA scripts (in the future)."; zh-Hant = "這是台灣字體設計師殷慈遠的腳本集,包含一鍵設定所有智慧組件編輯框條件的腳本 (SmartBBox),以及更多其它功能的腳本(在未來)。"; }; donationURL = "https://ko-fi.com/yintzuyuan"; installName = YinTzuYuan; titles = { en = "Tzuyuan Yin’s Scripts"; zh-Hant = "殷慈遠的腳本集"; }; url = "https://github.com/yintzuyuan/Glyphs_Scripts"; }, { descriptions = { en = "Linegap’s scripts for Glyphs app, some scripts need Vanilla module.\n- *CollectHangul:* Lets you select or input Korean hangul characters easily by selecting consonants and vowels.\n- *SimplePreviews:* Lets you preview texts which is in the font you are editing."; ko = "라인갭(Linegap)의 글립스 스크립트는 바닐라(vanilla) 모듈이 필요합니다:\n- *한글모으기:*초성, 중성, 종성 자소 선택으로 한글을 쉽게 입력 및 선택할 수 있습니다.\n- *간단미리보기:* 편집 중인 폰트의 글자들을 미리보기하는 플러그인으로, 세로쓰기 및 가로쓰기 모드를 지원합니다."; }; installName = "Linegap"; titles = { en = "Linegap’s Scripts"; ko = "라인갭 스크립트(Linegap's Scripts)"; }; url = "https://github.com/nanife/Linegap"; dependencies = ( vanilla ); }, { descriptions = { de = "Florian Pirchers Sammlung von Glyphs Skripten."; en = "Florian Pircher’s collection of Glyphs scripts."; }; installName = "Florian Pircher"; titles = { de = "Florian Pirchers Skripte"; en = "Florian Pircher’s Scripts"; }; url = "https://github.com/florianpircher/Glyphs-Scripts"; }, { descriptions = { en = "Scripts by Ricard Garcia.\n categories: *Components, Drawbot, Features, Font, Guidelines, Kern, Metrics, Paths, Select, Testing.*\nThis is the result of all the particular necessities we’ve encountered at [Typerepublic](http://typerepublic.com) while developing different kind of projects. Please note that this started as a unique set of tools for very particular tasks Typerepublic had to do during the development of different projects"; }; installName = "Typerepublic"; titles = { en = "Typerepublic's Scripts"; }; url = "https://github.com/Ricard-Garcia/TR-Glyphs-Scripts"; dependencies = ( fontTools, vanilla, drawbot ); }, { descriptions = { en = "Andreas Rasmussen’s collection of Glyphs scripts."; }; installName = "Andreas Rasmussen"; titles = { en = "Andreas Rasmussen’s Scripts"; }; url = "https://github.com/usted/Glyphs-Scripts"; }, { descriptions = { en = "Naipe Foundry Scripts"; }; installName = "Naipe"; titles = { en = "Barcelona-based foundry, scripts by Álvaro Franca and Felipe Casaprima."; }; url = "https://github.com/naipefoundry/Naipe-Foundry-Glyphs-Scripts/"; }, // *** INSERT NEW SCRIPTS ABOVE THIS LINE ); modules = ( { branch = "py310"; maxVersion = "3160"; descriptions = { en = "The Python 3 runtime packaged for Glyphs.\n⚠️ Verify the selected Python in *Glyphs > Settings > Addons > Python version.* To use this one, make sure you pick the one that says ‘Glyphs’ after the version number. [More info in the tutorial.](https://glyphsapp.com/learn/extending-glyphs)"; ru = "Python 3, созданный для Glyphs.\n⚠️ Проверьте возможность использования Python 3, зайдя в меню *Glyphs > Настройки > Дополнения > Python version.* Вам доступна эта версия, если после номера версии написано ‘Glyphs’. [Больше информации в учебнике.](https://glyphsapp.com/learn/extending-glyphs)"; }; titles = { en = Python; }; url = "https://github.com/schriftgestalt/GlyphsPythonPlugin"; }, { branch = "py311"; minVersion = "3161"; descriptions = { en = "The Python 3 runtime packaged for Glyphs.\n⚠️ Verify the selected Python in *Glyphs > Settings > Addons > Python version.* To use this one, make sure you pick the one that says ‘Glyphs’ after the version number. [More info in the tutorial.](https://glyphsapp.com/learn/extending-glyphs)"; ru = "Python 3, созданный для Glyphs.\n⚠️ Проверьте возможность использования Python 3, зайдя в меню *Glyphs > Настройки > Дополнения > Python version.* Вам доступна эта версия, если после номера версии написано ‘Glyphs’. [Больше информации в учебнике.](https://glyphsapp.com/learn/extending-glyphs)"; }; titles = { en = Python; }; url = "https://github.com/schriftgestalt/GlyphsPythonPlugin"; }, { descriptions = { en = "A Pythonic wrapper around Cocoa. Useful for building Mac UI in Python. Many scripts require this library."; ru = "Оболочка Pythonic для Cocoa. Необходима для создания пользовательского интерфейса Mac в Python. Эта библиотека требуется для многих скриптов"; }; identifier = vanilla; path = "Lib/vanilla"; titles = { en = Vanilla; }; url = "https://github.com/schriftgestalt/vanilla"; }, { descriptions = { en = "A Python library with objects that deal with data usually associated with fonts and type design."; ru = "Библиотека Python с объектами, связанными с шрифтами и тайп дизайном."; }; path = "Lib/robofab"; titles = { en = RoboFab; }; url = "https://github.com/schriftgestalt/robofab"; }, { descriptions = { en = "A Python library with objects that deal with data usually associated with fonts and type design."; ru = "Библиотека Python с объектами, связанными с шрифтами и тайп дизайном."; }; identifier = fontTools; path = "Lib/fontTools"; titles = { en = FontTools; }; url = "https://github.com/fonttools/fonttools"; }, { identifier = paddle; hidden = 1; archs = ( intel, arm, ); descriptions = { en = "A module required by some plugins to offer a trial period."; ru = "Модуль, требуемый некоторыми плагинами для предоставления пробного периода."; }; minVersion = 3062; titles = { en = Paddle; }; url = "https://github.com/Mark2Mark/paddle-framework"; }, { identifier = numpy; hidden = 1; archs = ( intel, arm, ); descriptions = { en = "NumPy is the fundamental package for scientific computing in Python."; ru = "NumPy—это основной пакет для научных вычислений в Python."; }; titles = { en = "NumPy"; }; url = "https://github.com/numpy/numpy"; path = "numpy/lib"; }, { identifier = matplotlib; hidden = 1; archs = ( intel, arm, ); descriptions = { en = "Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python"; ru = "Matplotlib—это широкая библиотека для создания статических, анимированных и интерактивных визуализаций на Python."; }; titles = { en = "Matplotlib"; }; url = "https://github.com/matplotlib/matplotlib"; path = "lib/matplotlib"; }, { identifier = jkglyphshelpers; hidden = 1; archs = ( intel, arm, ); descriptions = { en = "jkGlyphsHelpers contains helper functions and other modules used by Jens Kutílek’s Glyphs scripts."; }; titles = { en = "jkGlyphsHelpers"; }; url = "https://github.com/jenskutilek/jkGlyphsHelpers"; path = "lib/jkGlyphsHelpers"; }, ); }; }