From 98197a08302e0b2ea955b50d795d473b414c9aec Mon Sep 17 00:00:00 2001 From: emily-roth Date: Mon, 9 Dec 2024 16:01:14 -0500 Subject: [PATCH] testing for mismatch between script in identity block and script of characters in the file --- sldr/b/bqi.xml | 2 +- sldr/k/kxv.xml | 2 +- sldr/u/uz_Cyrl_UZ.xml | 4067 +--------------------------------------- tests/test_validate.py | 65 +- 4 files changed, 67 insertions(+), 4069 deletions(-) diff --git a/sldr/b/bqi.xml b/sldr/b/bqi.xml index e29fb9235..87f04af8e 100644 --- a/sldr/b/bqi.xml +++ b/sldr/b/bqi.xml @@ -25,7 +25,7 @@ [\u0627 \u0648 \u06cc \u0647 \u0631 \u0645 \u0633 \u062f \u0628 \u062a \u06a9 \u075a \u0644 \u062e \u0634 {\u0627\u0650} \u06af {\u06cc\u065a} {\u0648\u065a} \u0632 \u0639 \u062d پ ج ف چ ق آ ص ط غ ذ ئ ض ظ ث ژ] [\u200c] - [\u002e \u060c \u003a \u00ab \u00bb \u061f \u0021 \u0022 \u061b \u0027 \u023a \u2039] + [\u002e \u060c \u003a \u00ab \u00bb \u061f \u0021 \u0022 \u061b \u0027 \u203a \u2039] diff --git a/sldr/k/kxv.xml b/sldr/k/kxv.xml index a8d8f4853..77ed981e9 100644 --- a/sldr/k/kxv.xml +++ b/sldr/k/kxv.xml @@ -9,7 +9,7 @@ CLDR data files are interpreted according to the LDML specification (http://unic - + diff --git a/sldr/u/uz_Cyrl_UZ.xml b/sldr/u/uz_Cyrl_UZ.xml index 357f6e221..0e6148175 100644 --- a/sldr/u/uz_Cyrl_UZ.xml +++ b/sldr/u/uz_Cyrl_UZ.xml @@ -14,4069 +14,4 @@ CLDR data files are interpreted according to the LDML specification (http://unic - - - janubiy oltoy - g‘arbiy baluj - siksika - chakma - kreol (Seyshel) - nemis (Avstriya) - yuqori nemis (Shveytsariya) - dogri - ingliz (Avstraliya) - ingliz (Kanada) - ispan (Lotin Amerikasi) - ispan (Yevropa) - ispan (Meksika) - dari - fransuz (Kanada) - fransuz (Shveytsariya) - gagauz - gan - sichuan - lojban - kachin - kabardin - tyap - koro - kxasi - kvanyama - kimbundu - komi-permyak - kpelle - qorachoy-bolqor - karel - kurux - qo‘miq - komi - ladino - lezgin - limburg - lozi - luba-lulua - lunda - luo - madur - magahi - maythili - makasar - nauru - neapolitan - quyi nemis - quyi sakson - nevar - ndonga - nias - norveg - no‘g‘ay - shimoliy soto - navaxo - osetin - pangasinan - pampanga - palau - kreol (Nigeriya) - pruss - portugal (Braziliya) - portugal (Yevropa) - rapanui - rarotongan - rohinja - moldovan - sandave - ngambay - sardin - sitsiliya - shotland - janubiy kurd - shan - samoa - soninke - sranan-tongo - janubiy soto - sukuma - timne - tetum - klingon - tsvana - tok-piksin - taroko - tsonga - tumbuka - tuvalu - taiti - tuva - udmurt - umbundu - vallon - varay - valbiri - qalmoq - yemba - zuni - zaza - - - - - - - - - - Sahro janubidagi Afrika - Yevrozona - Birlashgan Millatlar Tashkiloti - Qalbaki urg‘u - Qalbaki Bidi - - - valyuta formati - soat tizimi (12 yoki 24) - qatorni uzish uslubi - o‘lchov tizimi - - - buddizm taqvimi - xitoy taqvimi - dangi taqvimi - habash taqvimi - yahudiy taqvimi - islomiy taqvim - ISO-8601 taqvimi - yapon taqvimi - fors taqvimi - Mingo taqvimi - moliyaviy valyuta formati - standart valyuta formati - 12 soatlik tizim (0–11) - 12 soatlik tizim (1–12) - 24 soatlik tizim (0–23) - 24 soatlik tizim (1–24) - qatorni yumshoq uzish - qatorni odatiy uzish - qatorni qat’iy uzish - metrik tizim - Britaniya o‘lchov tizimi - AQSH o‘lchov tizimi - - - - - - - - B h - B h:mm - B h:mm:ss - E, B h:mm - E, B h:mm:ss - E, HH:mm - E, h:mm (a) - E, HH:mm:ss - E, h:mm:ss (a) - dd.MM.y GGGGG - h (a) - h:mm (a) - h:mm:ss (a) - d-MMMM - y (G), MMMM - - - - B h – B h - B h – h - - - B h:mm – B h:mm - B h:mm–h:mm - B h:mm – h:mm - - - M/y (GGGGG) – M/y (GGGGG) - M/y – M/y (GGGGG) - M/y – M/y (GGGGG) - - - d/M/y – d/M/y (GGGGG) - d/M/y (GGGGG) – d/M/y (GGGGG) - d/M/y – d/M/y (GGGGG) - d/M/y – d/M/y (GGGGG) - - - E, d/M/y – E, d/M/y (GGGGG) - E, d/M/y (GGGGG) – E, d/M/y (GGGGG) - E, d/M/y – E, d/M/y (GGGGG) - E, d/M/y – E, d/M/y (GGGGG) - - - MMM G y – MMM G y - MMM – MMM, G y - MMM y – MMM y (G) - - - d – d-MMM, G y - d-MMM, G y – d-MMM, G y - d-MMM – d-MMM, G y - d-MMM, y – d-MMM, y (G) - - - E, d-MMM – E, d-MMM, G y - E, d-MMM, G y – E, d-MMM, G y - E, d-MMM – E, d-MMM, G y - E, d-MMM, y – E, d-MMM, y (G) - - - - - - - - dd.MM.y GGGGG - - - - B h – B h - B h – h - - - B h:mm – B h:mm - B h:mm – h:mm - B h:mm – h:mm - - - M/y (GGGGG) – M/y (GGGGG) - M/y – M/y (GGGGG) - M/y – M/y (GGGGG) - - - d/M/y – d/M/y (GGGGG) - d/M/y (GGGGG) – d/M/y (GGGGG) - d/M/y – d/M/y (GGGGG) - d/M/y – d/M/y (GGGGG) - - - E, d/M/y – E, d/M/y (GGGGG) - E, d/M/y (GGGGG) – E, d/M/y (GGGGG) - E, d/M/y – E, d/M/y (GGGGG) - E, d/M/y – E, d/M/y (GGGGG) - - - MMM, G y – MMM, G y - MMM–MMM, G y - MMM, y – MMM, y (G) - - - d – d-MMM, G y - d-MMM, G y – d-MMM, G y - d-MMM – d-MMM, G y - d-MMM, y – d-MMM, y (G) - - - E, d-MMM – E, d-MMM, G y - E, d-MMM, G y – E, d-MMM, G y - E, d-MMM – E, d-MMM, G y - E, d-MMM, y – E, d-MMM, y (G) - - - - - - - - - Rob. avv. - Rob. ox. - Jum. avv. - Jum. ox. - Shav. - Zul-q. - Zul-h. - - - - - Muh. - Saf. - Rob. avv. - Rob. ox. - Jum. avv. - Jum. ox. - Raj. - Sha. - Ram. - Shav. - Zul-q. - Zul-h. - - - Muharram - Safar - Robi’ ul-avval - Robi’ ul-oxir - Jumad ul-avval - Jumad ul-oxir - Rajab - Sha’bon - Ramazon - Shavvol - Zul-qa’da - Zul-hijja - - - - - - Hijriy - - - - - dd.MM.y GGGGG - MMM, y (G) - d-MMM, y G - MMMM, y G - QQQ, y (G) - QQQQ, y (G) - - - - - - - era - - - era - - - yil - oʻtgan yil - bu yil - keyingi yil - - {0} yildan keyin - {0} yildan keyin - - - {0} yil oldin - {0} yil oldin - - - - yil - oʻtgan yil - bu yil - keyingi yil - - {0} yildan keyin - {0} yildan keyin - - - {0} yil oldin - {0} yil oldin - - - - chorak - o‘tgan chorak - shu chorak - keyingi chorak - - {0} chorakdan keyin - {0} chorakdan keyin - - - {0} chorak oldin - {0} chorak oldin - - - - ch - - {0} chorakdan keyin - {0} chorakdan keyin - - - {0} chorak oldin - {0} chorak oldin - - - - ch - - {0} chorakdan keyin - {0} chorakdan keyin - - - {0} chorak oldin - {0} chorak oldin - - - - oy - - {0} oydan keyin - {0} oydan keyin - - - {0} oy oldin - {0} oy oldin - - - - oy - keyingi oy - - {0} oydan keyin - {0} oydan keyin - - - {0} oy oldin - {0} oy oldin - - - - {0}-hafta - - - hafta - - {0} haftadan keyin - {0} haftadan keyin - - - {0} hafta oldin - {0} hafta oldin - - {0}-hafta - - - hafta - - {0} haftadan keyin - {0} haftadan keyin - - - {0} hafta oldin - {0} hafta oldin - - {0}-hafta - - - oyning haftasi - - - oyning haftasi - - - oyning haftasi - - - kun - - {0} kundan keyin - {0} kundan keyin - - - {0} kun oldin - {0} kun oldin - - - - kun - - {0} kundan keyin - {0} kundan keyin - - - {0} kun oldin - {0} kun oldin - - - - yilning kuni - - - yilning kuni - - - yilning kuni - - - hafta kuni - - - hafta kuni - - - oyning hafta kuni - - - oyning hafta kuni - - - oyning hafta kuni - - - - {0} ta yakshanbadan keyin - {0} ta yakshanbadan keyin - - - {0} ta yakshanba oldin - {0} ta yakshanba oldin - - - - o‘tgan yakshanba - shu yakshanba - keyingi yakshanba - - {0} ta yakshanbadan keyin - {0} ta yakshanbadan keyin - - - {0} ta yakshanba oldin - {0} ta yakshanba oldin - - - - o‘tgan yakshanba - shu yakshanba - keyingi yakshanba - - {0} ta yakshanbadan keyin - {0} ta yakshanbadan keyin - - - {0} ta yakshanba oldin - {0} ta yakshanba oldin - - - - - {0} ta dushanbadan keyin - {0} ta dushanbadan keyin - - - {0} ta dushanba oldin - {0} ta dushanba oldin - - - - o‘tgan dushanba - shu dushanba - keyingi dushanba - - {0} ta dushanbadan keyin - {0} ta dushanbadan keyin - - - {0} ta dushanba oldin - {0} ta dushanba oldin - - - - o‘tgan dushanba - shu dushanba - keyingi dushanba - - {0} ta dushanbadan keyin - {0} ta dushanbadan keyin - - - {0} ta dushanba oldin - {0} ta dushanba oldin - - - - - {0} ta seshanbadan keyin - {0} ta seshanbadan keyin - - - {0} ta seshanba oldin - {0} ta seshanba oldin - - - - o‘tgan seshanba - shu seshanba - keyingi seshanba - - {0} ta seshanbadan keyin - {0} ta seshanbadan keyin - - - {0} ta seshanba oldin - {0} ta seshanba oldin - - - - o‘tgan seshanba - shu seshanba - keyingi seshanba - - {0} ta seshanbadan keyin - {0} ta seshanbadan keyin - - - {0} ta seshanba oldin - {0} ta seshanba oldin - - - - - {0} ta chorshanbadan keyin - {0} ta chorshanbadan keyin - - - {0} ta chorshanba oldin - {0} ta chorshanba oldin - - - - o‘tgan chorshanba - shu chorshanba - keyingi chorshanba - - {0} ta chorshanbadan keyin - {0} ta chorshanbadan keyin - - - {0} ta chorshanba oldin - {0} ta chorshanba oldin - - - - o‘tgan chorshanba - shu chorshanba - keyingi chorshanba - - {0} ta chorshanbadan keyin - {0} ta chorshanbadan keyin - - - {0} ta chorshanba oldin - {0} ta chorshanba oldin - - - - - {0} ta payshanbadan keyin - {0} ta payshanbadan keyin - - - {0} ta payshanba oldin - {0} ta payshanba oldin - - - - o‘tgan payshanba - shu payshanba - keyingi payshanba - - {0} ta payshanbadan keyin - {0} ta payshanbadan keyin - - - {0} ta payshanba oldin - {0} ta payshanba oldin - - - - o‘tgan payshanba - shu payshanba - keyingi payshanba - - {0} ta payshanbadan keyin - {0} ta payshanbadan keyin - - - {0} ta payshanba oldin - {0} ta payshanba oldin - - - - - {0} ta jumadan keyin - {0} ta jumadan keyin - - - {0} ta juma oldin - {0} ta juma oldin - - - - o‘tgan juma - shu juma - keyingi juma - - {0} ta jumadan keyin - {0} ta jumadan keyin - - - {0} ta juma oldin - {0} ta juma oldin - - - - o‘tgan juma - shu juma - keyingi juma - - {0} ta jumadan keyin - {0} ta jumadan keyin - - - {0} ta juma oldin - {0} ta juma oldin - - - - - {0} ta shanbadan keyin - {0} ta shanbadan keyin - - - {0} ta shanba oldin - {0} ta shanba oldin - - - - o‘tgan shanba - shu shanba - keyingi shanba - - {0} ta shanbadan keyin - {0} ta shanbadan keyin - - - {0} ta shanba oldin - {0} ta shanba oldin - - - - o‘tgan shanba - shu shanba - keyingi shanba - - {0} ta shanbadan keyin - {0} ta shanbadan keyin - - - {0} ta shanba oldin - {0} ta shanba oldin - - - - TO/TK - - - TO/TK - - - shu soatda - - - soat - - {0} soatdan keyin - {0} soatdan keyin - - - {0} soat oldin - {0} soat oldin - - - - soat - - {0} soatdan keyin - {0} soatdan keyin - - - {0} soat oldin - {0} soat oldin - - - - shu daqiqada - - - daq. - - {0} daqiqadan keyin - {0} daqiqadan keyin - - - {0} daqiqa oldin - {0} daqiqa oldin - - - - daq. - - {0} daqiqadan keyin - {0} daqiqadan keyin - - - {0} daqiqa oldin - {0} daqiqa oldin - - - - son. - - {0} soniyadan keyin - {0} soniyadan keyin - - - {0} soniya oldin - {0} soniya oldin - - - - son. - - {0} soniyadan keyin - {0} soniyadan keyin - - - {0} soniya oldin - {0} soniya oldin - - - - vaqt mintaqasi - - - vaqt mintaqasi - - - - - - Koordinatali universal vaqt - - - - Andorra - - - Dubay - - - Qobul - - - Antigua - - - Angilya - - - Tirana - - - Yerevan - - - Luanda - - - Vostok - - - Mak-Merdo - - - Troll - - - Syova - - - Deyvis - - - Rotera - - - Mouson - - - Keysi - - - Palmer - - - Ushuaya - - - Rio-Galyegos - - - Buenos-Ayres - - - San-Luis - - - Mendoza - - - Kordoba - - - San-Xuan - - - La-Rioxa - - - Katamarka - - - Tukuman - - - Jujuy - - - Salta - - - Pago-Pago - - - Vena - - - Makkuori - - - Xobart - - - Melburn - - - Adelaida - - - Sidney - - - Lord-Xau oroli - - - Evkla - - - Pert - - - Broken-Xill - - - Brisben - - - Lindeman - - - Darvin - - - Aruba - - - Mariyexamn - - - Boku - - - Sarayevo - - - Barbados - - - Dakka - - - Bryussel - - - Uagadugu - - - Sofiya - - - Bahrayn - - - Bujumbura - - - Porto-Novo - - - Bermuda orollari - - - Bruney - - - La-Pas - - - Kralendeyk - - - San-Paulu - - - Kampu-Grandi - - - Kuyaba - - - Baiya - - - Maseyo - - - Riu-Branku - - - Resifi - - - Portu-Velyu - - - Araguaina - - - Eyrunepe - - - Manaus - - - Fortaleza - - - Noronya - - - Santarem - - - Belem - - - Boa-Vista - - - Nassau - - - Thimphu - - - Gaborone - - - Minsk - - - Beliz - - - Toronto - - - Galifaks - - - Monkton - - - Gleys-Bey - - - Tander-Bey - - - Reyni-River - - - Nipigon - - - Kreston - - - Vankuver - - - Vinnipeg - - - Svift-Karrent - - - Rejayna - - - Blank-Sablon - - - Gus-Bey - - - Edmonton - - - Fort Nelson - - - Douson-Krik - - - Uaytxors - - - Yellounayf - - - Rankin-Inlet - - - Ikaluit - - - Douson - - - Pangnirtang - - - Inuvik - - - Kembrij-Bey - - - Rezolyut - - - Kokos orollari - - - Lubumbashi - - - Kinshasa - - - Bangi - - - Brazzavil - - - Syurix - - - Abidjan - - - Rarotonga - - - Punta-Arenas - - - Santyago - - - Pasxa oroli - - - Duala - - - Shanxay - - - Urumchi - - - Bogota - - - Kosta-Rika - - - Gavana - - - Kabo-Verde - - - Kyurasao - - - Rojdestvo oroli - - - Famagusta - - - Nikosiya - - - Praga - - - Byuzingen - - - Berlin - - - Jibuti - - - Kopengagen - - - Dominika - - - Santo-Domingo - - - Jazoir - - - Guayakil - - - Galapagos - - - Tallin - - - Qohira - - - Al-Ayun - - - Kanar orollari - - - Seuta - - - Madrid - - - Addis-Abeba - - - Xelsinki - - - Fiji - - - Stenli - - - Kosrae - - - Parij - - - Librevil - - - London - - - Grenada - - - Tbilisi - - - Kayenna - - - Gernsi - - - Akkra - - - Gibraltar - - - Tule - - - Denmarksxavn - - - Banjul - - - Konakri - - - Gvadelupa - - - Malabo - - - Afina - - - Janubiy Georgiya - - - Gvatemala - - - Guam - - - Bisau - - - Gayana - - - Gonkong - - - Tegusigalpa - - - Zagreb - - - Port-o-Prens - - - Budapesht - - - Jakarta - - - Makasar - - - Jaypur - - - Pontianak - - - Dublin - - - Quddus - - - Men oroli - - - Chagos - - - Bag‘dod - - - Tehron - - - Reykyavik - - - Rim - - - Jersi - - - Yamayka - - - Ammon - - - Tokio - - - Nayrobi - - - Bishkek - - - Pnompen - - - Tarava - - - Kiritimati - - - Komor orollari - - - Pxenyan - - - Seul - - - Quvayt - - - Kayman orollari - - - Almati - - - Oqtov - - - Qizilo‘rda - - - Atirau - - - Oqto‘ba - - - Uralsk - - - Vyentyan - - - Bayrut - - - Vaduts - - - Kolombo - - - Monroviya - - - Maseru - - - Vilnyus - - - Lyuksemburg - - - Riga - - - Tripoli - - - Kasablanka - - - Monako - - - Kishinyov - - - Podgoritsa - - - Marigo - - - Antananarivu - - - Majuro - - - Kvajaleyn - - - Skopye - - - Bamako - - - Rangun - - - Ulan-Bator - - - Xovd - - - Choybalsan - - - Makao - - - Saypan - - - Martinika - - - Nouakchott - - - Montserrat - - - Malta - - - Mavrikiy - - - Maldiv orollari - - - Blantayr - - - Mexiko - - - Bahiya-Banderas - - - Merida - - - Kankun - - - Masatlan - - - Monterrey - - - Matamoros - - - Chihuahua - - - Ermosillo - - - Oxinaga - - - Tixuana - - - Kuching - - - Kuala-Lumpur - - - Maputu - - - Vindxuk - - - Numea - - - Niamey - - - Norfolk - - - Lagos - - - Managua - - - Amsterdam - - - Oslo - - - Nauru - - - Niue - - - Chatem oroli - - - Oklend - - - Maskat - - - Panama - - - Lima - - - Gambye oroli - - - Taiti oroli - - - Markiz orollari - - - Port-Morsbi - - - Bugenvil - - - Manila - - - Karachi - - - Varshava - - - Mikelon - - - Pitkern - - - Puerto-Riko - - - G‘azo - - - Xevron - - - Madeyra oroli - - - Azor orollari - - - Lissabon - - - Palau - - - Asunson - - - Qatar - - - Reyunion - - - Buxarest - - - Belgrad - - - Vladivostok - - - Astraxan - - - Saxalin - - - Volgograd - - - Saratov - - - Chita - - - Irkutsk - - - Kamchatka - - - Samara - - - Barnaul - - - Novokuznetsk - - - Ulyanovsk - - - Kaliningrad - - - Omsk - - - Novosibirsk - - - Moskva - - - Krasnoyarsk - - - Tomsk - - - Yekaterinburg - - - Kirov - - - Magadan - - - Yakutsk - - - Xandiga - - - Ust-Nera - - - Anadir - - - Srednekolimsk - - - Kigali - - - Ar-Riyod - - - Gvadalkanal - - - Mae - - - Xartum - - - Stokgolm - - - Singapur - - - Lyublyana - - - Longyir - - - Bratislava - - - Fritaun - - - San-Marino - - - Dakar - - - Mogadisho - - - Paramaribo - - - Juba - - - San-Tome - - - Salvador - - - Damashq - - - Mbabane - - - Grand Turk - - - Ndjamena - - - Kergelen - - - Lome - - - Bangkok - - - Dushanbe - - - Fakaofo - - - Dili - - - Ashxobod - - - Tunis - - - Tongatapu - - - Istanbul - - - Port-of-Speyn - - - Funafuti - - - Taypey - - - Dor-us-Salom - - - Simferopol - - - Zaporojye - - - Ujgorod - - - Kiyev - - - Kampala - - - Ueyk oroli - - - Midvey orollari - - - Jonston - - - Feniks - - - Los-Anjeles - - - Luisvill - - - Denver - - - Indianapolis - - - Nyu-York - - - Chikago - - - Detroyt - - - Boyse - - - Menomini - - - Adak oroli - - - Metlakatla - - - Sitka - - - Juno - - - Yakutat - - - Ankorij - - - Nom - - - Montevideo - - - Samarqand - - - Toshkent - - - Vatikan - - - Karakas - - - Tortola - - - Efate - - - Uollis - - - Apia - - - Adan - - - Mayorka - - - Yoxannesburg - - - Lusaka - - - Xarare - - - Santa-Izabel - - - Kerri - - - Enderberi oroli - - - Gonolulu - - - - Apia vaqti - Apia standart vaqti - Apia yozgi vaqti - - - - - Kaliningrad va Minsk vaqti - - - - - Shimoli-g‘arbiy Meksika vaqti - Shimoli-g‘arbiy Meksika standart vaqti - Shimoli-g‘arbiy Meksika yozgi vaqti - - - - - Meksika Tinch okeani vaqti - Meksika Tinch okeani standart vaqti - Meksika Tinch okeani yozgi vaqti - - - - - Pxenyan vaqti - - - - - Yukon vaqti - - - - - - - - Birlashgan Arab Amirliklari dirhami - BAA dirhami - BAA dirhami - - - Afg‘oniston afg‘oniysi - Afg‘oniston afg‘oniysi - Afg‘oniston afg‘oniysi - - - Albaniya leki - Albaniya leki - Albaniya leki - - - Armaniston drami - Armaniston drami - Armaniston drami - - - Angola kvanzasi - Angola kvanzasi - Angola kvanzasi - - - ARS - - - Avstraliya dollari - Avstraliya dollari - Avstraliya dollari - - - Ozarbayjon manati - Ozarbayjon manati - Ozarbayjon manati - - - Bosniya va Gertsegovina ayirboshlash markasi - Bosniya va Gertsegovina ayirboshlash markasi - Bosniya va Gertsegovina ayirboshlash markasi - - - BBD - - - Bangladesh takasi - Bangladesh takasi - Bangladesh takasi - - - Bolgariya levi - Bolgariya levi - Bolgariya levi - - - Bahrayn dinori - Bahrayn dinori - Bahrayn dinori - - - Burundi franki - Burundi franki - Burundi franki - - - BMD - - - Bruney dollari - Bruney dollari - Bruney dollari - - - BOB - - - BSD - - - Butan ngultrumi - Butan ngultrumi - Butan ngultrumi - - - Botsvana pulasi - Botsvana pulasi - Botsvana pulasi - - - Belarus rubli - Belarus rubli - Belarus rubli - - - Belarus rubli (2000–2016) - Belarus rubli (2000–2016) - Belarus rubli (2000–2016) - - - BZD - - - Kongo franki - Kongo franki - Kongo franki - - - Shveytsariya franki - Shveytsariya franki - Shveytsariya franki - - - CLP - - - CNH - CNH - CNH - - - COP - - - CRC - - - CUC - - - CUP - - - Kabo-Verde eskudosi - Kabo-Verde eskudosi - Kabo-Verde eskudosi - - - Chexiya kronasi - Chexiya kronasi - Chexiya kronasi - - - Jibuti franki - Jibuti franki - Jibuti franki - - - Daniya kronasi - Daniya kronasi - Daniya kronasi - - - DOP - - - EGP - - - Eritreya nakfasi - Eritreya nakfasi - Eritreya nakfasi - - - Efiopiya biri - Efiopiya biri - Efiopiya biri - - - Fiji dollari - Fiji dollari - Fiji dollari - - - FKP - - - Gruziya larisi - Gruziya larisi - Gruziya larisi - - - - Gana sedisi - Gana sedisi - Gana sedisi - - - Gibraltar funti - Gibraltar funti - Gibraltar funti - - - Gambiya dalasisi - Gambiya dalasisi - Gambiya dalasisi - - - Gvineya franki - Gvineya franki - Gvineya franki - - - GTQ - - - GYD - - - Gonkong dollari - Gonkong dollari - Gonkong dollari - - - HNL - - - Xorvatiya kunasi - Xorvatiya kunasi - Xorvatiya kunasi - - - Vengriya forinti - Vengriya forinti - Vengriya forinti - - - Indoneziya rupiyasi - Indoneziya rupiyasi - Indoneziya rupiyasi - - - Isroil yangi shekeli - Isroil yangi shekeli - Isroil yangi shekeli - - - Hindiston rupiyasi - Hindiston rupiyasi - - - Iroq dinori - Iroq dinori - Iroq dinori - - - Eron riyoli - Eron riyoli - Eron riyoli - - - Islandiya kronasi - Islandiya kronasi - Islandiya kronasi - - - JMD - - - Iordaniya dinori - Yordaniya dinori - Iordaniya dinori - - - Keniya shillingi - Keniya shillingi - Keniya shillingi - - - Qirg‘iziston somi - Qirg‘iziston somi - Qirg‘iziston somi - - - Kambodja rieli - Kambodja rieli - Kambodja rieli - - - Komor orollari franki - Komor orollari franki - Komor orollari franki - - - Shimoliy Koreya voni - Shimoliy Koreya voni - Shimoliy Koreya voni - - - Janubiy Koreya voni - Janubiy Koreya voni - Janubiy Koreya voni - - - Kuvayt dinori - Kuvayt dinori - Kuvayt dinori - - - KYD - - - Qozog‘iston tengesi - Qozog‘iston tengesi - Qozog‘iston tengesi - - - Laos kipi - Laos kipi - Laos kipi - - - Livan funti - Livan funti - Livan funti - - - Shri-Lanka rupiyasi - Shri-Lanka rupiyasi - Shri-Lanka rupiyasi - - - Liberiya dollari - Liberiya dollari - Liberiya dollari - - - Lesoto lotisi - Lesoto lotisi - Lesoto lotisi - - - Litva liti - Litva liti - Litva liti - - - Latviya lati - Latviya lati - Latviya lati - - - Moldova leyi - Moldova leyi - Moldova leyi - - - Malagasi ariarisi - Malagasi ariarisi - Malagasi ariarisi - - - Makedoniya dinori - Makedoniya dinori - Makedoniya dinori - - - Myanma kyati - Myanma kyati - Myanma kyati - - - Mongoliya tugriki - Mongoliya tugriki - Mongoliya tugriki - - - Makao patakasi - Makao patakasi - Makao patakasi - - - Mavritaniya uqiyasi (1973–2017) - Mavritaniya uqiyasi (1973–2017) - Mavritaniya uqiyasi (1973–2017) - - - Mavritaniya uqiyasi - Mavritaniya uqiyasi - Mavritaniya uqiyasi - - - Mavritaniya rupiyasi - Mavritaniya rupiyasi - Mavritaniya rupiyasi - - - Maldiv rupiyasi - Maldiv rupiyasi - Maldiv rupiyasi - - - Malavi kvachasi - Malavi kvachasi - Malavi kvachasi - - - Malayziya ringgiti - Malayziya ringgiti - Malayziya ringgiti - - - Mozambik metikali - Mozambik metikali - Mozambik metikali - - - Namibiya dollari - Namibiya dollari - Namibiya dollari - - - Nigeriya nayrasi - Nigeriya nayrasi - Nigeriya nayrasi - - - NIO - - - Norvegiya kronasi - Norvegiya kronasi - Norvegiya kronasi - - - Nepal rupiyasi - Nepal rupiyasi - Nepal rupiyasi - - - Yangi Zelandiya dollari - Yangi Zelandiya dollari - Yangi Zelandiya dollari - - - Ummon riyoli - Ummon riyoli - Ummon riyoli - - - Papua – Yangi Gvineya kinasi - Papua – Yangi Gvineya kinasi - Papua – Yangi Gvineya kinasi - - - Filippin pesosi - Filippin pesosi - Filippin pesosi - - - Pokiston rupiyasi - Pokiston rupiyasi - Pokiston rupiyasi - - - Polsha zlotiyi - Polsha zlotiyi - Polsha zlotiyi - - - PYG - - - Qatar riyoli - Qatar riyoli - Qatar riyoli - - - Ruminiya leyi - Ruminiya leyi - Ruminiya leyi - - - Serbiya dinori - Serbiya dinori - Serbiya dinori - - - RUB - - - Ruanda franki - Ruanda franki - Ruanda franki - - - Saudiya Arabistoni riyoli - Saudiya Arabistoni riyoli - Saudiya Arabistoni riyoli - - - Solomon orollari dollari - Solomon orollari dollari - Solomon orollari dollari - - - Seyshel rupiyasi - Seyshel rupiyasi - Seyshel rupiyasi - - - Sudan funti - Sudan funti - Sudan funti - - - Shvetsiya kronasi - Shvetsiya kronasi - Shvetsiya kronasi - - - Singapur dollari - Singapur dollari - Singapur dollari - - - Muqaddas Yelena oroli funti - Muqaddas Yelena oroli funti - Muqaddas Yelena oroli funti - - - Syerra-Leone leonesi - Syerra-Leone leonesi - Syerra-Leone leonesi - - - Somali shillingi - Somali shillingi - Somali shillingi - - - SRD - - - Janubiy Sudan funti - Janubiy Sudan funti - Janubiy Sudan funti - - - San-Tome va Prinsipi dobrasi (1977–2017) - San-Tome va Prinsipi dobrasi (1977–2017) - San-Tome va Prinsipi dobrasi (1977–2017) - - - San-Tome va Prinsipi dobrasi - San-Tome va Prinsipi dobrasi - San-Tome va Prinsipi dobrasi - - - Suriya funti - Suriya funti - Suriya funti - - - Svazilend lilangenisi - Svazilend lilangenisi - Svazilend lilangenisi - - - Tailand bati - Tailand bati - Tailand bati - - - Tojikiston somoniysi - Tojikiston somoniysi - Tojikiston somoniysi - - - Turkmaniston manati - Turkmaniston manati - Turkmaniston manati - - - Tunis dinori - Tunis dinori - Tunis dinori - - - Tonga paangasi - Tonga paangasi - Tonga paangasi - - - Turk lirasi - Turk lirasi - Turk lirasi - - - TTD - - - Yangi Tayvan dollari - Yangi Tayvan dollari - Yangi Tayvan dollari - - - Tanzaniya shillingi - Tanzaniya shillingi - Tanzaniya shillingi - - - Ukraina grivnasi - Ukraina grivnasi - Ukraina grivnasi - - - Uganda shillingi - Uganda shillingi - Uganda shillingi - - - UYU - - - Vyetnam dongi - Vyetnam dongi - Vyetnam dongi - - - Vanuatu vatusi - Vanuatu vatusi - Vanuatu vatusi - - - Samoa talasi - Samoa talasi - Samoa talasi - - - Markaziy Afrika CFA franki - Markaziy Afrika CFA franki - Markaziy Afrika CFA franki - - - G‘arbiy Afrika CFA franki - G‘arbiy Afrika CFA franki - G‘arbiy Afrika CFA franki - - - Fransuz Polineziyasi franki - Fransuz Polineziyasi franki - Fransuz Polineziyasi franki - - - Noma’lum valyuta - (noma’lum valyuta) - (noma’lum valyuta) - - - Yaman riyoli - Yaman riyoli - Yaman riyoli - - - Janubiy Afrika rendi - Janubiy Afrika rendi - Janubiy Afrika rendi - - - Zambiya kvachasi - Zambiya kvachasi - Zambiya kvachasi - - - - Bu jildda {0} ta fayl bor. Uni oʻchirib tashlaysizmi? - Bu jildda {0} ta fayl bor. Ularni oʻchirib tashlaysizmi? - {0}chi chorraxada oʼngga buriling. - - - - - - metr/soniya kvadrat - {0} metr/soniya kvadrat - {0} metr/soniya kvadrat - - - radian - {0} radian - {0} radian - - - aylanish - {0} marta aylanish - {0} marta aylanish - - - kvadrat santimetr - {0} kvadrat santimetr - {0} kvadrat santimetr - {0}/kvadrat santimetr - - - kvadrat duym - {0} kvadrat dyum - {0} kvadrat dyum - {0}/kvadrat duym - - - {0} kvadrat kilometr - - - {0}/kvadrat metr - - - {0}/kvadrat mil - - - kvadrat yard - {0} kvadrat yard - {0} kvadrat yard - - - elementlar - {0} element - {0} ta element - - - karat - {0} karat - {0} karat - - - milligramm/detsilitr - {0} milligramm/detsilitr - {0} milligramm/detsilitr - - - millimol/litr - {0} millimol/litr - {0} millimol/litr - - - millionning ulushi - milliondan {0} - milliondan {0} - - - foiz - {0} foiz - {0} foiz - - - promille - {0} promille - {0} promille - - - milliondan ulush - {0} ppm - {0} ppm - - - promiriada - {0} promiriada - {0} promiriada - - - litr/100 km - {0} litr/100 km - {0} litr/100 km - - - litr/kilometr - {0} litr/kilometr - {0} litr/kilometr - - - mil/gallon - {0} mil/gallon - {0} mil/gallon - - - mil/imp. gallon - {0} mil/imp. gallon - {0} mil/imp. gallon - - - bit - {0} bit - {0} bit - - - bayt - {0} bayt - {0} bayt - - - gigabit - {0} gigabit - {0} gigabit - - - gigabayt - {0} gigabayt - {0} gigabayt - - - kilobit - {0} kilobit - {0} kilobit - - - kilobayt - {0} kilobayt - {0} kilobayt - - - megabit - {0} megabit - {0} megabit - - - megabayt - {0} megabayt - {0} megabayt - - - petabayt - {0} petabayt - {0} petabayt - - - terabit - {0} terabit - {0} terabit - - - terabayt - {0} terabayt - {0} terabayt - - - asr - {0} asr - {0} asr - - - {0}/kun - - - {0}/soat - - - mikrosoniya - {0} mikrosoniya - {0} mikrosoniya - - - {0}/daqiqa - - - {0}/oy - - - nanosoniya - {0} nanosoniya - {0} nanosoniya - - - {0}/soniya - - - {0}/hafta - - - {0}/yil - - - amper - {0} amper - {0} amper - - - milliamper - {0} milliamper - {0} milliamper - - - om - {0} om - {0} om - - - volt - {0} volt - {0} volt - - - Britaniya issiqlik birligi - {0} Britaniya issiqlik birligi - {0} Britaniya issiqlik birligi - - - kaloriya - kaloriya - {0} kaloriya - - - elektronvolt - {0} elektronvolt - {0} elektronvolt - - - kaloriya - {0} kaloriya - {0} kaloriya - - - joul - {0} joul - {0} joul - - - kilokaloriya - {0} kilokaloriya - {0} kilokaloriya - - - kilojoul - {0} kilojoul - {0} kilojoul - - - kilovatt-soat - {0} kilovatt-soat - {0} kilovatt-soat - - - kWh/100km - {0} kWh/100km - {0} kWh/100km - - - nyuton - {0} nyuton - {0} nyuton - - - funt-kuch - {0} funt-kuch - {0} funt-kuch - - - gigagers - {0} gigagers - {0} gigagers - - - gers - {0} gers - {0} gers - - - kilogers - {0} kilogers - {0} kilogers - - - megagers - {0} megagers - {0} megagers - - - astronomik birlik - {0} astronomik birlik - {0} astronomik birlik - - - {0}/santimetr - - - detsimetr - {0} detsimetr - {0} detsimetr - - - {0}/fut - - - {0}/duym - - - {0}/kilometr - - - {0}/metr - - - mikrometr - {0} mikrometr - {0} mikrometr - - - skandinav mili - {0} skandinav mili - {0} skandinav mili - - - nanometr - {0} nanometr - {0} nanometr - - - dengiz mili - {0} dengiz mili - {0} dengiz mili - - - parsek - {0} parsek - {0} parsek - - - nuqta - {0} nuqta - {0} nuqta - - - quyosh radiusi - {0} quyosh radiusi - {0} quyosh radiusi - - - lyuks - {0} lyuks - {0} lyuks - - - quyosh nuri kuchi - {0} quyosh nuri kuchi - {0} quyosh nuri kuchi - - - karat - {0} karat - {0} karat - - - dalton - {0} dalton - {0} dalton - - - Yer massasi - {0} Yer massasi - {0} Yer massasi - - - {0}/gramm - - - {0}/kilogramm - - - tonna - {0} tonna - {0} tonna - - - mikrogramm - {0} mikrogramm - {0} mikrogramm - - - milligramm - {0} milligramm - {0} milligramm - - - {0}/unsiya - - - troya unsiyasi - {0} troya unsiyasi - {0} troya unsiyasi - - - {0}/funt - - - quyosh massasi - {0} quyosh massasi - {0} quyosh massasi - - - amerika tonnasi - {0} amerika tonnasi - {0} amerika tonnasi - - - gigavatt - {0} gigavatt - {0} gigavatt - - - megavatt - {0} megavatt - {0} megavatt - - - millivatt - {0} millivatt - {0} millivatt - - - atmosfera - {0} atmosfera - {0} atmosfera - - - kilopaskal - {0} kilopaskal - {0} kilopaskal - - - megapaskal - {0} megapaskal - {0} megapaskal - - - mm simob ustuni - {0} mm simob ustuni - {0} mm simob ustuni - - - funt/kvadrat duym - {0} funt/kvadrat duym - {0} funt/kvadrat duym - - - uzel - {0} uzel - {0} uzel - - - ° - {0}° - {0}° - - - kelvin - {0} kelvin - {0} kelvin - - - nyuton-metr - {0} nyuton-metr - {0} nyuton-metr - - - funt-fut - {0} funt-fut - {0} funt-fut - - - akrofut - {0} akrofut - {0} akrofut - - - barrel - {0} barrel - {0} barrel - - - santilitr - {0} santilitr - {0} santilitr - - - kub santimetr - {0} kub santimetr - {0} kub santimetr - {0}/kub santimetr - - - kub fut - {0} kub fut - {0} kub fut - - - kub duym - {0} kub duym - {0} kub duym - - - kub metr - {0} kub metr - {0} kub metr - {0}/kub metr - - - kub yard - {0} kub yard - {0} kub yard - - - piyola - {0} piyola - {0} piyola - - - metrik piyola - {0} metrik piyola - {0} metrik piyola - - - detsilitr - {0} detsilitr - {0} detsilitr - - - suyuq unsiya - {0} suyuq unsiya - {0} suyuq unsiya - - - ingliz suyuq unsiyasi - {0} ingliz suyuq unsiyasi - {0} ingliz suyuq unsiyasi - - - gallon - {0} gallon - {0} gallon - {0}/gallon - - - imp. gallon - {0} imp. gallon - {0} imp. gallon - {0}/imp. gallon - - - gektolitr - {0} gektolitr - {0} gektolitr - - - {0}/litr - - - megalitr - {0} megalitr - {0} megalitr - - - millilitr - {0} millilitr - {0} millilitr - - - pint - {0} pint - {0} pint - - - metrik pint - {0} metrik pint - {0} metrik pint - - - kvart - {0} kvart - {0} kvart - - - osh qoshiq - {0} osh qoshiq - {0} osh qoshiq - - - choy qoshiq - {0} choy qoshiq - {0} choy qoshiq - - - yo‘nalish - {0} sharqiy uzunlik - {0} shimoliy kenglik - {0} janubiy kenglik - {0} g‘arbiy uzunlik - - - - - metr/soniya² - {0} m/s² - - - {0} rad - - - aylanish - {0} marta ayl. - {0} marta ayl. - - - {0} dunam - - - sm² - {0} sm² - {0} sm² - {0}/sm² - - - kvadrat duym - {0} kv. duym - {0} kv. duym - {0} kv. duym - - - {0}/mil² - - - yard² - {0} yard² - {0} yard² - - - element - {0} element - {0} ta element - - - karat - {0} kt - - - {0} mg/dL - - - millimol/litr - {0} mmol/L - - - {0} mol - - - {0} ppm - - - foiz - {0}% - - - promille - {0}‰ - - - milliondan ulush - {0} ppm - - - promiriada - {0}‱ - - - L/100 km - {0} L/100 km - {0} L/100 km - - - litr/km - {0} L/km - - - mil/gal - {0} mil/gal - {0} mil/gal - - - mil/imp. gallon - {0} mil/imp.gal - {0} mil/imp.gal - - - {0} bit - - - bayt - {0} bayt - {0} bayt - - - Gbit - {0} Gbit - {0} Gbit - - - {0} GB - - - kbit - {0} kbit - {0} kbit - - - {0} kB - - - Mbit - {0} Mbit - {0} Mbit - - - {0} MB - - - {0} PB - - - Tbit - {0} Tbit - {0} Tbit - - - {0} TB - - - asr - {0} asr - {0} asr - - - {0}/kun - - - {0}/soat - - - mks - {0} mks - {0} mks - - - {0}/daq. - - - {0}/oy - - - nanosoniya - {0} ns - - - {0}/hafta - - - {0}/yil - - - amper - {0} A - - - {0} mA - - - om - {0} Ω - - - {0} V - - - BTU - {0} BTU - {0} BTU - - - kal - {0} kal - {0} kal - - - elektronvolt - {0} eV - - - kal - {0} kal - {0} kal - - - joul - {0} J - - - kkal - {0} kkal - {0} kkal - - - kilojoul - {0} kJ - - - kVt-soat - {0} kVt-soat - {0} kVt-soat - - - {0} kWh/100km - - - nyuton - {0} N - - - funt-kuch - {0} funt-kuch - {0} funt-kuch - - - GGs - {0} GGs - {0} GGs - - - Gs - {0} Gs - {0} Gs - - - kGs - {0} kGs - {0} kGs - - - MGs - {0} MGs - {0} MGs - - - {0} em - - - megapiksel - {0} MP - - - piksel - {0} px - - - a.b. - {0} a.b. - {0} a.b. - - - {0}/sm - - - {0} dm - - - {0} fut - - - {0}/dy - - - µmetr - {0} µm - - - sk. mili - {0} sk. mili - {0} sk. mili - - - {0} nm - - - den. mili - {0} den. mili - {0} den. mili - - - pk - {0} pk - {0} pk - - - nuqta - {0} nuqta - {0} nuqta - - - quyosh radiusi - {0} R☉ - - - lk - {0} lk - {0} lk - - - quyosh nuri kuchi - {0} L☉ - - - karat - {0} kar - {0} kar - - - dalton - {0} Da - - - Yer massasi - {0} M⊕ - - - {0} t - - - {0} µg - - - {0} mg - - - {0}/unsiya - - - troya unsiyasi - {0} troya unsiyasi - {0} troya unsiyasi - - - {0}/funt - - - quyosh massasi - {0} M☉ - - - amer. t - {0} amer. t - {0} amer. t - - - GVt - {0} GVt - {0} GVt - - - MVt - {0} MVt - {0} MVt - - - mVt - {0} mVt - {0} mVt - - - {0} atm - - - {0} bar - - - {0} kPa - - - {0} MPa - - - mm sim.ust - {0} mm sim.ust - {0} mm sim.ust - - - {0} Pa - - - funt/kv.dy - {0} funt/kv.dy - {0} funt/kv.dy - - - uzel - {0} uzel - {0} uzel - - - {0}° - - - {0} K - - - {0} N⋅m - - - funt-fut - {0} funt-fut - {0} funt-fut - - - akrofut - {0} akrofut - {0} akrofut - - - barrel - {0} barrel - {0} barrel - - - sL - {0} sL - {0} sL - - - sm³ - {0} sm³ - {0} sm³ - {0}/sm³ - - - kub fut - {0} kub fut - {0} kub fut - - - kub duym - {0} kub duym - {0} kub duym - - - {0} m³ - - - kub yard - {0} yard³ - {0} yard³ - - - piyola - {0} piyola - {0} piyola - - - m. piyola - {0} m. piyola - {0} m. piyola - - - {0} dL - - - suyuq unsiya - {0} suyuq unsiya - {0} suyuq unsiya - - - ingliz suyuq unsiyasi - {0} ing. suyuq uns. - {0} ing. suyuq uns. - - - gal - {0} gal - {0} gal - {0}/gal - - - imp. gal. - {0} imp. gal. - {0} imp. gal. - {0} imp. gal. - - - gL - {0} gL - {0} gL - - - {0}/L - - - {0} ML - - - {0} mL - - - pint - {0} pint - {0} pint - - - {0} mpt - - - kvart - {0} kvart - {0} kvart - - - osh qoshiq - {0} osh qoshiq - {0} osh qoshiq - - - choy qoshiq - {0} choy qoshiq - {0} choy qoshiq - - - yo‘nalish - {0} shq. u. - {0} shm. k. - {0} jan. k. - {0} g‘rb. u. - - - - - % - {0}% - {0}% - - - ppm - {0}ppm - {0}ppm - - - L/100 km - {0}L/100km - {0}L/100km - - - kun - - - soat - - - mson - - - daq. - - - oy - - - son. - - - hafta - - - yil - - - {0} nqt/sm - {0} nuqta/sm - - - sm - - - km - - - metr - - - mm - - - kd - {0}kd - {0}kd - - - {0}lm - {0}lm - - - L☉ - {0}L☉ - {0}L☉ - - - gramm - - - kg - - - km/soat - - - °C - - - {0}N⋅m - {0}N⋅m - - - funt-fut - {0} funt-fut - {0} funt-fut - - - litr - - - yo‘nalish - {0} shq. u. - {0} shm. k. - {0} jan. k. - {0} g‘rb. u. - - - - - kursiv - optik o‘lcham - qiyalik - eni - qalinligi - izoh - titul - monitor - qiya egri - to‘g‘ri - qiya - juda qiya - ultra-siqilgan - ekstra-siqilgan - siqilgan - yarim siqilgan - yarim yoyilgan - yoyilgan - ekstra-yoyilgan - ultra-yoyilgan - yupqa - ekstra-yengil - yengil - yarim yengil - kitob - odatiy - o‘rtacha - yarim qalin - qalin - ekstra-qalin - qora - ekstra-qora - vertikal chiziqli kasrlar - bosh harflar orasi - ixtiyoriy ligaturalar - diagonal chiziqli kasrlar - raqamlarni tekislash - eskicha chizmalar - tartib sonlar - proporsional sonlar - kichik bosh harflar - jadvalli sonlar - qiya chiziqli nol - - - - - https://lff.api.languagetechnology.org/family/charissil - - - - https://github.com/googlefonts/noto-fonts/raw/main/hinted/ttf/NotoSans/NotoSans-Regular.ttf - - - https://github.com/googlefonts/noto-fonts/raw/main/hinted/ttf/NotoSerif/NotoSerif-Regular.ttf - - - - + \ No newline at end of file diff --git a/tests/test_validate.py b/tests/test_validate.py index b1618f545..3464eb2e0 100644 --- a/tests/test_validate.py +++ b/tests/test_validate.py @@ -5,6 +5,7 @@ import sldr.UnicodeSets as usets from unicodedata import normalize import re +from icu import Script from sldr.utils import find_parents @pytest.fixture(scope="session") @@ -34,6 +35,60 @@ def test_validate(ldml, validator, fixdata): return assert False, str(e) +def test_script(ldml): + cldr = False + if iscldr(ldml): # short circuit CLDR for now until they/we resolve the faults in their data + cldr = True + exceptions = ["ja.xml", "ko.xml", ] + filename = os.path.basename(ldml.ldml.fname) # get filename for reference + if filename == "root.xml" or filename == "test.xml" or filename in exceptions: + return + i = ldml.ldml.root.find(".//identity/special/sil:identity", {v:k for k,v in ldml.ldml.namespaces.items()}) + script = None + if i.get("script") == None: + idscript = ldml.ldml.root.find('.//identity/script') + if idscript is not None: + script = idscript.get("type") + else: + script = i.get("script") + if script == None: + return + exemplars = {} + for e in ldml.ldml.root.findall('.//characters/exemplarCharacters'): + t = e.get('type', 'main') + s = usets.parse(e.text or "", 'NFD') + if not len(s): + continue + s2 = s[0].asSet() + exemplars[t] = s2 + #note, this only catches issues in EXEMPLARS, need to also catch it in other values such as what would be in a cldr region file. hmm. ahhhhh + for k, v in exemplars.items(): + if k in ["index", "numbers"]: + continue + for v in exemplars[k]: + charScript = None + if len(v)>1: + for a in v: + charScript = Script.getShortName(Script.getScript(a)) + if charScript != script and Script.getShortName(Script.getScript(a)) not in ['Zyyy', 'Zinh', "Zzzz"]: + assert False, "UH OH 1: " + a + " from the " + k + " exemplar is in " + charScript + ", not " + script + ", " + str(cldr) + else: + charScript = Script.getShortName(Script.getScript(v)) + if charScript != script and Script.getShortName(Script.getScript(v)) not in ['Zyyy', 'Zinh', "Zzzz"]: + assert False, "UH OH 2: " + v + " from the " + k + " exemplar is in " + charScript + ", not " + script + ", " + str(cldr) + if not len(exemplars) and ldml.ldml.root.find('.//localeDisplayNames/languages') is not None: + print(ldml.ldml.root.find('.//localeDisplayNames/languages')) + for e in ldml.ldml.root.find('.//localeDisplayNames/languages'): + #if one is wrong then they all will not match + #this is more to catch inconsistencies between cldr langtags and ours + charScript = None + for v in e.text: + charScript = Script.getShortName(Script.getScript(v)) + if charScript != script and Script.getShortName(Script.getScript(v)) not in ['Zyyy', 'Zinh', "Zzzz"]: + assert False, "UH OH 3: " + "items in the languages block use " + v + " which is " + charScript + ", not " + script + ", " + str(cldr) + break + return + def test_exemplars(ldml): """ Test for overlaps between exemplars. Test that index chars are all in main exemplar """ if iscldr(ldml): # short circuit CLDR for now until they/we resolve the faults in their data @@ -172,7 +227,15 @@ def test_direction(ldml, langid): if filename == "root.xml" or filename == "test.xml": return i = ldml.ldml.root.find(".//identity/special/sil:identity", {v:k for k,v in ldml.ldml.namespaces.items()}) - script = i.get("script") or ldml.ldml.root.find('.//identity/script') + script = None + if i.get("script") == None: + idscript = ldml.ldml.root.find('.//identity/script') + if idscript is not None: + script = idscript.get("type") + else: + script = i.get("script") + if script == None: + return rtlscripts = ["Arab", "Hebr", "Syrc", "Thaa", "Mand", "Samr", "Nkoo", "Gara", "Adlm", "Rohg", "Yezi", "Todr"] # only listing non-historic scripts atm if script in rtlscripts: direction = ldml.ldml.root.find('.//layout/orientation/characterOrder')