diff --git a/lib/src/l10n/generated/quill_localizations.dart b/lib/src/l10n/generated/quill_localizations.dart index b9df03c0..6fc131a5 100644 --- a/lib/src/l10n/generated/quill_localizations.dart +++ b/lib/src/l10n/generated/quill_localizations.dart @@ -415,6 +415,12 @@ abstract class FlutterQuillLocalizations { /// **'Align right'** String get alignRight; + /// Justify the text over the full window width + /// + /// In en, this message translates to: + /// **'Align justify'** + String get alignJustify; + /// No description provided for @justifyWinWidth. /// /// In en, this message translates to: diff --git a/lib/src/l10n/generated/quill_localizations_ar.dart b/lib/src/l10n/generated/quill_localizations_ar.dart index a3933936..e32ac62b 100644 --- a/lib/src/l10n/generated/quill_localizations_ar.dart +++ b/lib/src/l10n/generated/quill_localizations_ar.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsAr extends FlutterQuillLocalizations { @override String get alignRight => 'محاذاة اليمين'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'تبرير مع العرض'; diff --git a/lib/src/l10n/generated/quill_localizations_bg.dart b/lib/src/l10n/generated/quill_localizations_bg.dart index 0d09070b..f9b2c4df 100644 --- a/lib/src/l10n/generated/quill_localizations_bg.dart +++ b/lib/src/l10n/generated/quill_localizations_bg.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsBg extends FlutterQuillLocalizations { @override String get alignRight => 'Подравни вдясно'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Подравни във всяка колонка'; diff --git a/lib/src/l10n/generated/quill_localizations_bn.dart b/lib/src/l10n/generated/quill_localizations_bn.dart index d0fce65a..8776817a 100644 --- a/lib/src/l10n/generated/quill_localizations_bn.dart +++ b/lib/src/l10n/generated/quill_localizations_bn.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsBn extends FlutterQuillLocalizations { @override String get alignRight => 'ডান সারিবদ্ধ'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'প্রস্থের সাথে সংযত'; diff --git a/lib/src/l10n/generated/quill_localizations_cs.dart b/lib/src/l10n/generated/quill_localizations_cs.dart index 4bee5da7..d218008f 100644 --- a/lib/src/l10n/generated/quill_localizations_cs.dart +++ b/lib/src/l10n/generated/quill_localizations_cs.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsCs extends FlutterQuillLocalizations { @override String get alignRight => 'Zarovnat vpravo'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Zarovnat do bloku'; diff --git a/lib/src/l10n/generated/quill_localizations_da.dart b/lib/src/l10n/generated/quill_localizations_da.dart index aed1dbbf..b67619b5 100644 --- a/lib/src/l10n/generated/quill_localizations_da.dart +++ b/lib/src/l10n/generated/quill_localizations_da.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsDa extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_de.dart b/lib/src/l10n/generated/quill_localizations_de.dart index e987cd86..77a8b93a 100644 --- a/lib/src/l10n/generated/quill_localizations_de.dart +++ b/lib/src/l10n/generated/quill_localizations_de.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsDe extends FlutterQuillLocalizations { @override String get alignRight => 'Rechtsbündig ausrichten'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Blocksatz'; diff --git a/lib/src/l10n/generated/quill_localizations_en.dart b/lib/src/l10n/generated/quill_localizations_en.dart index a73d71ca..0a6a341b 100644 --- a/lib/src/l10n/generated/quill_localizations_en.dart +++ b/lib/src/l10n/generated/quill_localizations_en.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsEn extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_es.dart b/lib/src/l10n/generated/quill_localizations_es.dart index d418394c..a991e416 100644 --- a/lib/src/l10n/generated/quill_localizations_es.dart +++ b/lib/src/l10n/generated/quill_localizations_es.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsEs extends FlutterQuillLocalizations { @override String get alignRight => 'Alinear a la derecha'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justificar'; diff --git a/lib/src/l10n/generated/quill_localizations_fa.dart b/lib/src/l10n/generated/quill_localizations_fa.dart index 7566152d..202183bd 100644 --- a/lib/src/l10n/generated/quill_localizations_fa.dart +++ b/lib/src/l10n/generated/quill_localizations_fa.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsFa extends FlutterQuillLocalizations { @override String get alignRight => 'چیدمان راست'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'تضمین عرض پنجره'; diff --git a/lib/src/l10n/generated/quill_localizations_fr.dart b/lib/src/l10n/generated/quill_localizations_fr.dart index d039b6f1..ceea9958 100644 --- a/lib/src/l10n/generated/quill_localizations_fr.dart +++ b/lib/src/l10n/generated/quill_localizations_fr.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsFr extends FlutterQuillLocalizations { @override String get alignRight => 'Aligner à droite'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justifier'; diff --git a/lib/src/l10n/generated/quill_localizations_he.dart b/lib/src/l10n/generated/quill_localizations_he.dart index 7497db7b..99234ee0 100644 --- a/lib/src/l10n/generated/quill_localizations_he.dart +++ b/lib/src/l10n/generated/quill_localizations_he.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsHe extends FlutterQuillLocalizations { @override String get alignRight => 'יישור לימין'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'יישור לרוחב החלון'; diff --git a/lib/src/l10n/generated/quill_localizations_hi.dart b/lib/src/l10n/generated/quill_localizations_hi.dart index dda88d59..47837514 100644 --- a/lib/src/l10n/generated/quill_localizations_hi.dart +++ b/lib/src/l10n/generated/quill_localizations_hi.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsHi extends FlutterQuillLocalizations { @override String get alignRight => 'दाएं संरेखित करें'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'जस्टीफ़ी विन चौड़ाई'; diff --git a/lib/src/l10n/generated/quill_localizations_id.dart b/lib/src/l10n/generated/quill_localizations_id.dart index 27ee79dd..92d29912 100644 --- a/lib/src/l10n/generated/quill_localizations_id.dart +++ b/lib/src/l10n/generated/quill_localizations_id.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsId extends FlutterQuillLocalizations { @override String get alignRight => 'Rata Kanan'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Rata Kanan dan Kiri'; diff --git a/lib/src/l10n/generated/quill_localizations_it.dart b/lib/src/l10n/generated/quill_localizations_it.dart index 33b68757..4b8550c1 100644 --- a/lib/src/l10n/generated/quill_localizations_it.dart +++ b/lib/src/l10n/generated/quill_localizations_it.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsIt extends FlutterQuillLocalizations { @override String get alignRight => 'Allinea a destra'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Giustifica per larghezza finestra'; diff --git a/lib/src/l10n/generated/quill_localizations_ja.dart b/lib/src/l10n/generated/quill_localizations_ja.dart index 18ce5f55..367d83d3 100644 --- a/lib/src/l10n/generated/quill_localizations_ja.dart +++ b/lib/src/l10n/generated/quill_localizations_ja.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsJa extends FlutterQuillLocalizations { @override String get alignRight => '右揃え'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => '両端揃え'; diff --git a/lib/src/l10n/generated/quill_localizations_ko.dart b/lib/src/l10n/generated/quill_localizations_ko.dart index 71f92659..94f7770c 100644 --- a/lib/src/l10n/generated/quill_localizations_ko.dart +++ b/lib/src/l10n/generated/quill_localizations_ko.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsKo extends FlutterQuillLocalizations { @override String get alignRight => '오른쪽 정렬'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => '좌우로 정렬'; diff --git a/lib/src/l10n/generated/quill_localizations_ku.dart b/lib/src/l10n/generated/quill_localizations_ku.dart index 772d8110..685fb305 100644 --- a/lib/src/l10n/generated/quill_localizations_ku.dart +++ b/lib/src/l10n/generated/quill_localizations_ku.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsKu extends FlutterQuillLocalizations { @override String get alignRight => 'بۆ ڕاست'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'پانی ڕێکبخە'; diff --git a/lib/src/l10n/generated/quill_localizations_ms.dart b/lib/src/l10n/generated/quill_localizations_ms.dart index c0218f2c..465c14b0 100644 --- a/lib/src/l10n/generated/quill_localizations_ms.dart +++ b/lib/src/l10n/generated/quill_localizations_ms.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsMs extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_ne.dart b/lib/src/l10n/generated/quill_localizations_ne.dart index ede805d7..5fe68ab5 100644 --- a/lib/src/l10n/generated/quill_localizations_ne.dart +++ b/lib/src/l10n/generated/quill_localizations_ne.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsNe extends FlutterQuillLocalizations { @override String get alignRight => 'दायाँ पङ्क्तिबद्ध'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'जस्टीफ़ी विन चौड़ाई'; diff --git a/lib/src/l10n/generated/quill_localizations_nl.dart b/lib/src/l10n/generated/quill_localizations_nl.dart index bb68eea8..10b0a55b 100644 --- a/lib/src/l10n/generated/quill_localizations_nl.dart +++ b/lib/src/l10n/generated/quill_localizations_nl.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsNl extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_no.dart b/lib/src/l10n/generated/quill_localizations_no.dart index d7e97e4e..1192e423 100644 --- a/lib/src/l10n/generated/quill_localizations_no.dart +++ b/lib/src/l10n/generated/quill_localizations_no.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsNo extends FlutterQuillLocalizations { @override String get alignRight => 'Høyrejuster'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Rettferdiggjør bredden'; diff --git a/lib/src/l10n/generated/quill_localizations_pl.dart b/lib/src/l10n/generated/quill_localizations_pl.dart index 4b5d400d..a2cacf26 100644 --- a/lib/src/l10n/generated/quill_localizations_pl.dart +++ b/lib/src/l10n/generated/quill_localizations_pl.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsPl extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_pt.dart b/lib/src/l10n/generated/quill_localizations_pt.dart index aa28b8ff..f5477abf 100644 --- a/lib/src/l10n/generated/quill_localizations_pt.dart +++ b/lib/src/l10n/generated/quill_localizations_pt.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsPt extends FlutterQuillLocalizations { @override String get alignRight => 'Align right'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_ro.dart b/lib/src/l10n/generated/quill_localizations_ro.dart index 92a9b40f..d61bbff4 100644 --- a/lib/src/l10n/generated/quill_localizations_ro.dart +++ b/lib/src/l10n/generated/quill_localizations_ro.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsRo extends FlutterQuillLocalizations { @override String get alignRight => 'Aliniază la dreapta'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justifică lățimea ferestrei'; diff --git a/lib/src/l10n/generated/quill_localizations_ru.dart b/lib/src/l10n/generated/quill_localizations_ru.dart index 07a2b4ba..e4fe7932 100644 --- a/lib/src/l10n/generated/quill_localizations_ru.dart +++ b/lib/src/l10n/generated/quill_localizations_ru.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsRu extends FlutterQuillLocalizations { @override String get alignRight => 'Выровнять по правому краю'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Выровнять по ширине окна'; diff --git a/lib/src/l10n/generated/quill_localizations_sk.dart b/lib/src/l10n/generated/quill_localizations_sk.dart index a4609530..1c103108 100644 --- a/lib/src/l10n/generated/quill_localizations_sk.dart +++ b/lib/src/l10n/generated/quill_localizations_sk.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsSk extends FlutterQuillLocalizations { @override String get alignRight => 'Zarovnať vpravo'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Zarovnať na šírku okna'; diff --git a/lib/src/l10n/generated/quill_localizations_sr.dart b/lib/src/l10n/generated/quill_localizations_sr.dart index 10b73608..cc377204 100644 --- a/lib/src/l10n/generated/quill_localizations_sr.dart +++ b/lib/src/l10n/generated/quill_localizations_sr.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsSr extends FlutterQuillLocalizations { @override String get alignRight => 'Poravnanje desno'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Centriraj širinu prozora'; diff --git a/lib/src/l10n/generated/quill_localizations_sv.dart b/lib/src/l10n/generated/quill_localizations_sv.dart index 013fac0a..519c70a3 100644 --- a/lib/src/l10n/generated/quill_localizations_sv.dart +++ b/lib/src/l10n/generated/quill_localizations_sv.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsSv extends FlutterQuillLocalizations { @override String get alignRight => 'Högerjustera'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justera till fönsterbredd'; diff --git a/lib/src/l10n/generated/quill_localizations_sw.dart b/lib/src/l10n/generated/quill_localizations_sw.dart index 0757e4a4..d7c8e7a9 100644 --- a/lib/src/l10n/generated/quill_localizations_sw.dart +++ b/lib/src/l10n/generated/quill_localizations_sw.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsSw extends FlutterQuillLocalizations { @override String get alignRight => 'Pangilia Kulia'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Kuhalalisha Upana wa Ushindi'; diff --git a/lib/src/l10n/generated/quill_localizations_tk.dart b/lib/src/l10n/generated/quill_localizations_tk.dart index 19b2f73e..811037b8 100644 --- a/lib/src/l10n/generated/quill_localizations_tk.dart +++ b/lib/src/l10n/generated/quill_localizations_tk.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsTk extends FlutterQuillLocalizations { @override String get alignRight => 'Saga deňleşdir'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Justify win width'; diff --git a/lib/src/l10n/generated/quill_localizations_tr.dart b/lib/src/l10n/generated/quill_localizations_tr.dart index 499bbf50..117faa2b 100644 --- a/lib/src/l10n/generated/quill_localizations_tr.dart +++ b/lib/src/l10n/generated/quill_localizations_tr.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsTr extends FlutterQuillLocalizations { @override String get alignRight => 'Sağa Hizala'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Kenarlara Hizala'; diff --git a/lib/src/l10n/generated/quill_localizations_uk.dart b/lib/src/l10n/generated/quill_localizations_uk.dart index 0e5b1314..8bbe407f 100644 --- a/lib/src/l10n/generated/quill_localizations_uk.dart +++ b/lib/src/l10n/generated/quill_localizations_uk.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsUk extends FlutterQuillLocalizations { @override String get alignRight => 'Вирівняти праворуч'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Вирівняти за шириною вікна'; diff --git a/lib/src/l10n/generated/quill_localizations_ur.dart b/lib/src/l10n/generated/quill_localizations_ur.dart index 82d0469e..57eb0d2a 100644 --- a/lib/src/l10n/generated/quill_localizations_ur.dart +++ b/lib/src/l10n/generated/quill_localizations_ur.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsUr extends FlutterQuillLocalizations { @override String get alignRight => 'دائیں ہم آہنگ ہوں'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'جسٹیفائی ون چوڑائی'; diff --git a/lib/src/l10n/generated/quill_localizations_vi.dart b/lib/src/l10n/generated/quill_localizations_vi.dart index 6eb72dcb..48ea1d84 100644 --- a/lib/src/l10n/generated/quill_localizations_vi.dart +++ b/lib/src/l10n/generated/quill_localizations_vi.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsVi extends FlutterQuillLocalizations { @override String get alignRight => 'Căn phải'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => 'Căn đều chiều rộng'; diff --git a/lib/src/l10n/generated/quill_localizations_zh.dart b/lib/src/l10n/generated/quill_localizations_zh.dart index e38b1d81..db1054f0 100644 --- a/lib/src/l10n/generated/quill_localizations_zh.dart +++ b/lib/src/l10n/generated/quill_localizations_zh.dart @@ -127,6 +127,9 @@ class FlutterQuillLocalizationsZh extends FlutterQuillLocalizations { @override String get alignRight => '右对齐'; + @override + String get alignJustify => 'Align justify'; + @override String get justifyWinWidth => '两端对齐'; diff --git a/lib/src/l10n/quill_en.arb b/lib/src/l10n/quill_en.arb index 1a6f4b7e..864de03f 100644 --- a/lib/src/l10n/quill_en.arb +++ b/lib/src/l10n/quill_en.arb @@ -41,6 +41,10 @@ "alignLeft": "Align left", "alignCenter": "Align center", "alignRight": "Align right", + "alignJustify": "Align justify", + "@alignJustify": { + "description": "Justify the text over the full window width" + }, "justifyWinWidth": "Justify win width", "textDirection": "Text direction", "headerStyle": "Header style", diff --git a/lib/src/l10n/untranslated.json b/lib/src/l10n/untranslated.json index 2b37eff6..802fa751 100644 --- a/lib/src/l10n/untranslated.json +++ b/lib/src/l10n/untranslated.json @@ -1,5 +1,6 @@ { "ar": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -10,6 +11,7 @@ ], "bg": [ + "alignJustify", "normal", "heading1", "heading2", @@ -33,6 +35,7 @@ ], "bn": [ + "alignJustify", "normal", "heading1", "heading2", @@ -56,6 +59,7 @@ ], "cs": [ + "alignJustify", "caseSensitive", "wholeWord", "close", @@ -65,6 +69,7 @@ ], "da": [ + "alignJustify", "normal", "heading1", "heading2", @@ -88,6 +93,7 @@ ], "de": [ + "alignJustify", "normal", "heading1", "heading2", @@ -106,6 +112,7 @@ ], "en_US": [ + "alignJustify", "normal", "heading1", "heading2", @@ -129,6 +136,7 @@ ], "es": [ + "alignJustify", "normal", "heading1", "heading2", @@ -147,6 +155,7 @@ ], "fa": [ + "alignJustify", "normal", "heading1", "heading2", @@ -170,6 +179,7 @@ ], "fr": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -180,6 +190,7 @@ ], "he": [ + "alignJustify", "normal", "heading1", "heading2", @@ -203,6 +214,7 @@ ], "hi": [ + "alignJustify", "normal", "heading1", "heading2", @@ -226,6 +238,7 @@ ], "id": [ + "alignJustify", "normal", "heading1", "heading2", @@ -249,6 +262,7 @@ ], "it": [ + "alignJustify", "normal", "heading1", "heading2", @@ -272,6 +286,7 @@ ], "ja": [ + "alignJustify", "normal", "heading1", "heading2", @@ -294,7 +309,12 @@ "paste" ], + "ko": [ + "alignJustify" + ], + "ku": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -305,6 +325,7 @@ ], "ku_CKB": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -315,6 +336,7 @@ ], "ms": [ + "alignJustify", "normal", "heading1", "heading2", @@ -338,6 +360,7 @@ ], "ne": [ + "alignJustify", "caseSensitive", "wholeWord", "close", @@ -347,6 +370,7 @@ ], "nl": [ + "alignJustify", "normal", "heading1", "heading2", @@ -370,6 +394,7 @@ ], "no": [ + "alignJustify", "normal", "heading1", "heading2", @@ -393,6 +418,7 @@ ], "pl": [ + "alignJustify", "normal", "heading1", "heading2", @@ -416,6 +442,7 @@ ], "pt": [ + "alignJustify", "normal", "heading1", "heading2", @@ -439,6 +466,7 @@ ], "pt_BR": [ + "alignJustify", "normal", "heading1", "heading2", @@ -462,6 +490,7 @@ ], "ro": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -472,6 +501,7 @@ ], "ro_RO": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -482,6 +512,7 @@ ], "ru": [ + "alignJustify", "normal", "heading1", "heading2", @@ -500,6 +531,7 @@ ], "sk": [ + "alignJustify", "caseSensitive", "wholeWord", "close", @@ -509,6 +541,7 @@ ], "sr": [ + "alignJustify", "normal", "heading1", "heading2", @@ -532,6 +565,7 @@ ], "sv": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -542,6 +576,7 @@ ], "sw": [ + "alignJustify", "normal", "heading1", "heading2", @@ -565,6 +600,7 @@ ], "tk": [ + "alignJustify", "normal", "heading1", "heading2", @@ -588,6 +624,7 @@ ], "tr": [ + "alignJustify", "normal", "heading1", "heading2", @@ -611,6 +648,7 @@ ], "uk": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -621,6 +659,7 @@ ], "ur": [ + "alignJustify", "normal", "heading1", "heading2", @@ -644,6 +683,7 @@ ], "vi": [ + "alignJustify", "normal", "heading1", "heading2", @@ -667,6 +707,7 @@ ], "zh": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -677,6 +718,7 @@ ], "zh_CN": [ + "alignJustify", "theImageHasBeenSavedAt", "caseSensitive", "wholeWord", @@ -687,6 +729,7 @@ ], "zh_HK": [ + "alignJustify", "normal", "heading1", "heading2", diff --git a/lib/src/models/config/quill_controller_configurations.dart b/lib/src/models/config/quill_controller_configurations.dart index ae38841a..95126178 100644 --- a/lib/src/models/config/quill_controller_configurations.dart +++ b/lib/src/models/config/quill_controller_configurations.dart @@ -1,8 +1,14 @@ class QuillControllerConfigurations { - const QuillControllerConfigurations({this.onClipboardPaste}); + const QuillControllerConfigurations( + {this.onClipboardPaste, this.requireScriptFontFeatures = false}); /// Callback when the user pastes and data has not already been processed /// /// Return true if the paste operation was handled final Future Function()? onClipboardPaste; + + /// Render subscript and superscript text using Open Type FontFeatures + /// + /// Default is false to use built-in script rendering that is independent of font capabilities + final bool requireScriptFontFeatures; } diff --git a/lib/src/widgets/editor/editor.dart b/lib/src/widgets/editor/editor.dart index a5635967..0fba7806 100644 --- a/lib/src/widgets/editor/editor.dart +++ b/lib/src/widgets/editor/editor.dart @@ -173,6 +173,7 @@ class QuillEditorState extends State void initState() { super.initState(); widget.configurations.controller.editorFocusNode ??= widget.focusNode; + widget.configurations.controller.editorFocusNode?.requestFocus(); _editorKey = configurations.editorKey ?? GlobalKey(); _selectionGestureDetectorBuilder = _QuillEditorSelectionGestureDetectorBuilder( diff --git a/lib/src/widgets/quill/text_line.dart b/lib/src/widgets/quill/text_line.dart index 88ae7020..1604ba9b 100644 --- a/lib/src/widgets/quill/text_line.dart +++ b/lib/src/widgets/quill/text_line.dart @@ -322,19 +322,71 @@ class _TextLineState extends State { return textStyle; } - TextSpan _getTextSpanFromNode( + /// Processes subscript and superscript attributed text. + /// + /// Reduces text fontSize and shifts down or up. Increases fontWeight to maintain balance with normal text. + /// Outputs characters individually to allow correct caret positioning and text selection. + InlineSpan _scriptSpan(String text, bool superScript, TextStyle style, + DefaultStyles defaultStyles) { + assert(text.isNotEmpty); + // + final lineStyle = style.fontSize == null || style.fontWeight == null + ? _getLineStyle(defaultStyles) + : null; + final fontWeight = FontWeight.lerp( + style.fontWeight ?? lineStyle?.fontWeight ?? FontWeight.normal, + FontWeight.w900, + 0.25); + final fontSize = style.fontSize ?? lineStyle?.fontSize ?? 16; + final y = (superScript ? -0.4 : 0.14) * fontSize; + final charStyle = style.copyWith( + fontFeatures: [], + fontWeight: fontWeight, + fontSize: fontSize * 0.7); + // + final offset = Offset(0, y); + final children = []; + for (final c in text.characters) { + children.add(WidgetSpan( + child: Transform.translate( + offset: offset, + child: Text( + c, + style: charStyle, + )))); + } + // + if (children.length > 1) { + return TextSpan(children: children); + } + return children[0]; + } + + InlineSpan _getTextSpanFromNode( DefaultStyles defaultStyles, Node node, Style lineStyle) { final textNode = node as leaf.QuillText; final nodeStyle = textNode.style; final isLink = nodeStyle.containsKey(Attribute.link.key) && nodeStyle.attributes[Attribute.link.key]!.value != null; - final recognizer = _getRecognizer(node, isLink); + final style = _getInlineTextStyle( + textNode, defaultStyles, nodeStyle, lineStyle, isLink); + + if (widget.controller.configurations.requireScriptFontFeatures == false && + textNode.value.isNotEmpty) { + if (nodeStyle.containsKey(Attribute.script.key)) { + final attr = nodeStyle.attributes[Attribute.script.key]; + if (attr == Attribute.superscript || attr == Attribute.subscript) { + return _scriptSpan(textNode.value, attr == Attribute.superscript, + style, defaultStyles); + } + } + } + final recognizer = _getRecognizer(node, isLink); return TextSpan( text: textNode.value, - style: _getInlineTextStyle( - textNode, defaultStyles, nodeStyle, lineStyle, isLink), + style: style, recognizer: recognizer, mouseCursor: (recognizer != null) ? SystemMouseCursors.click : null, ); diff --git a/lib/src/widgets/toolbar/buttons/toggle_style_button.dart b/lib/src/widgets/toolbar/buttons/toggle_style_button.dart index 941a893e..aad3b3fb 100644 --- a/lib/src/widgets/toolbar/buttons/toggle_style_button.dart +++ b/lib/src/widgets/toolbar/buttons/toggle_style_button.dart @@ -78,10 +78,7 @@ class QuillToolbarToggleStyleButtonState 'left' => (context.loc.alignLeft, Icons.format_align_left), 'right' => (context.loc.alignRight, Icons.format_align_right), 'center' => (context.loc.alignCenter, Icons.format_align_center), - 'justify' => ( - context.loc.justifyWinWidth, - Icons.format_align_justify - ), + 'justify' => (context.loc.alignJustify, Icons.format_align_justify), Object() => throw ArgumentError(widget.attribute.value), null => (context.loc.alignCenter, Icons.format_align_center), }; diff --git a/scripts/ensure_translations_correct.dart b/scripts/ensure_translations_correct.dart index 092178d7..147ed2db 100644 --- a/scripts/ensure_translations_correct.dart +++ b/scripts/ensure_translations_correct.dart @@ -18,7 +18,7 @@ import 'package:yaml/yaml.dart'; // This must be updated once add or remove some translation keys // if you update existing keys, no need to update it -const _expectedTranslationKeysLength = 96; +const _expectedTranslationKeysLength = 98; Future main(List args) async { final l10nYamlText = await File('l10n.yaml').readAsString();