OpenType: the panel turns Stylistic and Titling Alternates on and off, and offers Proportional Lining figures

The OpenType panel gains Stylistic Alternates (salt) and Titling Alternates
(titl) checkboxes after Swash. The Figure menu lists Default Figure, Tabular
Lining, Proportional Lining, Proportional Oldstyle and Tabular Oldstyle.
Proportional Lining sets pnum and lnum and turns tnum and onum off; Tabular
Lining keeps lnum, Proportional Oldstyle keeps pnum, and Default Figure and
Tabular Oldstyle turn both off. Every catalog has rows for the three new
labels.
This commit is contained in:
dotCooCoo
2026-11-01 07:16:31 +07:00
committed by bflatastic
parent 8805fa8214
commit 13628274b7
28 changed files with 252 additions and 24 deletions
+3
View File
@@ -2416,6 +2416,7 @@ digits Tamil Тамилски
digits Telugu Телугу
digits Kannada Каннада
digits Malayalam Малаялам
Proportional Lining Пропорционални подравнени цифри
Proportional Oldstyle Пропорционални стари цифри
Pucker & Bloat… Свиване и раздуване…
Pucker Tool Инструмент „Свиване“
@@ -3203,6 +3204,7 @@ digits Malayalam Малаялам
Swap Fill and Stroke (Shift+X) Размяна на запълването и щриха (Shift+X)
Swap start and end arrowheads Размяна на началната и крайната стрелка
Swap the selected object for the file, keeping its place and transform Замяна на избрания обект с файла, като се запазват мястото и трансформациите му
Stylistic Alternates Стилистични алтернативи
Swash Декоративен елемент
Swatch Conflict Конфликт на образци
Swatch Conflicts Конфликти на образци
@@ -3272,6 +3274,7 @@ digits Malayalam Малаялам
Tabs Табулатори
Tabular Lining Таблични подравнени цифри
Tabular Oldstyle Таблични стари цифри
Titling Alternates Алтернативи за заглавия
Target Цел
Target Contents Целево съдържание
Target: Цел:
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -1780,13 +1780,16 @@ digits Malayalam Malajalam
Fractions Razlomci
Ligatures are off while the text is tracked. Ligature su isključene dok tekst ima razmak slova.
Ordinals Redni brojevi
Proportional Lining Proporcionalne brojke
Proportional Oldstyle Proporcionalne stare brojke
Reset OpenType Features Vrati OpenType mogućnosti na početno
Select text to set its OpenType features. Odaberite tekst da postavite njegove OpenType mogućnosti.
Standard Ligatures Standardne ligature
Stylistic Alternates Stilske alternative
Swash Ukrasni potez
Tabular Lining Tabelarne brojke
Tabular Oldstyle Tabelarne stare brojke
Titling Alternates Alternative za naslove
Every-line Composer Slagač svih redova
First-line Left Indent Lijeva uvlaka prvog reda
Hyphenation… Rastavljanje riječi…
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -3098,6 +3098,7 @@ digits Malayalam Malaiàlam
Proof Setup Configuració de prova
Properties Propietats
Proportional Metrics Mètriques proporcionals
Proportional Lining Xifres proporcionals alineades
Proportional Oldstyle Oldstyle proporcional
PRs PRs
Public Domain Domini públic
@@ -4118,6 +4119,7 @@ digits Malayalam Malaiàlam
Swap Fill and Stroke (Shift+X) Intercanvia el farciment i el traç (Maj+X)
Swap start and end arrowheads Intercanvia les puntes de fletxa inicial i final
Swap the selected object for the file, keeping its place and transform Substitueix l’objecte seleccionat pel fitxer, mantenint-ne la posició i la transformació
Stylistic Alternates Alternatives estilístiques
Swash Volada
Swatch Conflict Conflicte de mostres
Swatch Conflicts Conflictes de mostres
@@ -4175,6 +4177,7 @@ digits Malayalam Malaiàlam
Tabs Tabulacions
Tabular Lining Xifres tabulars alineades
Tabular Oldstyle Xifres tabulars antigues
Titling Alternates Alternatives de titulars
Tag Etiqueta
Tag (open) Etiqueta (oberta)
Taper Afusament
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -1806,13 +1806,16 @@ digits Malayalam Malajálamské
Fractions Zlomky
Ligatures are off while the text is tracked. Ligatury jsou vypnuté, když má text prostrkání.
Ordinals Řadové číslovky
Proportional Lining Proporcionální verzálkové
Proportional Oldstyle Proporcionální minuskové
Reset OpenType Features Obnovit funkce OpenType
Select text to set its OpenType features. Vyberte text, abyste mohli nastavit jeho funkce OpenType.
Standard Ligatures Standardní ligatury
Stylistic Alternates Stylistické alternativy
Swash Ozdobné tvary
Tabular Lining Tabulkové verzálkové
Tabular Oldstyle Tabulkové minuskové
Titling Alternates Titulkové alternativy
Every-line Composer Sazba všech řádků
First-line Left Indent Odsazení prvního řádku zleva
Hyphenation… Dělení slov…
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -1622,13 +1622,16 @@ digits Malayalam Malayalam
Fractions Brøker
Ligatures are off while the text is tracked. Ligaturer er slået fra, mens der er sporing på teksten.
Ordinals Ordenstal
Proportional Lining Proportionale versalcifre
Proportional Oldstyle Proportionale mediævalcifre
Reset OpenType Features Nulstil OpenType-funktioner
Select text to set its OpenType features. Markér tekst for at angive dens OpenType-funktioner.
Standard Ligatures Standardligaturer
Stylistic Alternates Stilistiske alternativer
Swash Sving
Tabular Lining Tabulære versalcifre
Tabular Oldstyle Tabulære mediævalcifre
Titling Alternates Titelalternativer
Every-line Composer Hverlinjesætter
First-line Left Indent Venstre indrykning af første linje
Hyphenation… Orddeling…
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -2435,6 +2435,7 @@ digits Tamil Tamil
digits Telugu Telugu
digits Kannada Kannada
digits Malayalam Malayalam
Proportional Lining Proportionale Versalziffern
Proportional Oldstyle Proportionale Mediävalziffern
Pucker & Bloat… Zusammenziehen und aufblasen…
Pucker Tool Zusammenziehen-Werkzeug
@@ -3241,6 +3242,7 @@ effect Points Punkte
Swap Fill and Stroke (Shift+X) Fläche und Kontur vertauschen (Shift+X)
Swap start and end arrowheads Pfeilspitzen an Anfang und Ende vertauschen
Swap the selected object for the file, keeping its place and transform Das ausgewählte Objekt durch die Datei ersetzen; Position und Transformation bleiben erhalten
Stylistic Alternates Stilistische Varianten
Swash Schwungschrift
Swatch Conflict Farbfeldkonflikt
Swatch Conflicts Farbfeldkonflikte
@@ -3293,6 +3295,7 @@ effect Points Punkte
Tabs Tabulatoren
Tabular Lining Tabellarische Versalziffern
Tabular Oldstyle Tabellarische Mediävalziffern
Titling Alternates Titelschriftvarianten
Target Ziel
Target Contents Inhalt als Ziel auswählen
Target: Ziel:
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -1954,6 +1954,7 @@ font-technology Variable Μεταβλητές
Subtract Αφαίρεση
Superscript Εκθέτης
Superscript: Εκθέτης:
Stylistic Alternates Εναλλακτικοί χαρακτήρες στυλ
Swash Διακοσμητικά τελειώματα
Swatches Δείγματα χρωμάτων
New Group Νέα ομάδα
@@ -3074,6 +3075,7 @@ digits Tamil Ταμιλικά
digits Telugu Τελούγκου
digits Kannada Κανάντα
digits Malayalam Μαλαγιάλαμ
Proportional Lining Ισοϋψείς αναλογικοί αριθμοί
Proportional Oldstyle Αναλογικοί παλαιοτυπικοί αριθμοί
Pucker & Bloat… Συρρίκνωση και διόγκωση…
Pucker Tool Συρρίκνωση (Pucker Tool)
@@ -3694,6 +3696,7 @@ digits Malayalam Μαλαγιάλαμ
Tabs Στηλοθέτες
Tabular Lining Ισοϋψείς αριθμοί σταθερού πλάτους
Tabular Oldstyle Παλαιοτυπικοί αριθμοί σταθερού πλάτους
Titling Alternates Εναλλακτικοί χαρακτήρες τίτλων
Target Στόχος
Target Contents Περιεχόμενα στόχου
Tate-chu-yoko Tate-chu-yoko
Can't render this file because it contains an unexpected character in line 164 and column 5.
+3
View File
@@ -2473,6 +2473,7 @@ digits Tamil Tamil
digits Telugu Telugu
digits Kannada Canarés
digits Malayalam Malayálam
Proportional Lining Proporcionales de caja alta
Proportional Oldstyle Estilo antiguo proporcional
Pucker & Bloat… Fruncir y engordar…
Pucker Tool Herramienta Fruncir
@@ -3275,6 +3276,7 @@ digits Malayalam Malayálam
Swap Fill and Stroke (Shift+X) Intercambiar relleno y trazo (Shift+X)
Swap start and end arrowheads Intercambiar puntas de flecha inicial y final
Swap the selected object for the file, keeping its place and transform Sustituir el objeto seleccionado por el archivo, conservando su posición y transformación
Stylistic Alternates Alternativas estilísticas
Swash Decorativa
Swatch Conflict Conflicto de muestras
Swatch Conflicts Conflictos de muestras
@@ -3344,6 +3346,7 @@ digits Malayalam Malayálam
Tabs Tabulaciones
Tabular Lining Tabulares de caja alta
Tabular Oldstyle Tabulares de estilo antiguo
Titling Alternates Alternativas de titulares
Target Destino
Target Contents Contenido de destino
Target: Destino:
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -1767,13 +1767,16 @@ digits Malayalam Malajalam
Fractions Murtoluvut
Ligatures are off while the text is tracked. Ligatuurit eivät ole käytössä, kun tekstin merkkiväliä on muutettu.
Ordinals Järjestysluvut
Proportional Lining Suhteelliset numerot
Proportional Oldstyle Suhteelliset vanhanaikaiset numerot
Reset OpenType Features Palauta OpenType-ominaisuudet
Select text to set its OpenType features. Valitse teksti, jonka OpenType-ominaisuudet haluat asettaa.
Standard Ligatures Vakioligatuurit
Stylistic Alternates Tyylivaihtoehdot
Swash Koukerot
Tabular Lining Taulukkonumerot
Tabular Oldstyle Vanhanaikaiset taulukkonumerot
Titling Alternates Otsikkovaihtoehdot
Every-line Composer Kaikkien rivien asettelu
First-line Left Indent Ensimmäisen rivin vasen sisennys
Hyphenation… Tavutus…
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -2471,6 +2471,7 @@ digits Tamil Tamoul
digits Telugu Télougou
digits Kannada Kannada
digits Malayalam Malayalam
Proportional Lining Chiffres proportionnels alignés
Proportional Oldstyle Elzévirien proportionnel
Pucker & Bloat… Contraction et dilatation…
Pucker Tool Outil Contraction
@@ -3273,6 +3274,7 @@ digits Malayalam Malayalam
Swap Fill and Stroke (Shift+X) Permuter le fond et le contour (Maj+X)
Swap start and end arrowheads Permuter les pointes de flèche de début et de fin
Swap the selected object for the file, keeping its place and transform Remplacer l’objet sélectionné par le fichier, en conservant sa position et sa transformation
Stylistic Alternates Variantes stylistiques
Swash Lettres ornées
Swatch Conflict Conflit de nuances
Swatch Conflicts Conflits de nuances
@@ -3342,6 +3344,7 @@ digits Malayalam Malayalam
Tabs Tabulations
Tabular Lining Chiffres tabulaires alignés
Tabular Oldstyle Chiffres tabulaires elzéviriens
Titling Alternates Variantes de titrage
Target Cible
Target Contents Contenu de la cible
Target: Cible :
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -3001,6 +3001,7 @@ mark-style Japanese Japán
Proof Setup Színpróba beállítása
Properties Tulajdonságok
Proportional Metrics Arányos metrika
Proportional Lining Arányos modern
Proportional Oldstyle Arányos régies
Public Domain Közkincs
Pucker Összehúzás
@@ -3944,6 +3945,7 @@ mark-style Japanese Japán
Swap Fill and Stroke (Shift+X) Kitöltés és körvonal cseréje (Shift+X)
Swap start and end arrowheads Kezdő és záró nyílhegy cseréje
Swap the selected object for the file, keeping its place and transform A kijelölt objektum cseréje a fájlra, a helye és az átalakítása megtartásával
Stylistic Alternates Stilisztikai változatok
Swash Cifra változatok
Swatch Conflict Színminta-ütközés
Swatch Conflicts Színminta-ütközések
@@ -3989,6 +3991,7 @@ mark-style Japanese Japán
Tabs Tabulátorok
Tabular Lining Táblázatos modern
Tabular Oldstyle Táblázatos régies
Titling Alternates Címváltozatok
Tag Címke
Tag (open) Címke (nyitott)
Target Célzás
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -1622,13 +1622,16 @@ digits Malayalam Malayalam
Fractions Pecahan
Ligatures are off while the text is tracked. Ligatur nonaktif saat teks diberi tracking.
Ordinals Ordinal
Proportional Lining Lining proporsional
Proportional Oldstyle Oldstyle proporsional
Reset OpenType Features Setel ulang fitur OpenType
Select text to set its OpenType features. Pilih teks untuk mengatur fitur OpenType-nya.
Standard Ligatures Ligatur standar
Stylistic Alternates Alternatif gaya
Swash Swash
Tabular Lining Lining tabular
Tabular Oldstyle Oldstyle tabular
Titling Alternates Alternatif judul
Every-line Composer Komposer tiap baris
First-line Left Indent Indentasi kiri baris pertama
Hyphenation… Pemenggalan kata…
1 # Indonesian (id) catalog. Same format as zh-hant.tsv: context <TAB> source <TAB> translation
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
+3
View File
@@ -2504,6 +2504,7 @@ digits Tamil Tamil
digits Telugu Telugu
digits Kannada Kannada
digits Malayalam Malayalam
Proportional Lining Proporzionali allineati
Proportional Oldstyle Proporzionali stile antico
Pucker & Bloat… Contrai e gonfia…
Pucker Tool Strumento Contrai
@@ -3309,6 +3310,7 @@ digits Malayalam Malayalam
Swap Fill and Stroke (Shift+X) Inverti riempimento e traccia (Shift+X)
Swap start and end arrowheads Inverti punte di freccia iniziale e finale
Swap the selected object for the file, keeping its place and transform Sostituisci l'oggetto selezionato con il file, mantenendone posizione e trasformazione
Stylistic Alternates Alternative stilistiche
Swash Ornamentale
Swatch Conflict Conflitto campioni
Swatch Conflicts Conflitti campioni
@@ -3378,6 +3380,7 @@ digits Malayalam Malayalam
Tabs Tabulazioni
Tabular Lining Tabulari allineati
Tabular Oldstyle Tabulari stile antico
Titling Alternates Alternative per titoli
Target Destinazione
Target Contents Contenuto destinazione
Target: Destinazione:
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -3041,6 +3041,7 @@ mark-style Japanese 日本式
Superscript: 上付き文字:
Swap Fill and Stroke 塗りと線を入れ替え
Swap start and end arrowheads 始点と終点の矢印を入れ替え
Stylistic Alternates スタイル代替字
Swash スワッシュ
Swatch Conflict スウォッチの競合
Swatch Conflicts スウォッチの競合
@@ -3615,6 +3616,7 @@ file-filter Templates テンプレート
Preset {} プリセット {}
Preview in Browser needs the desktop app (the web downloads files instead) ブラウザーでプレビューにはデスクトップアプリが必要です (Web アプリではファイルがダウンロードされます)
Print presets プリントプリセット
Proportional Lining プロポーショナルライニング
Proportional Oldstyle プロポーショナルオールドスタイル
Punctuation 句読点
Radius 1 半径 1
@@ -3696,6 +3698,7 @@ file-filter Templates テンプレート
System Layout システムレイアウト
Tabular Lining 等幅ライニング
Tabular Oldstyle 等幅オールドスタイル
Titling Alternates タイトル代替字
Tate-chu-yoko 縦中横
Temperature 色温度
Template テンプレート
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -1525,13 +1525,16 @@ digits Malayalam მალაიალამური
Fractions წილადები
Ligatures are off while the text is tracked. ტექსტზე ტრეკინგის დროს ლიგატურები გამორთულია.
Ordinals რიგობითი რიცხვები
Proportional Lining პროპორციული ხაზოვანი
Proportional Oldstyle პროპორციული ძველებური
Reset OpenType Features OpenType შესაძლებლობების ჩამოყრა
Select text to set its OpenType features. OpenType შესაძლებლობების დასაყენებლად მონიშნეთ ტექსტი.
Standard Ligatures სტანდარტული ლიგატურები
Stylistic Alternates სტილისტური ალტერნატივები
Swash მოხატული ასოები (swash)
Tabular Lining ცხრილური ხაზოვანი
Tabular Oldstyle ცხრილური ძველებური
Titling Alternates სათაურის ალტერნატივები
Every-line Composer აბზაცის მიხედვით აწყობა
First-line Left Indent პირველი სტრიქონის მარცხენა შეწევა
Hyphenation… სიტყვების გადატანა…
Can't render this file because it is too large.
+3
View File
@@ -3030,6 +3030,7 @@ mark-style Japanese 일본식
Superscript: 위 첨자:
Swap Fill and Stroke 칠과 선 바꾸기
Swap start and end arrowheads 시작과 끝 화살촉 바꾸기
Stylistic Alternates 스타일 대체 글자
Swash 스워시
Swatch Conflict 견본 충돌
Swatch Conflicts 견본 충돌
@@ -3603,6 +3604,7 @@ file-filter Templates 템플릿
Preset {} 프리셋 {}
Preview in Browser needs the desktop app (the web downloads files instead) 브라우저에서 미리 보기는 데스크톱 앱이 필요합니다(웹에서는 파일이 다운로드됩니다)
Print presets 인쇄 프리셋
Proportional Lining 비례 라이닝
Proportional Oldstyle 비례 올드스타일
Punctuation 문장 부호
Radius 1 반지름 1
@@ -3684,6 +3686,7 @@ file-filter Templates 템플릿
System Layout 시스템 레이아웃
Tabular Lining 고정폭 라이닝
Tabular Oldstyle 고정폭 올드스타일
Titling Alternates 제목 대체 글자
Tate-chu-yoko 다테추요코
Temperature 색온도
Template 템플릿
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -1636,13 +1636,16 @@ digits Malayalam Malayalam
Fractions Breuken
Ligatures are off while the text is tracked. Ligaturen staan uit terwijl de tekst wordt gespatieerd.
Ordinals Rangtelwoorden
Proportional Lining Proportionele lining
Proportional Oldstyle Proportionele oldstyle
Reset OpenType Features OpenType-functies herstellen
Select text to set its OpenType features. Selecteer tekst om de OpenType-functies in te stellen.
Standard Ligatures Standaardligaturen
Stylistic Alternates Stilistische alternatieven
Swash Swash
Tabular Lining Tabulaire lining
Tabular Oldstyle Tabulaire oldstyle
Titling Alternates Titelalternatieven
Every-line Composer Compositie per alinea
First-line Left Indent Eerste regel links inspringen
Hyphenation… Afbreken…
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -1725,13 +1725,16 @@ digits Malayalam Malajalam
Fractions Ułamki
Ligatures are off while the text is tracked. Ligatury są wyłączone, gdy tekst ma zmienione światło.
Ordinals Liczebniki porządkowe
Proportional Lining Proporcjonalne nowoczesne
Proportional Oldstyle Proporcjonalne nautyczne
Reset OpenType Features Resetuj funkcje OpenType
Select text to set its OpenType features. Zaznacz tekst, aby ustawić jego funkcje OpenType.
Standard Ligatures Ligatury standardowe
Stylistic Alternates Alternatywy stylistyczne
Swash Ozdobniki
Tabular Lining Tabelaryczne nowoczesne
Tabular Oldstyle Tabelaryczne nautyczne
Titling Alternates Alternatywy tytułowe
Every-line Composer Kompozytor wielowierszowy
First-line Left Indent Wcięcie pierwszego wiersza
Hyphenation… Dzielenie wyrazów…
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -2702,6 +2702,7 @@ digits Malayalam Malaiala
Superscript: Sobrescrito:
Swap Fill and Stroke Trocar Preenchimento e Traçado
Swap start and end arrowheads Trocar pontas de seta inicial e final
Stylistic Alternates Variantes Estilísticas
Swash Ornamento
Swatch Conflict Conflito de Amostra
Swatch Conflicts Conflitos de Amostra
@@ -4619,6 +4620,7 @@ axis Both Ambos
Preset {} Predefinido {}
Preview in Browser needs the desktop app (the web downloads files instead) A visualização no navegador exige o aplicativo para desktop (na web, os arquivos são baixados)
Print presets Predefinidos de impressão
Proportional Lining Alinhado Proporcional
Proportional Oldstyle Antigo Proporcional
Punctuation Pontuação
Radius 1 Raio 1
@@ -4722,6 +4724,7 @@ axis Both Ambos
System Layout Layout do Sistema
Tabular Lining Alinhado Tabular
Tabular Oldstyle Antigo Tabular
Titling Alternates Variantes de Titulação
Tate-chu-yoko Tate-chu-yoko
Temperature Temperatura
Templates Modelos
Can't render this file because it contains an unexpected character in line 6 and column 47.
+3
View File
@@ -2500,6 +2500,7 @@ digits Tamil Тамильские
digits Telugu Телугу
digits Kannada Каннада
digits Malayalam Малаялам
Proportional Lining Пропорциональные цифры
Proportional Oldstyle Пропорциональные старого стиля
Pucker & Bloat… Сморщивание и раздувание…
Pucker Tool Инструмент «Сморщивание»
@@ -3305,6 +3306,7 @@ digits Malayalam Малаялам
Swap Fill and Stroke (Shift+X) Поменять заливку и обводку (Shift+X)
Swap start and end arrowheads Поменять начальную и конечную стрелки
Swap the selected object for the file, keeping its place and transform Заменить выделенный объект файлом, сохранив его положение и преобразование
Stylistic Alternates Стилистические альтернативы
Swash Росчерк
Swatch Conflict Конфликт образцов
Swatch Conflicts Конфликты образцов
@@ -3374,6 +3376,7 @@ digits Malayalam Малаялам
Tabs Табуляции
Tabular Lining Табличные цифры
Tabular Oldstyle Табличные старого стиля
Titling Alternates Альтернативы для заголовков
Target Объект
Target Contents Содержимое объекта
Target: Объект:
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -2416,6 +2416,7 @@ digits Tamil Tamil
digits Telugu Telugu
digits Kannada Kannada
digits Malayalam Malayalam
Proportional Lining Proportionella versalsiffror
Proportional Oldstyle Proportionella medievalsiffror
Pucker & Bloat… Dra ihop och svullna…
Pucker Tool Verktyget Dra ihop
@@ -3203,6 +3204,7 @@ digits Malayalam Malayalam
Swap Fill and Stroke (Shift+X) Byt plats på fyllning och kontur (Shift+X)
Swap start and end arrowheads Byt plats på start- och slutpilspets
Swap the selected object for the file, keeping its place and transform Ersätt det markerade objektet med filen och behåll dess placering och transformering
Stylistic Alternates Stilistiska alternativ
Swash Swash
Swatch Conflict Färgrutekonflikt
Swatch Conflicts Färgrutekonflikter
@@ -3272,6 +3274,7 @@ digits Malayalam Malayalam
Tabs Tabbstopp
Tabular Lining Tabellsiffror, versala
Tabular Oldstyle Medievalsiffror i tabellbredd
Titling Alternates Rubrikalternativ
Target Mål
Target Contents Målets innehåll
Target: Mål:
Can't render this file because it contains an unexpected character in line 5 and column 25.
+3
View File
@@ -2293,6 +2293,7 @@ digits Tamil Tamilce
digits Telugu Telugu
digits Kannada Kannada
digits Malayalam Malayalam
Proportional Lining Orantılı Astar
Proportional Oldstyle Orantılı Eski Stil
Pucker & Bloat… Büzüşme ve Şişkinlik…
Pucker Tool Büzme Aracı
@@ -3099,6 +3100,7 @@ digits Malayalam Malayalam
Swap Fill and Stroke (Shift+X) Dolgu ve Konturu Değiştir (Shift+X)
Swap start and end arrowheads Başlangıç ve bitiş ok uçlarını değiştirin
Swap the selected object for the file, keeping its place and transform Seçilen nesneyi, yerini koruyarak dosyayla değiştirin ve dönüştürün
Stylistic Alternates Stilistik Alternatifler
Swash çalkalama
Swatch Conflict Renk Örneği Çatışması
Swatch Conflicts Renk Örneği Çatışmaları
@@ -3168,6 +3170,7 @@ digits Malayalam Malayalam
Tabs Sekmeler
Tabular Lining Sekmeli Astar
Tabular Oldstyle Tablolu Eski Stil
Titling Alternates Başlık Alternatifleri
Target Hedef
Target Contents Hedef İçerikler
Target: Hedef:
Can't render this file because it contains an unexpected character in line 5 and column 25.
+3
View File
@@ -2496,6 +2496,7 @@ digits Tamil Тамільські
digits Telugu Телугу
digits Kannada Каннада
digits Malayalam Малаялам
Proportional Lining Пропорційні цифри
Proportional Oldstyle Пропорційні цифри старого стилю
Pucker & Bloat… Зморщування та роздування …
Pucker Tool Інструмент «Зморщування»
@@ -3302,6 +3303,7 @@ effect Points Точки
Swap Fill and Stroke (Shift+X) Змінити заливку та обведення (Shift+X)
Swap start and end arrowheads Поміняти початкову та кінцеву стрілки
Swap the selected object for the file, keeping its place and transform Замінити виділений об’єкт файлом, зберігши його положення та перетворення
Stylistic Alternates Стилістичні альтернативи
Swash Розчерк
Swatch Conflict Конфлікт зразків
Swatch Conflicts Конфлікти зразків
@@ -3371,6 +3373,7 @@ effect Points Точки
Tabs Табуляції
Tabular Lining Табличні цифри
Tabular Oldstyle Табличні цифри старого стилю
Titling Alternates Альтернативи для заголовків
Target Об’єкт
Target Contents Вміст об’єкта
Target: Об’єкт:
Can't render this file because it contains an unexpected character in line 178 and column 5.
+3
View File
@@ -2783,6 +2783,7 @@ mark-style Japanese Kiểu Nhật
Proof Setup Thiết lập thử nghiệm
Properties Thuộc tính
Proportional Metrics Số liệu theo tỷ lệ
Proportional Lining Số tỷ lệ đứng
Proportional Oldstyle Kiểu cũ theo tỷ lệ
Pucker & Bloat… Nhíu & Phồng…
Pucker Tool Công cụ Nhíu
@@ -3661,6 +3662,7 @@ mark-style Japanese Kiểu Nhật
Swap Fill and Stroke (Shift+X) Đổi màu tô và nét (Shift+X)
Swap start and end arrowheads Đổi đầu mũi tên bắt đầu và kết thúc
Swap the selected object for the file, keeping its place and transform Thay đối tượng đã chọn bằng tệp, giữ nguyên vị trí và biến đổi
Stylistic Alternates Ký tự thay thế theo phong cách
Swash Swash
Swatch Conflict Xung đột mẫu màu
Swatch Conflicts Xung đột mẫu màu
@@ -3699,6 +3701,7 @@ mark-style Japanese Kiểu Nhật
Tabs Tab
Tabular Lining Số bảng đứng
Tabular Oldstyle Số bảng kiểu cũ
Titling Alternates Ký tự thay thế cho tiêu đề
Taper Thu dần
Target Mục tiêu
Target Contents Nội dung mục tiêu
Can't render this file because it contains an unexpected character in line 200 and column 5.
+3
View File
@@ -2376,6 +2376,7 @@ digits Tamil 泰米尔数字
digits Telugu 泰卢固数字
digits Kannada 卡纳达数字
digits Malayalam 马拉雅拉姆数字
Proportional Lining 比例齐线数字
Proportional Oldstyle 比例旧式数字
Pucker & Bloat… 缩拢与膨胀…
Pucker Tool 收缩工具
@@ -3141,6 +3142,7 @@ digits Malayalam 马拉雅拉姆数字
Swap Fill and Stroke (Shift+X) 切换填色和描边 (Shift+X)
Swap start and end arrowheads 对调起点与终点箭头
Swap the selected object for the file, keeping its place and transform 以文件替换选择的对象,并保留其位置与变形
Stylistic Alternates 风格替代字
Swash 花饰字
Swatch Conflict 色板冲突
Swatch Conflicts 色板冲突
@@ -3210,6 +3212,7 @@ digits Malayalam 马拉雅拉姆数字
Tabs 制表符
Tabular Lining 等宽齐线数字
Tabular Oldstyle 等宽旧式数字
Titling Alternates 标题替代字
Target 目标
Target Contents 目标内容
Target: 目标:
Can't render this file because it contains an unexpected character in line 2 and column 73.
+3
View File
@@ -3317,6 +3317,7 @@ digits Tamil 坦米爾數字
digits Telugu 泰盧固數字
digits Kannada 坎那達數字
digits Malayalam 馬來亞拉姆數字
Proportional Lining 比例齊線數字
Proportional Oldstyle 比例舊式數字
Pucker & Bloat… 縮攏與膨脹…
Pucker Tool 縮攏工具
@@ -4120,6 +4121,7 @@ digits Malayalam 馬來亞拉姆數字
Swap Fill and Stroke (Shift+X) 對調填色與筆畫 (Shift+X)
Swap start and end arrowheads 對調起點與終點箭頭
Swap the selected object for the file, keeping its place and transform 以檔案取代選取的物件,並保留其位置與變形
Stylistic Alternates 風格替代字
Swash 花體字
Swatch Conflict 色票衝突
Swatch Conflicts 色票衝突
@@ -4189,6 +4191,7 @@ digits Malayalam 馬來亞拉姆數字
Tabs 定位點
Tabular Lining 等寬齊線數字
Tabular Oldstyle 等寬舊式數字
Titling Alternates 標題替代字
Target 目標
Target Contents 目標內容
Target: 目標:
Can't render this file because it contains an unexpected character in line 6 and column 47.
+173 -24
View File
@@ -3,16 +3,74 @@
use egui::Ui;
use serde_json::json;
use vectorcraft_text::OtFeatures;
use vectorcraft_text::{EXTRA_FEATURES, OtFeatures};
use super::character::{text_editing, text_style};
use crate::VectorcraftApp;
use crate::widgets::{self, menu_item};
/// A checkbox row: label and the feature flag it toggles.
type Toggle = (&'static str, fn(&mut OtFeatures) -> &mut bool);
/// The feature a checkbox row toggles: a named flag, or a tag of [`EXTRA_FEATURES`].
#[derive(Clone, Copy)]
enum Flag {
Field(fn(&mut OtFeatures) -> &mut bool),
Extra(&'static str),
}
const FIGURES: [&str; 4] = ["Default Figure", "Tabular Lining", "Proportional Oldstyle", "Tabular Oldstyle"];
/// A checkbox row: label and the feature it toggles.
type Toggle = (&'static str, Flag);
const FIGURES: [&str; 5] = ["Default Figure", "Tabular Lining", "Proportional Lining", "Proportional Oldstyle", "Tabular Oldstyle"];
/// The bit of [`OtFeatures::extra`] that turns `tag` on (0 for a tag outside [`EXTRA_FEATURES`]).
fn extra_bit(tag: &str) -> u32 {
EXTRA_FEATURES.iter().position(|t| *t == tag).map_or(0, |i| 1 << i)
}
impl Flag {
fn get(self, f: &OtFeatures) -> bool {
match self {
Flag::Field(field) => *field(&mut f.clone()),
Flag::Extra(tag) => f.extra & extra_bit(tag) != 0,
}
}
fn put(self, f: &mut OtFeatures, on: bool) {
match self {
Flag::Field(field) => *field(f) = on,
Flag::Extra(tag) if on => f.extra |= extra_bit(tag),
Flag::Extra(tag) => f.extra &= !extra_bit(tag),
}
}
}
/// The Figure menu entry `f` shows: Default Figure, Tabular Lining, Proportional Lining
/// (`pnum` and `lnum`), Proportional Oldstyle or Tabular Oldstyle.
fn figure(f: &OtFeatures) -> usize {
let proportional_lining = extra_bit("pnum") | extra_bit("lnum");
match (f.tabular_figures, f.oldstyle_figures) {
(false, false) if f.extra & proportional_lining == proportional_lining => 2,
(false, false) => 0,
(true, false) => 1,
(false, true) => 3,
(true, true) => 4,
}
}
/// `f` with Figure menu entry `i` chosen: the entry's features on, the other figure features off.
/// Tabular Lining keeps an `lnum` the type already has and clears `pnum`; Proportional Oldstyle
/// keeps a `pnum` and clears `lnum`; Default Figure and Tabular Oldstyle clear both.
fn set_figure(f: &mut OtFeatures, i: usize) {
f.tabular_figures = i == 1 || i == 4;
f.oldstyle_figures = i >= 3;
f.extra &= !match i {
1 => extra_bit("pnum"),
3 => extra_bit("lnum"),
_ => extra_bit("pnum") | extra_bit("lnum"),
};
if i == 2 {
f.extra |= extra_bit("pnum") | extra_bit("lnum");
}
}
/// Apply `f` to the selection's features (the Type tool range, or whole objects).
fn set(app: &mut VectorcraftApp, f: OtFeatures) {
@@ -36,31 +94,16 @@ pub fn show(app: &mut VectorcraftApp, ui: &mut Ui) {
let mut next = cur;
ui.horizontal(|ui| {
widgets::dim_label(ui, tl!("Figure:"));
let fig = match (cur.tabular_figures, cur.oldstyle_figures) {
(false, false) => 0,
(true, false) => 1,
(false, true) => 2,
(true, true) => 3,
};
let fig = figure(&cur);
if let Some(i) = widgets::dropdown(ui, "ot-figure", FIGURES[fig], &FIGURES, 170.0) {
next.tabular_figures = i == 1 || i == 3;
next.oldstyle_figures = i >= 2;
set_figure(&mut next, i);
}
});
widgets::divider(ui);
let rows: [Toggle; 7] = [
(tl!("Standard Ligatures"), |f| &mut f.ligatures),
(tl!("Contextual Alternates"), |f| &mut f.contextual),
(tl!("Discretionary Ligatures"), |f| &mut f.discretionary_ligatures),
(tl!("Swash"), |f| &mut f.swash),
(tl!("Small Caps"), |f| &mut f.small_caps),
(tl!("Ordinals"), |f| &mut f.ordinals),
(tl!("Fractions"), |f| &mut f.fractions),
];
for (label, field) in rows {
let on = *field(&mut next.clone());
for (label, flag) in rows() {
let on = flag.get(&next);
if widgets::check(ui, label, on, true) {
*field(&mut next) = !on;
flag.put(&mut next, !on);
}
}
if cur.ligatures && vectorcraft_text::ligatures_suppressed_by(st.tracking) && !vectorcraft_text::explicit_ligatures(&st.features) {
@@ -71,6 +114,21 @@ pub fn show(app: &mut VectorcraftApp, ui: &mut Ui) {
}
}
/// The panel's checkbox rows, in the order they are drawn.
fn rows() -> [Toggle; 9] {
[
(tl!("Standard Ligatures"), Flag::Field(|f| &mut f.ligatures)),
(tl!("Contextual Alternates"), Flag::Field(|f| &mut f.contextual)),
(tl!("Discretionary Ligatures"), Flag::Field(|f| &mut f.discretionary_ligatures)),
(tl!("Swash"), Flag::Field(|f| &mut f.swash)),
(tl!("Stylistic Alternates"), Flag::Extra("salt")),
(tl!("Titling Alternates"), Flag::Extra("titl")),
(tl!("Small Caps"), Flag::Field(|f| &mut f.small_caps)),
(tl!("Ordinals"), Flag::Field(|f| &mut f.ordinals)),
(tl!("Fractions"), Flag::Field(|f| &mut f.fractions)),
]
}
pub fn menu(app: &mut VectorcraftApp, ui: &mut Ui) {
if menu_item(ui, tl!("Reset OpenType Features"), text_style(app).is_some(), false) {
set(app, OtFeatures::default());
@@ -96,4 +154,95 @@ mod tests {
set(&mut app, OtFeatures { ligatures: false, fractions: true, ..Default::default() });
assert_eq!(text_style(&app).unwrap().0.features, ["-liga", "frac"]);
}
fn selected_text() -> VectorcraftApp {
let mut app = VectorcraftApp::new(vectorcraft_engine::Session::new(), Default::default());
app.session.execute("file.new", &json!({"width": 100, "height": 100})).unwrap();
let id = app.session.execute("text.create", &json!({"x": 10, "y": 40, "text": "Ag 12"})).unwrap()["id"].clone();
app.session.execute("select.set", &json!({"ids": [id]})).unwrap();
app
}
fn features(app: &VectorcraftApp) -> OtFeatures {
OtFeatures::from_tags(text_style(app).unwrap().0.features.iter().map(String::as_str))
}
/// The Stylistic Alternates and Titling Alternates rows turn `salt` and `titl` on and off
/// on the selected type.
#[test]
fn alternates_rows_set_and_clear_their_features() {
for (label, tag) in [("Stylistic Alternates", "salt"), ("Titling Alternates", "titl")] {
let mut app = selected_text();
let Some((_, flag)) = rows().into_iter().find(|(l, _)| *l == label) else {
panic!("no {label} row");
};
let mut f = features(&app);
assert!(!flag.get(&f), "{label} starts off");
flag.put(&mut f, true);
set(&mut app, f);
assert_eq!(text_style(&app).unwrap().0.features, [tag], "{label} on");
assert!(flag.get(&features(&app)));
let mut f = features(&app);
flag.put(&mut f, false);
set(&mut app, f);
assert!(text_style(&app).unwrap().0.features.is_empty(), "{label} off");
}
}
/// The Figure menu lists its five entries in order; Proportional Lining sets `pnum` and
/// `lnum` and clears `tnum` and `onum`, Tabular Lining clears `pnum`, Proportional Oldstyle
/// clears `lnum`, and Default Figure and Tabular Oldstyle clear `pnum` and `lnum`.
#[test]
fn proportional_lining_figures() {
assert_eq!(FIGURES, ["Default Figure", "Tabular Lining", "Proportional Lining", "Proportional Oldstyle", "Tabular Oldstyle"]);
let mut app = selected_text();
let mut f = features(&app);
set_figure(&mut f, 4);
set(&mut app, f);
assert_eq!(text_style(&app).unwrap().0.features, ["onum", "tnum"]);
let mut f = features(&app);
set_figure(&mut f, 2);
set(&mut app, f);
assert_eq!(text_style(&app).unwrap().0.features, ["pnum", "lnum"]);
assert_eq!(figure(&features(&app)), 2);
for (i, want) in [(0, vec![]), (1, vec!["tnum", "lnum"]), (3, vec!["onum", "pnum"]), (4, vec!["onum", "tnum"])] {
let mut f = features(&app);
set_figure(&mut f, 2);
set_figure(&mut f, i);
set(&mut app, f);
assert_eq!(text_style(&app).unwrap().0.features, want, "{}", FIGURES[i]);
assert_eq!(figure(&features(&app)), i);
}
// `pnum` alone is not Proportional Lining.
assert_eq!(figure(&OtFeatures::from_tags(["pnum"])), 0);
}
/// Choosing Proportional Oldstyle on type with `pnum` and `onum` keeps `pnum`.
#[test]
fn proportional_oldstyle_keeps_pnum() {
let mut app = selected_text();
set(&mut app, OtFeatures::from_tags(["pnum", "onum"]));
let mut f = features(&app);
assert_eq!(figure(&f), 3);
set_figure(&mut f, 3);
set(&mut app, f);
let tags = text_style(&app).unwrap().0.features;
assert!(tags.iter().any(|t| t == "pnum"), "{tags:?}");
assert!(tags.iter().any(|t| t == "onum"), "{tags:?}");
assert_eq!(figure(&features(&app)), 3);
}
/// Choosing Tabular Lining on type with `lnum`, or with `tnum` and `lnum`, keeps `lnum`.
#[test]
fn tabular_lining_keeps_lnum() {
for start in [&["lnum"][..], &["tnum", "lnum"][..]] {
let mut app = selected_text();
set(&mut app, OtFeatures::from_tags(start.iter().copied()));
let mut f = features(&app);
set_figure(&mut f, 1);
set(&mut app, f);
assert_eq!(text_style(&app).unwrap().0.features, ["tnum", "lnum"], "{start:?}");
assert_eq!(figure(&features(&app)), 1);
}
}
}
File diff suppressed because one or more lines are too long