mirror of
https://github.com/storytold/designcraft.git
synced 2026-11-10 18:40:27 -06:00
Esperanto in Character › Language (panel, Properties, style options), mapped to the BCP 47 tag eo, with English-style typographer's quotes. IDML keeps the name as written ($ID/Esperanto). Not hyphenated yet: morpheme-based hyphenation follows in #1201. Claude-Session: https://claude.ai/code/session_01Y9j7XJDCmPc8UZLs9cTxtu Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -389,6 +389,7 @@ list) · [roadmap.md](docs/roadmap.md) (milestones, plan) · [parity-checklist.m
|
||||
## Progress log
|
||||
|
||||
- **2026-11-04** · Striped strokes retain out-and-back cubic segments whose second control point is away from the coincident endpoints and first control point. A geometry regression checks the offset extent and both stripe bands. No readiness percentage change.
|
||||
- **2026-11-04** · Esperanto is a text language (Character › Language, `type.char {language: "Esperanto"}`, IDML `$ID/Esperanto`): tag `eo`, English-style quotes; not hyphenated yet (#1201). No readiness percentage change.
|
||||
|
||||
- **2026-11-02** · EPUB Export Options names a cover image file (PNG or JPEG, typed or chosen with Choose…) for the reflowable export; left empty, the first page stays the cover (#1934). No readiness percentage change.
|
||||
- **2026-11-02** · The Pen shows the segment a dragged smooth point shapes while it is dragged, and its rubber band curves out of a smooth point's direction line (#1438, first item). No readiness percentage change.
|
||||
|
||||
@@ -88,6 +88,7 @@ pub fn language_tag(language: &str) -> Option<&'static str> {
|
||||
"urdu" => "ur",
|
||||
"hebrew" => "he",
|
||||
"georgian" => "ka",
|
||||
"esperanto" => "eo",
|
||||
_ => return None,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -87,6 +87,8 @@ fn language_names_map_to_bcp47_tags() {
|
||||
assert_eq!(language_tag("Farsi"), Some("fa"));
|
||||
assert_eq!(language_tag("Urdu"), Some("ur"));
|
||||
assert_eq!(language_tag("Hebrew"), Some("he"));
|
||||
assert_eq!(language_tag("Esperanto"), Some("eo"));
|
||||
assert_eq!(language_tag("$ID/Esperanto"), Some("eo"));
|
||||
assert_eq!(language_tag("[No Language]"), None);
|
||||
assert_eq!(language_tag("Klingon"), None);
|
||||
assert_eq!(language_tag(""), None);
|
||||
|
||||
@@ -586,6 +586,7 @@ mod language_tests {
|
||||
("fr_FR", GUILLEMETS, false),
|
||||
("nb_NO", GUILLEMETS, false),
|
||||
("ja_JP", CORNERS, false),
|
||||
("Esperanto", ENGLISH, false),
|
||||
("[No Language]", ENGLISH, false),
|
||||
] {
|
||||
assert_eq!(quote_marks(language), quotes, "{language}");
|
||||
|
||||
@@ -936,6 +936,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "الألمانية: الإصلاح السويسري 2006"),
|
||||
("Greek", "اليونانية"),
|
||||
("Hebrew", "العبرية"),
|
||||
("Esperanto", "الإسبرانتو"),
|
||||
("Hindi", "الهندية"),
|
||||
("Hungarian", "المجرية"),
|
||||
("Inverse Rounded Rectangle", "مستطيل بزوايا دائرية معكوسة"),
|
||||
|
||||
@@ -1413,6 +1413,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "Němčina: Švýcarsko, reforma 2006"),
|
||||
("Greek", "Řečtina"),
|
||||
("Hebrew", "Hebrejština"),
|
||||
("Esperanto", "Esperanto"),
|
||||
("Hindi", "Hindština"),
|
||||
("Hungarian", "Maďarština"),
|
||||
("Inverse Rounded Rectangle", "Obrácený zaoblený obdélník"),
|
||||
|
||||
@@ -1409,6 +1409,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "Deutsch: Schweiz, Rechtschreibreform 2006"),
|
||||
("Greek", "Griechisch"),
|
||||
("Hebrew", "Hebräisch"),
|
||||
("Esperanto", "Esperanto"),
|
||||
("Hindi", "Hindi"),
|
||||
("Hungarian", "Ungarisch"),
|
||||
("Inverse Rounded Rectangle", "Umgekehrt abgerundetes Rechteck"),
|
||||
|
||||
@@ -709,6 +709,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("Hair Space", "Hajszálköz"),
|
||||
("Header Rows", "Fejlécsorok"),
|
||||
("Hebrew", "Héber"),
|
||||
("Esperanto", "Eszperantó"),
|
||||
("Height", "Magasság"),
|
||||
("Height Only", "Csak magasság"),
|
||||
("Height and Width", "Magasság és szélesség"),
|
||||
|
||||
@@ -1560,6 +1560,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "Tedesco: Svizzera, riforma 2006"),
|
||||
("Greek", "Greco"),
|
||||
("Hebrew", "Ebraico"),
|
||||
("Esperanto", "Esperanto"),
|
||||
("Hindi", "Hindi"),
|
||||
("Hungarian", "Ungherese"),
|
||||
("Inverse Rounded Rectangle", "Rettangolo arrotondato inverso"),
|
||||
|
||||
@@ -1582,6 +1582,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "ドイツ語: スイス 2006年正書法改訂"),
|
||||
("Greek", "ギリシャ語"),
|
||||
("Hebrew", "ヘブライ語"),
|
||||
("Esperanto", "エスペラント語"),
|
||||
("Hindi", "ヒンディー数字"),
|
||||
("Hungarian", "ハンガリー語"),
|
||||
("Inverse Rounded Rectangle", "内向き角丸長方形"),
|
||||
|
||||
@@ -1504,6 +1504,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "გერმანული: შვეიცარია, 2006 წლის რეფორმა"),
|
||||
("Greek", "ბერძნული"),
|
||||
("Hebrew", "ივრითი"),
|
||||
("Esperanto", "ესპერანტო"),
|
||||
("Hindi", "ჰინდი"),
|
||||
("Hungarian", "უნგრული"),
|
||||
("Inverse Rounded Rectangle", "შებრუნებული მომრგვალებული მართკუთხედი"),
|
||||
|
||||
@@ -1448,6 +1448,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "Niemiecki: szwajcarski, reforma 2006"),
|
||||
("Greek", "Grecki"),
|
||||
("Hebrew", "Hebrajski"),
|
||||
("Esperanto", "Esperanto"),
|
||||
("Hindi", "Hindi"),
|
||||
("Hungarian", "Węgierski"),
|
||||
("Inverse Rounded Rectangle", "Prostokąt z wklęsłymi narożnikami"),
|
||||
|
||||
@@ -940,6 +940,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "Alemão: reforma suíça de 2006"),
|
||||
("Greek", "Grego"),
|
||||
("Hebrew", "Hebraico"),
|
||||
("Esperanto", "Esperanto"),
|
||||
("Hindi", "Hindi"),
|
||||
("Hungarian", "Húngaro"),
|
||||
("Inverse Rounded Rectangle", "Retângulo arredondado invertido"),
|
||||
|
||||
@@ -1404,6 +1404,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "Немецкий: Швейцария, реформа 2006 года"),
|
||||
("Greek", "Греческий"),
|
||||
("Hebrew", "Иврит"),
|
||||
("Esperanto", "Эсперанто"),
|
||||
("Hindi", "Хинди"),
|
||||
("Hungarian", "Венгерский"),
|
||||
("Inverse Rounded Rectangle", "Прямоугольник с вогнутыми скругленными углами"),
|
||||
|
||||
@@ -731,6 +731,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "Tyska: schweizisk, reformen 2006"),
|
||||
("Greek", "Grekiska"),
|
||||
("Hebrew", "Hebreiska"),
|
||||
("Esperanto", "Esperanto"),
|
||||
("Hindi", "Hindi"),
|
||||
("Hungarian", "Ungerska"),
|
||||
("Inverse Rounded Rectangle", "Omvänd rundad rektangel"),
|
||||
|
||||
@@ -3939,6 +3939,7 @@ pub(super) const TABLE: &[(&str, [&str; 5])] = &[
|
||||
),
|
||||
("Greek", ["Greek", "Grec", "Greek", "Greek", "希腊语"]),
|
||||
("Hebrew", ["Hebrew", "Hébreu", "Hebrew", "Hebrew", "希伯来语"]),
|
||||
("Esperanto", ["Esperanto", "Espéranto", "Esperanto", "エスペラント語", "世界语"]),
|
||||
("Hindi", ["Hindi", "Hindi", "Hindi", "Hindi", "印地语"]),
|
||||
("Hungarian", ["Hungarian", "Hongrois", "Hungarian", "Hungarian", "匈牙利语"]),
|
||||
(
|
||||
|
||||
@@ -1557,6 +1557,7 @@ pub(super) const TABLE: &[(&str, &str)] = &[
|
||||
("German: Swiss 2006 Reform", "Німецька: Швейцарія, реформа 2006 року"),
|
||||
("Greek", "Грецька"),
|
||||
("Hebrew", "Іврит"),
|
||||
("Esperanto", "Есперанто"),
|
||||
("Hindi", "Гінді"),
|
||||
("Hungarian", "Угорська"),
|
||||
("Inverse Rounded Rectangle", "Прямокутник з увігнутими округленими кутами"),
|
||||
|
||||
@@ -576,6 +576,7 @@ pub(crate) const LANGUAGES: &[&str] = &[
|
||||
"Korean",
|
||||
"Arabic",
|
||||
"Hebrew",
|
||||
"Esperanto",
|
||||
];
|
||||
|
||||
/// The Language list (Character panel, Properties ▸ Character): picking one sets the language of
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Localization parity
|
||||
|
||||
> **Last reviewed:** 2026-10-11 · **Last updated:** 2026-11-01 · **Change:** minor (Hungarian interface catalog, bundled-font coverage and flyout regression checks; Swedish interface) · **Target:** Adobe InDesign 2026 (21.6)
|
||||
> **Last reviewed:** 2026-10-11 · **Last updated:** 2026-11-04 · **Change:** minor (Esperanto text language; Hungarian interface catalog, bundled-font coverage and flyout regression checks; Swedish interface) · **Target:** Adobe InDesign 2026 (21.6)
|
||||
|
||||
Per-language status of the DesignCraft interface and of document typesetting in each script.
|
||||
Script-specific typesetting detail: [cjk.md](cjk.md), [cjk-typography.md](cjk-typography.md),
|
||||
@@ -95,7 +95,8 @@ eight of the twelve (cs, da, el, en_GB, fi, hu, it, nb, nl, pl, ro, ru, sq, sv,
|
||||
InDesign 2026 hyphenates and spell-checks ~40 languages (Hunspell and Duden dictionaries).
|
||||
DesignCraft hyphenates **English, Danish, Dutch, French, German (2006 reform), Greek, Italian, Norwegian, Portuguese and Spanish** and spell-checks **English** only. Text language
|
||||
can be set per paragraph and character (Properties, Character panel) and drives quotes and
|
||||
locale shaping. See [typography-parity.md](typography-parity.md).
|
||||
locale shaping; Esperanto is offered too (not hyphenated yet, #1201). See
|
||||
[typography-parity.md](typography-parity.md).
|
||||
German hyphenation accepts `German: 2006 Reform`, `German: Swiss 2006 Reform` and `de` locale
|
||||
codes without a spelling year or with `2006`. Traditional names, `de_DE_1901` and unknown
|
||||
German variants have no automatic hyphenation; their German shaping and quotes are unchanged.
|
||||
|
||||
Reference in New Issue
Block a user