Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libnumbertext for openSUSE:Factory checked in at 2023-01-17 17:34:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libnumbertext (Old) and /work/SRC/openSUSE:Factory/.libnumbertext.new.32243 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libnumbertext" Tue Jan 17 17:34:58 2023 rev:10 rq:1058743 version:1.0.11 Changes: -------- --- /work/SRC/openSUSE:Factory/libnumbertext/libnumbertext.changes 2022-04-13 21:04:59.216566247 +0200 +++ /work/SRC/openSUSE:Factory/.libnumbertext.new.32243/libnumbertext.changes 2023-01-17 17:35:10.201131037 +0100 @@ -1,0 +2,33 @@ +Sat Jan 7 16:15:17 UTC 2023 - Dirk Müller <dmuel...@suse.com> + +- update to 1.0.11: + * Soros.cxx/java/js/py: fix boundary inheritance of + * optional function (conditional text), reported by Juanma Sanchez + * and Antonio Bueno + * test/*, configure.ac, Makefile.am: add C++ unit testing + * Soros.cxx: fix an assert seen with in libreoffice crashtesting on + * an empty string, by Caolán McNamara + * New modules: + * fa.sor: new Persian (Farsi) module by Amir Hossein Maher + * mul.sor: new module with note symbols for multiple languages + * Module fixes and extensions: + * ca.sor: revert removing conditional text + * cs.sor: fix ordinals, cardinals, currencies by Stanislav HoráÄek, + * with help of ZdenÄk Crhonek + * da.sor: revert removing conditional text + * en.sor: add extra currencies (BZF, DKK, ILS, LKR, ZMW, ZWD) for + * LibreOffice locales of Number Format dialog windows + * es.sor: add extra currencies (PAB, SVC, VED/VES) for LibreOffice, + * revert removing conditional text + * ga.sor: add currency support + * hu_Hung.sor: fix regression of transliteration of parenthesized words + * in LibreOffice, reported by Zoltán Ãvári + * ro.sor: strip first space and remove double space in currency + * ru.sor: fix grammar of cents by Alex Ivanov + * sl.sor: fix cardinal-masculine and cardinal-neuter, + * reported by Martin Srebotnjak + * uk.sor: fix grammar of cents by Alex Ivanov + * LibreOffice Calc add-on: + * CalcAddIn.xcu: new Russian translation by Evgeniy Kukhtinov + +------------------------------------------------------------------- Old: ---- 1.0.10.tar.gz New: ---- 1.0.11.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libnumbertext.spec ++++++ --- /var/tmp/diff_new_pack.siUmoT/_old 2023-01-17 17:35:10.981135564 +0100 +++ /var/tmp/diff_new_pack.siUmoT/_new 2023-01-17 17:35:10.985135586 +0100 @@ -1,7 +1,7 @@ # # spec file for package libnumbertext # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{!?make_build:%global make_build make %{?_smp_mflags}} %define libname libnumbertext-1_0-0 Name: libnumbertext -Version: 1.0.10 +Version: 1.0.11 Release: 0 Summary: Language-neutral NUMBERTEXT and MONEYTEXT functions License: MPL-2.0 ++++++ 1.0.10.tar.gz -> 1.0.11.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/AUTHORS new/libnumbertext-1.0.11/AUTHORS --- old/libnumbertext-1.0.10/AUTHORS 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/AUTHORS 2022-11-14 09:09:29.000000000 +0100 @@ -40,7 +40,7 @@ - author of ordinal numbers of Russian module (ru) - - various fixes + - various fixes, including Windows Unicode patches of LibreOffice for libnumbertext - tdf#115007: add LibreOffice NatNum codes for cardinal/ordinal number names/indicators @@ -48,6 +48,10 @@ - review and fix Estonian module (et) +Amir Hossein Maher (github at amiria703 dot ir): + + - author of Persian (Farsi) module (fa) + Eduardo Moreno (emoreno at tokonhu dot com): - author of the first version of the Portuguese module (pt-PT) @@ -150,6 +154,10 @@ - don't depend on en_US.UTF-8 locale +Antonio Bueno: + + - bug report about conditional text in Spanish module + Tomáš Chvátal (tchvatal at suse dot com): - add enable-boost option to work with older gcc-4.8 and like using boost, default off @@ -158,6 +166,10 @@ - it_IT bug report ("*unocento") +ZdenÄk Crhonek: + + - bug report and test of Czech ordinals + Dániel Darabos: - suggested __import__ for simple lazy loading in PyUNO implementation @@ -205,6 +217,8 @@ Stanislav HoráÄek: + - fix Czech ordinals, cardinals and currencies + - bug report for Czech module Hsonesson1 at GitHub: @@ -271,6 +285,10 @@ - patch for German (function year) +Evgeniy Kukhtinov: + + - add Russian translation + mike8p at launchpad.net: - Spanish module: bug report for y dos cents -> con dos céntimos @@ -320,6 +338,10 @@ - bug report about missing conversion beetween 0 and 1 +Caolán McNamara: + + - fix an assert seen with in libreoffice crashtesting on an empty string + Jerzy MoruÅ (morchat at o2 dot pl): - Polish translation of NUMBERTEXT/MONEYTEXT @@ -353,6 +375,8 @@ - report problem with Old Hungarian transliteration of "Vörösmarty" and similar words in LibreOffice issue tdf#136368 + - report missing hu_Hung transliteration of words with parenthesis in LibreOffice tdf#148672 + Nicolas Pagni (Nicolas dot Pagni at npagni dot it): - bug report about the bad conversion of 1 eurocent in the Italian module @@ -385,6 +409,8 @@ - testing Slovenian module, information about ordinal and ordinal adverbial numbers + - report problem with cardinal-masculine 1 and 3 and cardinal-neuter 1 + Marcin StÄpniak: - patch to set default UTF-8 encoding in numbertext.jar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/CalcAddIn.xcu new/libnumbertext-1.0.11/CalcAddIn.xcu --- old/libnumbertext-1.0.10/CalcAddIn.xcu 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/CalcAddIn.xcu 2022-11-14 09:09:29.000000000 +0100 @@ -11,6 +11,7 @@ <value xml:lang="pl">PrzeksztaÅca liczbÄ na postaÄ sÅownÄ . CzÄÅÄ uÅamkowa wymieniana jest jako kolejne cyfry.</value> <value xml:lang="fr">Convertit un nombre en texte.</value> <value xml:lang="hu">Számot számnévvé alakÃt.</value> + <value xml:lang="ru">ÐÑеобÑазÑÐµÑ ÑиÑло в его пиÑÑменнÑй ÑквиваленÑ.</value> <value xml:lang="sr">ÐÑпиÑÑÑе бÑÐ¾Ñ Ñловима.</value> <value xml:lang="sh">Ispisuje broj slovima.</value> <value xml:lang="he">×××ר ×ספר ×××צ××× ××××××.</value> @@ -27,6 +28,7 @@ <value xml:lang="pl">Liczba</value> <value xml:lang="fr">Nombre</value> <value xml:lang="hu">Szám</value> + <value xml:lang="ru">ЧиÑло</value> <value xml:lang="sr">ÐÑоÑ</value> <value xml:lang="sh">Broj</value> <value xml:lang="he">×ספר</value> @@ -39,6 +41,7 @@ <value xml:lang="pl">WartoÅÄ.</value> <value xml:lang="fr">Valeur.</value> <value xml:lang="hu">Az átalakÃtandó szám.</value> + <value xml:lang="ru">ÐнаÑение.</value> <value xml:lang="sr">ÐÑедноÑÑ.</value> <value xml:lang="sh">Vrednost.</value> <value xml:lang="sh">×¢×¨× ×§××.</value> @@ -53,6 +56,7 @@ <value xml:lang="pl">JÄzyk</value> <value xml:lang="fr">Langue</value> <value xml:lang="hu">Nyelv</value> + <value xml:lang="ru">ЯзÑк</value> <value xml:lang="sr">Ðезик</value> <value xml:lang="sh">Jezik</value> <value xml:lang="he">שפ×</value> @@ -65,6 +69,7 @@ <value xml:lang="pl">Kod jÄzyka w jakim ma byÄ podany rezultat (np. pl - polski, en - angielski, ru - rosyjski).</value> <value xml:lang="fr">Code langue (exemple fr-BE).</value> <value xml:lang="hu">Nyelvkód (pl. hu-HU).</value> + <value xml:lang="ru">Ðод ÑзÑка (напÑ. ru-RU).</value> <value xml:lang="sr">Ðод Ñезика (нпÑ. sr или sh).</value> <value xml:lang="sh">Kod jezika (npr. sr ili sh).</value> <value xml:lang="he">×§×× ×©×¤× (×××× he-IL).</value> @@ -82,6 +87,7 @@ <value xml:lang="pl">PrzeksztaÅca liczbÄ na postac sÅownÄ z podaniem waluty. UwzglÄdnia dwa miejsca po przecinku po zaokrÄ gleniu.</value> <value xml:lang="fr">Convertit un nombre en texte avec la devise indiquée.</value> <value xml:lang="hu">Számot számnévvé alakÃt a megadott pénznemmel.</value> + <value xml:lang="ru">ÐÑеобÑазÑÐµÑ ÑиÑло в ÑекÑÑ Ð² заданной валÑÑе.</value> <value xml:lang="sr">ÐÑпиÑÑÑе бÑÐ¾Ñ Ñловима Ñз иÑÑиÑаÑе ознаке валÑÑе.</value> <value xml:lang="sh">Ispisuje broj slovima uz isticanje oznake valute.</value> <value xml:lang="he">×××ר ×ספר ×××צ××× ×××××× ×¢× ×××××¢ ×× ×ª××.</value> @@ -98,6 +104,7 @@ <value xml:lang="pl">Liczba</value> <value xml:lang="fr">Nombre</value> <value xml:lang="hu">Szám</value> + <value xml:lang="ru">ЧиÑло</value> <value xml:lang="sr">ÐÑоÑ</value> <value xml:lang="sh">Broj</value> <value xml:lang="he">×ספר</value> @@ -110,6 +117,7 @@ <value xml:lang="pl">WartoÅÄ przeksztaÅcana.</value> <value xml:lang="fr">Valeur.</value> <value xml:lang="hu">Az átalakÃtandó szám.</value> + <value xml:lang="ru">Ðведенное знаÑение.</value> <value xml:lang="sr">Улазна вÑедноÑÑ.</value> <value xml:lang="sh">Ulazna vrednost.</value> <value xml:lang="sh">×¢×¨× ×§××.</value> @@ -124,6 +132,7 @@ <value xml:lang="pl">Waluta</value> <value xml:lang="fr">Devise</value> <value xml:lang="hu">Pénznem/függvény</value> + <value xml:lang="ru">ÐалÑÑа</value> <value xml:lang="sr">ÐалÑÑа</value> <value xml:lang="sh">Valuta</value> <value xml:lang="he">××××¢</value> @@ -136,6 +145,7 @@ <value xml:lang="pl">Kod waluty wg ISO 4217 zapisany wersalikami (tak jak w bankach, PLN - dla Polski, XXX - bez waluty).</value> <value xml:lang="fr">Code ISO 4217 (exemple EUR).</value> <value xml:lang="hu">ISO 4217 kód (pl. HUF) vagy Numbertext függvény (pl. ord = sorszám).</value> + <value xml:lang="ru">Ðод по ISO 4217 (напÑ. RUB), или ÑÑнкÑÐ¸Ñ Numbertext (напÑ. ordinal = поÑÑдковÑй номеÑ).</value> <value xml:lang="sr">ISO 4217 код (нпÑ. RSD).</value> <value xml:lang="sh">ISO 4217 kod (npr. RSD).</value> <value xml:lang="he">×§×× ISO 4217 (×××× ILS).</value> @@ -150,6 +160,7 @@ <value xml:lang="pl">JÄzyk</value> <value xml:lang="fr">Langue</value> <value xml:lang="hu">Nyelv</value> + <value xml:lang="ru">ЯзÑк</value> <value xml:lang="sr">Ðезик</value> <value xml:lang="sh">Jezik</value> <value xml:lang="he">שפ×</value> @@ -162,6 +173,7 @@ <value xml:lang="pl">Kod jÄzyka w jakim ma byÄ podany rezultat (np. pl - polski, en - angielski, ru - rosyjski).</value> <value xml:lang="fr">Code langue (exemple fr-BE).</value> <value xml:lang="hu">Nyelvkód (pl. hu-HU).</value> + <value xml:lang="ru">Ðод ÑзÑка (напÑ. ru-RU).</value> <value xml:lang="sr">Ðод Ñезика (нпÑ. sr или sh).</value> <value xml:lang="sh">Kod jezika (npr. sr ili sh).</value> <value xml:lang="he">×§×× ×©×¤× (×××× he-IL).</value> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/ChangeLog new/libnumbertext-1.0.11/ChangeLog --- old/libnumbertext-1.0.10/ChangeLog 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/ChangeLog 2022-11-14 09:09:29.000000000 +0100 @@ -1,3 +1,39 @@ +2022-11-13: 1.0.11 release: + * Soros.cxx/java/js/py: fix boundary inheritance of + optional function (conditional text), reported by Juanma Sanchez + and Antonio Bueno + * test/*, configure.ac, Makefile.am: add C++ unit testing + * Soros.cxx: fix an assert seen with in libreoffice crashtesting on + an empty string, by Caolán McNamara + + New modules: + + * fa.sor: new Persian (Farsi) module by Amir Hossein Maher + * mul.sor: new module with note symbols for multiple languages + + Module fixes and extensions: + + * ca.sor: revert removing conditional text + * cs.sor: fix ordinals, cardinals, currencies by Stanislav HoráÄek, + with help of ZdenÄk Crhonek + * da.sor: revert removing conditional text + * en.sor: add extra currencies (BZF, DKK, ILS, LKR, ZMW, ZWD) for + LibreOffice locales of Number Format dialog windows + * es.sor: add extra currencies (PAB, SVC, VED/VES) for LibreOffice, + revert removing conditional text + * ga.sor: add currency support + * hu_Hung.sor: fix regression of transliteration of parenthesized words + in LibreOffice, reported by Zoltán Ãvári + * ro.sor: strip first space and remove double space in currency + * ru.sor: fix grammar of cents by Alex Ivanov + * sl.sor: fix cardinal-masculine and cardinal-neuter, + reported by Martin Srebotnjak + * uk.sor: fix grammar of cents by Alex Ivanov + + LibreOffice Calc add-on: + + * CalcAddIn.xcu: new Russian translation by Evgeniy Kukhtinov + 2022-04-01: 1.0.10 release: * hu_Hung.sor: fix regression of transliteration on Windows - non-BMP characters aren't supported in bracket expressions in regex of MS Visual C++, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/Makefile.am new/libnumbertext-1.0.11/Makefile.am --- old/libnumbertext-1.0.10/Makefile.am 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/Makefile.am 2022-11-14 09:09:29.000000000 +0100 @@ -1,6 +1,6 @@ ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = src data +SUBDIRS = src data tests pkgconfdir = $(libdir)/pkgconfig pkgconf_DATA = libnumbertext.pc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/README.md new/libnumbertext-1.0.11/README.md --- old/libnumbertext-1.0.10/README.md 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/README.md 2022-11-14 09:09:29.000000000 +0100 @@ -3,9 +3,9 @@ [](https://travis-ci.org/Numbertext/libnumbertext) ``` -Language-neutral NUMBERTEXT and MONEYTEXT functions for LibreOffice Calc +Base of default language-neutral NatNum12 number format code modifier of LibreOffice, and optional NUMBERTEXT and MONEYTEXT add-on functions for LibreOffice Calc -version 1.0.10 (2022-04-02) +version 1.0.11 (2022-11-13) Numbertext LibreOffice extension, Soros programming language specification (draft) and IDE*, @@ -66,6 +66,7 @@ eo Esperanto es Spanish et Estonian +fa Persian (Farsi) fi Finnish fr French fr-BE Belgian French @@ -89,6 +90,7 @@ mr Marathi ms Malaysian mt Maltese +mul note symbols, e.g. \*, â , â¡, ... for multiple languages nb Norwegian BokmÃ¥l nl Dutch nn Norwegian Nynorsk @@ -122,6 +124,7 @@ autoreconf -i ./configure make +make check # test it diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/VERSION new/libnumbertext-1.0.11/VERSION --- old/libnumbertext-1.0.10/VERSION 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/VERSION 2022-11-14 09:09:29.000000000 +0100 @@ -1 +1 @@ -1.0.10 +1.0.11 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/configure.ac new/libnumbertext-1.0.11/configure.ac --- old/libnumbertext-1.0.10/configure.ac 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/configure.ac 2022-11-14 09:09:29.000000000 +0100 @@ -1,6 +1,6 @@ m4_define([numbertext_version_major],[1]) m4_define([numbertext_version_minor],[0]) -m4_define([numbertext_version_micro],[10]) +m4_define([numbertext_version_micro],[11]) m4_define([numbertext_version],[numbertext_version_major.numbertext_version_minor.numbertext_version_micro]) AC_PREREQ([2.68]) @@ -75,6 +75,7 @@ data/Makefile src/Makefile src/numbertext-version.h +tests/Makefile ]) AC_OUTPUT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/ca.sor new/libnumbertext-1.0.11/data/ca.sor --- old/libnumbertext-1.0.10/data/ca.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/ca.sor 2022-11-14 09:09:29.000000000 +0100 @@ -28,10 +28,8 @@ 80 vuitanta 90 noranta (\d)(\d) $(\10)-$2 -100 cent -1(\d\d) cent $1 -(\d)00 $1-cents -(\d)(\d\d) $1-cents $2 +1(\d\d) cent[ $1] +(\d)(\d\d) $1-cents[ $2] 1(\d{3}) mil[ $1] (\d{1,3})(\d{3}) $1 mil[ $2] 1(\d{6}) un milió[ $1] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/cs.sor new/libnumbertext-1.0.11/data/cs.sor --- old/libnumbertext-1.0.10/data/cs.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/cs.sor 2022-11-14 09:09:29.000000000 +0100 @@ -1,8 +1,7 @@ ^0 nula -^1$ jedno -1 jeden -^2$ dvÄ +1 jedna 2 dva +^2$ dvÄ 3 tÅi 4 ÄtyÅi 5 pÄt @@ -27,7 +26,7 @@ (\d)(\d\d) $1 set[ $2] 1(\d\d\d) tisÃc[ $1] ([234])(\d\d\d) $1 tisÃce[ $2] -(\d{1,3})(\d\d\d) $1 tisÃce[ $2] +(\d{1,3})(\d\d\d) $1 tisÃc[ $2] 1(\d{6}) milión[ $1] ([234])(\d{6}) $1 milióny[ $2] (\d{1,3})(\d{6}) $1 miliónů[ $2] @@ -63,78 +62,108 @@ # currency -# unit/subunit singular/plural +# unit/subunit singular / plural / plural genitiv -us:([^,]*),([^,]*),([^,]*),([^,]*) \1 -up:([^,]*),([^,]*),([^,]*),([^,]*) \2 -ss:([^,]*),([^,]*),([^,]*),([^,]*) \3 -sp:([^,]*),([^,]*),([^,]*),([^,]*) \4 - -CHF:(\D+) $(\1: Å¡výcarský frank, Å¡výcarských franků, centim, centimů) -CNY:(\D+) $(\1: juan renminbi, juan renminbi, fen, fen) -CZK:(\D+) $(\1: koruna Äeská, korun Äeských, haléÅ, haléÅů) -EUR:(\D+) $(\1: euro, euro, cent, centů) -GBP:(\D+) $(\1: libra Å¡terlinků, libra Å¡terlinků, penny, pence) -JPY:(\D+) $(\1: jen, jenů, sen, sen) -USD:(\D+) $(\1: americký dolar, amerických dolarů, cent, centů) - -"([A-Z]{3}) ([-â]?1)([.,]00?)?" $2$(\1:us) -"([A-Z]{3}) ([-â]?\d+)([.,]00?)?" $2$(\1:up) - -"(CNY [-â]?\d+)[.,]10?" $1 $2 jiao -"(CNY [-â]?\d+)[.,](\d)0?" $1 $2 jiao -"(CNY [-â]?\d+[.,]\d)1" $1 $2 fen -"(CNY [-â]?\d+[.,]\d)(\d)" $1 $2 fen - -"(([A-Z]{3}) [-â]?\d+)[.,](01)" $1 $(1)$(\2:ss) -"(([A-Z]{3}) [-â]?\d+)[.,](\d)" $1 $(\30)$(\2:sp) -"(([A-Z]{3}) [-â]?\d+)[.,](\d\d)" $1 $3$(\2:sp) +us:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \1 +up:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \2 +ug:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \3 +ss:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \4 +sp:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \5 +sg:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \6 +ugender:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \7 +sgender:([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*) \8 + +CHF:(\D+) $(\1: Å¡výcarský frank, Å¡výcarské franky, Å¡výcarských franků, centim, centimy, centimů,masculine,masculine) +CNY:(\D+) $(\1: jüan, jüany, jüanů, fen, feny, fenů,masculine,masculine) +CZK:(\D+) $(\1: koruna Äeská, koruny Äeské, korun Äeských, haléÅ, haléÅe, haléÅů,feminine,masculine) +EUR:(\D+) $(\1: euro, eura, eur, cent, centy, centů,neuter,masculine) +GBP:(\D+) $(\1: libra Å¡terlinků, libry Å¡terlinků, liber Å¡terlinků, pence, pence, pencÃ,feminine,feminine) +JPY:(\D+) $(\1: jen, jeny, jenů, sen, seny, senů,masculine,masculine) +RUB:(\D+) $(\1: rubl, rubly, rublů, kopÄjka, kopÄjky, kopÄjek,masculine,feminine) +SKK:(\D+) $(\1: slovenská koruna, slovenské koruny, slovenských korun, haléÅ, haléÅe, haléÅů,feminine,masculine) +USD:(\D+) $(\1: americký dolar, americké dolary, amerických dolarů, cent, centy, centů,masculine,masculine) + +"([A-Z]{3}) ([-â]?1)([.,]00?)?" $(cardinal-$(\1:ugender) \2)$(\1:us) +"([A-Z]{3}) ([-â]?[2-4])([.,]00?)?" $(cardinal-$(\1:ugender) \2)$(\1:up) +"([A-Z]{3}) ([-â]?\d+)([.,]00?)?" $(cardinal-$(\1:ugender) \2)$(\1:ug) + +"(CNY [-â]?\d+)[.,]10?" $1 $(cardinal-neuter 1) Å¥iao +"(CNY [-â]?\d+)[.,](\d)0?" $1 $(cardinal-neuter \2) Å¥iao +"((CNY) [-â]?\d+[.,]\d)1" $1 $(cardinal-masculine 1)$(\2:ss) +"((CNY) [-â]?\d+[.,]\d)(2|3|4)" $1 $(cardinal-masculine \3)$(\2:sp) +"((CNY) [-â]?\d+[.,]\d)(\d)" $1 $(cardinal-masculine \3)$(\2:sg) + +"(([A-Z]{3}) [-â]?\d+)[.,](00)" $1 $(cardinal-$(\2:sgender) \1)$(\2:sg) +"(([A-Z]{3}) [-â]?\d+)[.,](01)" $1 $(cardinal-$(\2:sgender) \3)$(\2:ss) +"(([A-Z]{3}) [-â]?\d+)[.,](02|03|04)" $1 $(cardinal-$(\2:sgender) \3)$(\2:sp) +"(([A-Z]{3}) [-â]?\d+)[.,](\d\d)" $1 $(cardinal-$(\2:sgender) \3)$(\2:sg) +"(([A-Z]{3}) [-â]?\d+)[.,](\d)" $1 $(cardinal-$(\2:sgender) \30)$(\2:sg) == cardinal-neuter == +1 jedno +2 dvÄ (.*) $1 == cardinal-feminine == 1 jedna +2 dvÄ (.*) $1 == cardinal-masculine == 1 jeden -2 dva (.*) $1 == ordinal == ([-â]?\d+) $(ordinal |$1) -(.*)(jedno|jeden)(.*) $(ordinal \1prvnÃ\3) - "(.*)dvÄ stÄ(.*)" $(ordinal \1dvoustý\2) "(.*)tÅi sta(.*)" $(ordinal \1tÅÃstý\2) "(.*)ÄtyÅi sta(.*)" $(ordinal \1ÄtyÅstý\2) "(.*)(pÄt|Å¡est|sedm|osm) set(.*)" $(ordinal \1\2istý\3) "(.*)devÄt set(.*)" $(ordinal \1devÃtistý\2) +nula nultý +(.*)(jedno|jedna|jeden) $(ordinal \1prvnÃ) +(.*)(jedenáct) $(ordinal \1jedenáctý) +(.*)(dva|dvÄ) $(ordinal \1druhý) (.*)(dvÄ|dva)\b(.*) $(ordinal \1druhý\3) (.*)tÅi\b(.*) $(ordinal \1tÅetÃ\2) (.*)ÄtyÅi\b(.*) $(ordinal \1Ätvrtý\2) (.*)pÄt\b(.*) $(ordinal \1pátý\2) "(.*)(Å¡est|sedm|osm|desát|náct|sát)( .+|$)" $(ordinal \1\2ý\3) (.*)devÄt\b(.*) $(ordinal \1devátý\2) -"(.*)[^ ](c|s)et\b(.*)" $(ordinal \1\2átý\3) +"(.*)(c|s)et\b(.*)" $(ordinal \1\2átý\3) (.*)sto\b(.*) $(ordinal \1stý\2) (.*)tisÃce?(.*) \1tisÃcÃ\2 -(.*)milión[yů](.*) \1milióntý\2 +(.*)milión[yů]?(.*) \1milióntý\2 (.*)miliard[ay]?(.*) \1miliardtý\2 (.*) \1 +== ordinal-masculine == + +(.*) $(ordinal |$1) + +== ordinal-feminine == + +([-â]?\d+) $(ordinal-feminine |$(ordinal-masculine \1)) +(.*)ý(.*) $(ordinal-feminine \1á\2) +(.*) \1 + +== ordinal-neuter == + +([-â]?\d+) $(ordinal-neuter |$(ordinal-masculine \1)) +(.*)ý(.*) $(ordinal-neuter \1é\2) +(.*) \1 + == ordinal-number == (\d+) \1. == help == -"" |$(1)|, |$(2)|, |$(3)|\n$(help cardinal-neuter)$(help cardinal-feminine)$(help cardinal-masculine)$(help ordinal)$(help ordinal-number) +"" |$(1)|, |$(2)|, |$(3)|\n$(help cardinal-neuter)$(help cardinal-feminine)$(help cardinal-masculine)$(help ordinal)$(help ordinal-masculine)$(help ordinal-feminine)$(help ordinal-neuter)$(help ordinal-number) (.*) \1: |$(\1 1)|, |$(\1 2)|, |$(\1 3)|\n diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/da.sor new/libnumbertext-1.0.11/data/da.sor --- old/libnumbertext-1.0.10/data/da.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/da.sor 2022-11-14 09:09:29.000000000 +0100 @@ -31,8 +31,7 @@ 90 halvfems (\d)(\d) $2|og$(\10) -(\d)00 $1 hundrede -(\d)(\d\d) $1 hundrede og $2 +(\d)(\d\d) $1 hundrede[ og $2] (\d{1,3})(\d{3}) $1 tusind[ og $2] a:1,0+ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/en.sor new/libnumbertext-1.0.11/data/en.sor --- old/libnumbertext-1.0.10/data/en.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/en.sor 2022-11-14 09:09:29.000000000 +0100 @@ -73,10 +73,12 @@ AUD:(\D+) $(\1: Australian dollar, Australian dollars, cent, cents) BGN:(\D+) $(\1: lev, leva, stotinka, stotinki) BWP:(\D+) $(\1: pula, pula, thebe, thebe) +BZD:(\D+) $(\1: Belize dollar, Belize dollars, cent, cents) CAD:(\D+) $(\1: Canadian dollar, Canadian dollars, cent, cents) CHF:(\D+) $(\1: Swiss franc, Swiss francs, centime, centimes) CNY:(\D+) $(\1: Chinese yuan, Chinese yuan, fen, fen) CZK:(\D+) $(\1: Czech koruna, Czech koruny, halér, halére) +DKK:(\D+) $(\1: Danish krone, Danish kroner, øre, øre) EEK:(\D+) $(\1: kroon, kroonid, sent, senti) EUR:(\D+) $(\1: euro, euro, cent, cents) GBP:(\D+) $(\1: pound sterling, pounds sterling, penny, pence) @@ -85,11 +87,13 @@ HKD:(\D+) $(\1: Hong Kong dollar, Hong Kong dollars, cent, cents) HRK:(\D+) $(\1: kuna, kuna, lipa, lipa) HUF:(\D+) $(\1: forint, forint, fillér, fillér) +ILS:(\D+) $(\1: Israeli shekel, Israeli shekels, agora, agoras) INR:(\D+) $(\1: Indian rupee, Indian rupees, paisa, paise) JMD:(\D+) $(\1: Jamaica dollar, Jamaica dollars, cent, cents) JPY:(\D+) $(\1: Japanese yen, Japanese yen, sen, sen) KES:(\D+) $(\1: Kenyan shilling, Kenyan shillings, cent, cents) KRW:(\D+) $(\1: Korean won, Korean won, jeon, jeon) +LKR:(\D+) $(\1: Sri Lankan rupee, Sri Lankan rupees, cent, cents) LRD:(\D+) $(\1: Liberian dollar, Liberian dollars, cent, cents) LSL:(\D+) $(\1: loti, maloti, sente, lisente) LTL:(\D+) $(\1: litas, litai, centas, centai) @@ -123,8 +127,8 @@ USD:(\D+) $(\1: U.S. dollar, U.S. dollars, cent, cents) X[AO]F:(\D+) $(\1: CFA franc, CFA francs, centime, centimes) ZAR:(\D+) $(\1: South African rand, South African rand, cent, cents) -ZMK:(\D+) $(\1: Zambian kwacha, Zambian kwacha, ngwee, ngwee) -ZWL:(\D+) $(\1: Zimbabwe dollar, Zimbabwe dollars, cent, cents) +ZMW:(\D+) $(\1: Zambian kwacha, Zambian kwacha, ngwee, ngwee) +ZW[DL]:(\D+) $(\1: Zimbabwe dollar, Zimbabwe dollars, cent, cents) "(JPY [-â]?\d+)[.,](\d\d)0" $1 "(JPY [-â]?\d+[.,]\d\d)(\d)" $1 $2 rin diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/es.sor new/libnumbertext-1.0.11/data/es.sor --- old/libnumbertext-1.0.10/data/es.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/es.sor 2022-11-14 09:09:29.000000000 +0100 @@ -32,14 +32,12 @@ 80 ochenta 90 noventa (\d)(\d) $(\10) y $2 -100 cien -1(\d\d) ciento $1 +1(\d\d) cien[to $1] 500 quinientos 700 setecientos 900 novecientos ([579])(\d\d) $(\100) $2 -(\d)00 $1cientos -(\d)(\d\d) $1cientos $2 +(\d)(\d\d) $1cientos[ $2] 1(\d{3}) mil[ $1] (\d{1,3})(\d{3}) $1 mil[ $2] 1(\d{6}) un millón[ $1] @@ -92,10 +90,13 @@ JPY:(\D+) $(\1: yen, yenes, sen, sen) MXN:(\D+) $(\1: peso mexicano, pesos mexicanos, centavo, centavos) NIO:(\D+) $(\1: córdoba, córdobas, centavo, centavos) +PAB:(\D+) $(\1: balboa, balboas, céntimo, céntimos) PEN:(\D+) $(\1: sol, soles, centavo, centavos) PYG:(\D+) $(\1: guaranÃ, guaranÃes, céntimo, céntimos) +SVC:(\D+) $(\1: colón salvadoreño, colones salvadoreños, céntimo, céntimos) USD:(\D+) $(\1: dólar estadounidense, dólares estadounidenses, centavo, centavos) UYU:(\D+) $(\1: peso uruguayo, pesos uruguayos, centésimo, centésimos) +VE[DS]:(\D+) $(\1: bolÃvar venezolano, bolÃvares venezolanos, centavo, centavos) VEF:(\D+) $(\1: bolÃvar fuerte, bolÃvares fuertes, céntimo, céntimos) # masculine to feminine conversion of "un" after millions, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/fa.sor new/libnumbertext-1.0.11/data/fa.sor --- old/libnumbertext-1.0.10/data/fa.sor 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/data/fa.sor 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,277 @@ +^0 ØµÙØ± +1 ÛÚ© +2 د٠+3 س٠+4 ÚÙØ§Ø± +5 Ù¾ÙØ¬ +6 شش +7 ÙÙØª +8 ÙØ´Øª +9 ÙÙ +10 د٠+11 ÛØ§Ø²Ø¯Ù +12 Ø¯ÙØ§Ø²Ø¯Ù +13 Ø³ÛØ²Ø¯Ù +14 ÚÙØ§Ø±Ø¯Ù +15 Ù¾Ø§ÙØ²Ø¯Ù +16 Ø´Ø§ÙØ²Ø¯Ù +17 ÙÙØ¯Ù +18 ÙØ¬Ø¯Ù +19 ÙÙØ²Ø¯Ù +2(\d) Ø¨ÛØ³Øª[ Ù $1] +3(\d) سÛ[ Ù $1] +4(\d) ÚÙÙ[ Ù $1] +5(\d) Ù¾ÙØ¬Ø§Ù[ Ù $1] +6(\d) شصت[ Ù $1] +7(\d) ÙÙØªØ§Ø¯[ Ù $1] +8(\d) ÙØ´ØªØ§Ø¯[ Ù $1] +9(\d) ÙÙØ¯[ Ù $1] + +# separator function +:0+ # one million +:0*\d?\d " Ù " # one million and twenty-two +:\d+ " Ù " # one million, one thousand + + +2(\d\d) دÙÛØ³Øª[ Ù $1] +3(\d\d) Ø³ÛØµØ¯[ Ù $1] +5(\d\d) Ù¾Ø§ÙØµØ¯[ Ù $1] +(\d)(\d\d) $1صد[ Ù $2] +(\d{1,2})([1-9]\d\d) $1 ÙØ²Ø§Ø± Ù[ $2] + +(\d{1,3})(\d{3}) $1 ÙØ²Ø§Ø±$(:\2)$2 +(\d{1,3})(\d{6}) $1 Ù ÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{9}) $1 Ù ÛÙÛØ§Ø±Ø¯$(:\2)$2 +(\d{1,3})(\d{12}) $1 ترÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{15}) $1 Ú©ÙØ§Ø¯Ø±ÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{18}) $1 Ú©ÙÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{21}) $1 سکستÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{24}) $1 سپتÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{27}) $1 اکتÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{30}) $1 ÙØ§ÙÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{33}) $1 دسÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{36}) $1 Ø¢ÙØ¯Ø³ÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{39}) $1 دÛÙØ¯Ø³ÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{42}) $1 ØªØ±ÛØ¯Ø³ÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{45}) $1 Ú©ÙØ§ØªÛÙØ±Ø¯Ø³ÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{48}) $1 Ú©ÙÛÙØ¯Ø³ÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{51}) $1 سکسدسÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{54}) $1 سپتدسÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{57}) $1 اÙÚ©ØªÙØ¯Ø³ÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{60}) $1 ÙÙ٠دسÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{63}) $1 ÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{66}) $1 Ø¢ÙÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{69}) $1 دÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{72}) $1 ترسÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{75}) $1 Ú©ÙØ§Ø¯Ø±ÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{78}) $1 Ú©ÙÛÙکاÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{81}) $1 Ø³ÛØ³ÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{84}) $1 سپت٠ÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{87}) $1 آکتÙÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{90}) $1 ÙÙÙ ÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{93}) $1 ترÛÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{96}) $1 Ø¢ÙØªØ±ÛÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{99}) $1 Ø¯ÙØªØ±ÛÙÛØ¬ÛÙØªÛÙÛÙÙ$(:\2)$2 +(\d{1,3})(\d{100}) $1 Ú¯ÙÚ¯ÙÙ$(:\2)$2 + +# negative number + +[-â](\d+) Ù ÙÙÛ |$1 + +# decimals + +0[.,] Ù Ù ÛØ² +([-â]?\d+)[.,] $1| Ù Ù ÛØ² +([-â]?\d+[.,]\d*)(\d) $1| |$2 + +# currency + +# unit/subunit singular/plural + +us:([^,]*),([^,]*),([^,]*),([^,]*) \1 +up:([^,]*),([^,]*),([^,]*),([^,]*) \2 +ss:([^,]*),([^,]*),([^,]*),([^,]*) \3 +sp:([^,]*),([^,]*),([^,]*),([^,]*) \4 + +ZMW:(\D+) $(\1: Ú©ÙØ§ÚØ§Û Ø²Ø§Ù Ø¨ÛØ§, Ú©ÙØ§ÚØ§Û Ø²Ø§Ù Ø¨ÛØ§, ÙÚ¯ÙÛ, ÙÚ¯ÙÛ) +ZAR:(\D+) $(\1: Ø±ÙØ¯ Ø¢ÙØ±ÛÙØ§Û جÙÙØ¨Û, Ø±ÙØ¯ Ø¢ÙØ±ÛÙØ§Û جÙÙØ¨Û, Ø³ÙØª, Ø³ÙØª) +YER:(\D+) $(\1: Ø±ÛØ§Ù ÛÙ Ù, Ø±ÛØ§Ù ÛÙ Ù, ÙÙØ³, ÙÙØ³) +WST:(\D+) $(\1: Ø·ÙØ§Û Ø³Ø§Ù ÙØ¢, Ø·ÙØ§Û Ø³Ø§Ù ÙØ¢, سÙ, سÙ) +VUV:(\D+) $(\1: ÙØ§ØªÙÛ ÙØ§ÙÙØ§ØªÙ, ÙØ§ØªÙÛ ÙØ§ÙÙØ§ØªÙ,,) +VND:(\D+) $(\1: داÙÚ¯ ÙÛØªÙا٠, داÙÚ¯ ÙÛØªÙا٠, ÙØ§Ø¦Ù, ÙØ§Ø¦Ù) +VES:(\D+) $(\1: بÙÙÛÙØ§Ø± ÙÙØ²ÙØ¦ÙØ§, بÙÙÛÙØ§Ø± ÙÙØ²ÙØ¦ÙØ§, Ø³ÙØªÛÙ Ù, Ø³ÙØªÛÙ Ù) +UZS:(\D+) $(\1: سÙ٠ازبکستاÙ, سÙ٠ازبکستاÙ, تÛÙ, تÛÙ) +UYU:(\D+) $(\1: پزÙÛ Ø§Ø±ÙÚ¯ÙØ¦Ù, پزÙÛ Ø§Ø±ÙÚ¯ÙØ¦Ù, Ø³ÙØªØ³ÛÙ Ù, Ø³ÙØªØ³ÛÙ Ù) +USD:(\D+) $(\1: Ø¯ÙØ§Ø± آ٠رÛکا, Ø¯ÙØ§Ø± آ٠رÛکا, Ø³ÙØª, Ø³ÙØª) +UGX:(\D+) $(\1: Ø´ÛÙÛÙÚ¯ اÙÚ¯Ø§ÙØ¯Ø§, Ø´ÛÙÛÙÚ¯ اÙÚ¯Ø§ÙØ¯Ø§,,) +UAH:(\D+) $(\1: گرÛÙÙØ§ اÙکراÛÙ, گرÛÙÙØ§ اÙکراÛÙ, Ú©ÙÙ¾Ú©, Ú©ÙÙ¾Ú©) +TZS:(\D+) $(\1: Ø´ÛÙÛÙÚ¯ ØªØ§ÙØ²Ø§ÙÛØ§, Ø´ÛÙÛÙÚ¯ ØªØ§ÙØ²Ø§ÙÛØ§, Ø³ÙØª, Ø³ÙØª) +TWD:(\D+) $(\1: Ø¯ÙØ§Ø± Ø¬Ø¯ÛØ¯ تاÛÙØ§Ù, Ø¯ÙØ§Ø± Ø¬Ø¯ÛØ¯ تاÛÙØ§Ù, Ø³ÙØª, Ø³ÙØª) +TTD:(\D+) $(\1: Ø¯ÙØ§Ø± ترÛÙÛØ¯Ø§Ø¯ Ù ØªÙØ¨Ø§Ú¯Ù, Ø¯ÙØ§Ø± ترÛÙÛØ¯Ø§Ø¯ Ù ØªÙØ¨Ø§Ú¯Ù, Ø³ÙØª, Ø³ÙØª) +TRY:(\D+) $(\1: ÙÛØ±Ù ترک, ÙÛØ±Ù ترک, ÙØ±Ø´, ÙØ±Ø´) +TOP:(\D+) $(\1: پاآÙÚ¯Ø§Û ØªÙÙگا, پاآÙÚ¯Ø§Û ØªÙÙگا, سÙÛØªÛ, سÙÛØªÛ) +TND:(\D+) $(\1: دÛÙØ§Ø± تÙÙØ³, دÛÙØ§Ø± تÙÙØ³, Ù ÛÙÛÙ , Ù ÛÙÛÙ ) +TMT:(\D+) $(\1: Ù ÙØ§Øª ØªØ±Ú©Ù ÙØ³ØªØ§Ù, Ù ÙØ§Øª ØªØ±Ú©Ù ÙØ³ØªØ§Ù, تÙÚ¯Ù, تÙÚ¯Ù) +TJS:(\D+) $(\1: سا٠اÙÛ ØªØ§Ø¬ÛکستاÙ, سا٠اÙÛ ØªØ§Ø¬ÛکستاÙ, در٠, در٠) +THB:(\D+) $(\1: بات تاÛÙÙØ¯, بات تاÛÙÙØ¯, ساتاÙÚ¯, ساتاÙÚ¯) +SYP:(\D+) $(\1: ÙÛØ±Ù Ø³ÙØ±ÛÙ, ÙÛØ±Ù Ø³ÙØ±ÛÙ, ÙØ±Ø´, ÙØ±Ø´) +SSP:(\D+) $(\1: Ù¾ÙÙØ¯ Ø³ÙØ¯Ø§Ù جÙÙØ¨Û, Ù¾ÙÙØ¯ Ø³ÙØ¯Ø§Ù جÙÙØ¨Û, ÙØ±Ø´, ÙØ±Ø´) +SRD:(\D+) $(\1: Ø¯ÙØ§Ø± Ø³ÙØ±ÛÙØ§Ù , Ø¯ÙØ§Ø± Ø³ÙØ±ÛÙØ§Ù , Ø³ÙØª, Ø³ÙØª) +SOS:(\D+) $(\1: Ø´ÛÙÛÙÚ¯ سÙ٠اÙÛ, Ø´ÛÙÛÙÚ¯ سÙ٠اÙÛ, Ø³ÙØª, Ø³ÙØª) +SLS:(\D+) $(\1: Ø´ÛÙÛÙÚ¯ سÙ٠اÙÛâÙÙØ¯, Ø´ÛÙÛÙÚ¯ سÙ٠اÙÛâÙÙØ¯, Ø³ÙØª, Ø³ÙØª) +SLL:(\D+) $(\1: ÙØ¦ÙÙ Ø³ÛØ±Ø§ÙئÙÙ, ÙØ¦ÙÙ Ø³ÛØ±Ø§ÙئÙÙ, Ø³ÙØª, Ø³ÙØª) +SGD:(\D+) $(\1: Ø¯ÙØ§Ø± سÙÚ¯Ø§Ù¾ÙØ±, Ø¯ÙØ§Ø± سÙÚ¯Ø§Ù¾ÙØ±, Ø³ÙØª, Ø³ÙØª) +SEK:(\D+) $(\1: کرÙÙ Ø³ÙØ¦Ø¯, کرÙÙ Ø³ÙØ¦Ø¯, Ø§ÙØ±Ù, Ø§ÙØ±Ù) +SDG:(\D+) $(\1: Ù¾ÙÙØ¯ Ø³ÙØ¯Ø§Ù, Ù¾ÙÙØ¯ Ø³ÙØ¯Ø§Ù, ÙØ±Ø´, ÙØ±Ø´) +SCR:(\D+) $(\1: رÙÙ¾ÛÙ Ø³ÛØ´Ù, رÙÙ¾ÛÙ Ø³ÛØ´Ù, Ø³ÙØª, Ø³ÙØª) +SBD:(\D+) $(\1: Ø¯ÙØ§Ø± Ø¬Ø²Ø§ÛØ± سÙÛ٠اÙ, Ø¯ÙØ§Ø± Ø¬Ø²Ø§ÛØ± سÙÛ٠اÙ, Ø³ÙØª, Ø³ÙØª) +RWF:(\D+) $(\1: ÙØ±Ø§ÙÚ© Ø±ÙØ§Ùدا, ÙØ±Ø§ÙÚ© Ø±ÙØ§Ùدا, Ø³Ø§ÙØªÛÙ , Ø³Ø§ÙØªÛÙ ) +RUB:(\D+) $(\1: Ø±ÙØ¨Ù Ø±ÙØ³ÛÙ, Ø±ÙØ¨Ù Ø±ÙØ³ÛÙ, Ú©ÙÙ¾Ú©, Ú©ÙÙ¾Ú©) +RSD:(\D+) $(\1: دÛÙØ§Ø± صربستاÙ, دÛÙØ§Ø± صربستاÙ, پارا, پارا) +RON:(\D+) $(\1: ÙØ¦ÙÛ Ø±Ù٠اÙÛ, ÙØ¦ÙÛ Ø±Ù٠اÙÛ, باÙ, باÙ) +PYG:(\D+) $(\1: Ú¯ÙØ§Ø±Ø§ÙÛ Ù¾Ø§Ø±Ø§Ú¯ÙØ¦Ù, Ú¯ÙØ§Ø±Ø§ÙÛ Ù¾Ø§Ø±Ø§Ú¯ÙØ¦Ù, Ø³ÙØªÛÙ Ù, Ø³ÙØªÛÙ Ù) +PRB:(\D+) $(\1: Ø±ÙØ¨Ù ØªØ±Ø§ÙØ³ÙÛØ³ØªØ±ÛÙ, Ø±ÙØ¨Ù ØªØ±Ø§ÙØ³ÙÛØ³ØªØ±ÛÙ, Ú©ÙÙ¾Ú©, Ú©ÙÙ¾Ú©) +PLN:(\D+) $(\1: زÙÙØªÛ ÙÙØ³ØªØ§Ù, زÙÙØªÛ ÙÙØ³ØªØ§Ù, Ú¯Ø±ÙØ´, Ú¯Ø±ÙØ´) +PKR:(\D+) $(\1: رÙÙ¾Û٠پاکستاÙ, رÙÙ¾Û٠پاکستاÙ, Ù¾ÛØ³Ù, Ù¾ÛØ³Ù) +PHP:(\D+) $(\1: پز٠ÙÛÙÛÙ¾ÛÙ, پز٠ÙÛÙÛÙ¾ÛÙ, Ø³ÙØªÛÙ Ù, Ø³ÙØªÛÙ Ù) +PGK:(\D+) $(\1: Ú©ÛÙØ§Û Ù¾Ø§Ù¾ÙØ¢ Ú¯ÛÙÙ ÙÙ, Ú©ÛÙØ§Û Ù¾Ø§Ù¾ÙØ¢ Ú¯ÛÙÙ ÙÙ, تÙÛØ§, تÙÛØ§) +PEN:(\D+) $(\1: سÙ٠پرÙ, سÙ٠پرÙ, Ø³ÙØªÛÙ Ù, Ø³ÙØªÛÙ Ù) +NZD:(\D+) $(\1: Ø¯ÙØ§Ø± ÙÛÙØ²ÛÙÙØ¯, Ø¯ÙØ§Ø± ÙÛÙØ²ÛÙÙØ¯, Ø³ÙØª, Ø³ÙØª) +NOK:(\D+) $(\1: کرÙÙ ÙØ±ÙÚ, کرÙÙ ÙØ±ÙÚ, Ø§ÙØ±Ù, Ø§ÙØ±Ù) +NIO:(\D+) $(\1: Ú©ÙØ±Ø¯ÙØ¨Ø§Û ÙÛÚ©Ø§Ø±Ø§Ú¯ÙØ¦Ù, Ú©ÙØ±Ø¯ÙØ¨Ø§Û ÙÛÚ©Ø§Ø±Ø§Ú¯ÙØ¦Ù, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +NGN:(\D+) $(\1: ÙØ§Ûرا ÙÛØ¬Ø±ÛÙ, ÙØ§Ûرا ÙÛØ¬Ø±ÛÙ, Ú©ÙØ¨Ù, Ú©ÙØ¨Ù) +MZN:(\D+) $(\1: ٠تÛÚ©Ø§Ù Ù ÙØ²Ø§Ù بÛÚ©, ٠تÛÚ©Ø§Ù Ù ÙØ²Ø§Ù بÛÚ©, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +MYR:(\D+) $(\1: رÛÙÚ¯ÛØª Ù Ø§ÙØ²Û, رÛÙÚ¯ÛØª Ù Ø§ÙØ²Û, سÙ, سÙ) +MXN:(\D+) $(\1: پز٠٠کزÛÚ©, پز٠٠کزÛÚ©, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +MWK:(\D+) $(\1: Ú©ÙØ§Úا Ù Ø§ÙØ§ÙÛØ§, Ú©ÙØ§Úا Ù Ø§ÙØ§ÙÛØ§, ØªØ§Ù Ø¨Ø§ÙØ§, ØªØ§Ù Ø¨Ø§ÙØ§) +MUR:(\D+) $(\1: رÙÙ¾ÛÙ Ù ÙØ±Ûس, رÙÙ¾ÛÙ Ù ÙØ±Ûس, Ø³ÙØª, Ø³ÙØª) +MRU:(\D+) $(\1: اÙÙÛÙ Ù ÙØ±ÛتاÙÛ, اÙÙÛÙ Ù ÙØ±ÛتاÙÛ, خ٠س, خ٠س) +MNT:(\D+) $(\1: تÙگرÙÚ¯ ٠غÙÙØ³ØªØ§Ù, تÙگرÙÚ¯ ٠غÙÙØ³ØªØ§Ù, Ù ÙÙÚ¯Ù, Ù ÙÙÚ¯Ù) +MMK:(\D+) $(\1: Ú©ÛØ§Øª Ù ÛØ§Ù٠ار, Ú©ÛØ§Øª Ù ÛØ§Ù٠ار, Ù¾ÛØ§, Ù¾ÛØ§) +MKD:(\D+) $(\1: دÛÙØ§Ø± Ù ÙØ¯ÙÙÛÙ, دÛÙØ§Ø± Ù ÙØ¯ÙÙÛÙ, دÙÛ, دÙÛ) +MGA:(\D+) $(\1: Ø¢Ø±ÛØ§Ø±Û ٠اداگاسکار, Ø¢Ø±ÛØ§Ø±Û ٠اداگاسکار, Ø§ÛØ±Ø§Ø§Û٠بÛÙØ§Ùجا, Ø§ÛØ±Ø§Ø§Û٠بÛÙØ§Ùجا) +MDL:(\D+) $(\1: ÙØ¦ÙÛ Ù ÙÙØ¯Ø§ÙÛ, ÙØ¦ÙÛ Ù ÙÙØ¯Ø§ÙÛ, باÙ, باÙ) +LYD:(\D+) $(\1: دÛÙØ§Ø± ÙÛØ¨Û, دÛÙØ§Ø± ÙÛØ¨Û, درÙÙ , درÙÙ ) +LRD:(\D+) $(\1: Ø¯ÙØ§Ø± ÙÛØ¨Ø±Ûا, Ø¯ÙØ§Ø± ÙÛØ¨Ø±Ûا, Ø³ÙØª, Ø³ÙØª) +LKR:(\D+) $(\1: رÙÙ¾Û٠سرÛâÙØ§Ùکا, رÙÙ¾Û٠سرÛâÙØ§Ùکا, Ø³ÙØª, Ø³ÙØª) +LAK:(\D+) $(\1: Ú©ÛÙ¾ ÙØ§Ø¦Ùس, Ú©ÛÙ¾ ÙØ§Ø¦Ùس, ات, ات) +KZT:(\D+) $(\1: تÙÚ¯Ù ÙØ²Ø§ÙستاÙ, تÙÚ¯Ù ÙØ²Ø§ÙستاÙ, تÛÛÙ, تÛÛÙ) +KRW:(\D+) $(\1: ÙÙ٠کر٠جÙÙØ¨Û, ÙÙ٠کر٠جÙÙØ¨Û, جÛÙÙ, جÛÙÙ) +KPW:(\D+) $(\1: ÙÙ٠کر٠ش٠اÙÛ, ÙÙ٠کر٠ش٠اÙÛ, ÚÙÙ, ÚÙÙ) +KHR:(\D+) $(\1: Ø±ÛØ§Ù Ú©Ø§Ù Ø¨ÙØ¬, Ø±ÛØ§Ù Ú©Ø§Ù Ø¨ÙØ¬, سÙ, سÙ) +KGS:(\D+) $(\1: سÙÙ ÙØ±ÙÛØ²Ø³ØªØ§Ù, سÙÙ ÙØ±ÙÛØ²Ø³ØªØ§Ù, تÛÛÙ, تÛÛÙ) +KES:(\D+) $(\1: Ø´ÛÙÛÙÚ¯ Ú©ÙÛØ§, Ø´ÛÙÛÙÚ¯ Ú©ÙÛØ§, Ø³ÙØª, Ø³ÙØª) +JPY:(\D+) $(\1: ÛÙ ÚØ§Ù¾Ù, ÛÙ ÚØ§Ù¾Ù, سÙ, سÙ) +JMD:(\D+) $(\1: Ø¯ÙØ§Ø± جا٠ائÛکا, Ø¯ÙØ§Ø± جا٠ائÛکا, Ø³ÙØª, Ø³ÙØª) +ISK:(\D+) $(\1: کرÙÙØ§Û Ø§ÛØ³ÙÙØ¯, کرÙÙØ§Û Ø§ÛØ³ÙÙØ¯, Ø§ÙØ±Ù, Ø§ÙØ±Ù) +IRR:(\D+) $(\1: Ø±ÛØ§Ù Ø§ÛØ±Ø§Ù, Ø±ÛØ§Ù Ø§ÛØ±Ø§Ù, دÛÙØ§Ø±, دÛÙØ§Ø±) +IQD:(\D+) $(\1: دÛÙØ§Ø± عراÙ, دÛÙØ§Ø± عراÙ, ÙÙØ³, ÙÙØ³) +INR:(\D+) $(\1: رÙÙ¾ÛÙ ÙÙØ¯, رÙÙ¾ÛÙ ÙÙØ¯, Ù¾ÛØ³Ù, Ù¾ÛØ³Ù) +ILS:(\D+) $(\1: Ø´Ú©Ù Ø¬Ø¯ÛØ¯ اسرائÛÙ, Ø´Ú©Ù Ø¬Ø¯ÛØ¯ اسرائÛÙ, Ø¢Ú¯ÙØ±Ùت, Ø¢Ú¯ÙØ±Ùت) +IDR:(\D+) $(\1: رÙÙ¾ÛÙ Ø§ÙØ¯ÙÙØ²Û, رÙÙ¾ÛÙ Ø§ÙØ¯ÙÙØ²Û, سÙ, سÙ) +HUF:(\D+) $(\1: ÙÙØ±ÛÙØª ٠جارستاÙ, ÙÙØ±ÛÙØª ٠جارستاÙ, ÙÛÙØ±, ÙÛÙØ±) +HTG:(\D+) $(\1: Ú¯ÙØ±Ø¯ ÙØ§Ø¦ÛتÛ, Ú¯ÙØ±Ø¯ ÙØ§Ø¦ÛتÛ, Ø³Ø§ÙØªÛÙ , Ø³Ø§ÙØªÛÙ ) +HRK:(\D+) $(\1: Ú©ÙÙØ§Û Ú©Ø±ÙØ§Ø³Û, Ú©ÙÙØ§Û Ú©Ø±ÙØ§Ø³Û, ÙÛپا, ÙÛپا) +HNL:(\D+) $(\1: ÙØ§Ù Ù¾ÛØ±Ø§Û ÙÙØ¯Ùراس, ÙØ§Ù Ù¾ÛØ±Ø§Û ÙÙØ¯Ùراس, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +GYD:(\D+) $(\1: Ø¯ÙØ§Ø± Ú¯ÙÛØ§Ù, Ø¯ÙØ§Ø± Ú¯ÙÛØ§Ù, Ø³ÙØª, Ø³ÙØª) +GTQ:(\D+) $(\1: Ú©ÙØªØ²Ø§Ù Ú¯ÙØ§ØªÙ Ø§ÙØ§, Ú©ÙØªØ²Ø§Ù Ú¯ÙØ§ØªÙ Ø§ÙØ§, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +GNF:(\D+) $(\1: ÙØ±Ø§ÙÚ© Ú¯ÛÙÙ, ÙØ±Ø§ÙÚ© Ú¯ÛÙÙ, Ø³Ø§ÙØªÛÙ , Ø³Ø§ÙØªÛÙ ) +GMD:(\D+) $(\1: Ø¯Ø§ÙØ§Ø³Û Ú¯Ø§Ù Ø¨ÛØ§, Ø¯Ø§ÙØ§Ø³Û Ú¯Ø§Ù Ø¨ÛØ§, Ø¨ÙØªÙت, Ø¨ÙØªÙت) +GHS:(\D+) $(\1: Ø³Ø¯Û ØºÙØ§, Ø³Ø¯Û ØºÙØ§, Ù¾Ø³ÙØ§, Ù¾Ø³ÙØ§) +GEL:(\D+) $(\1: ÙØ§Ø±Û گرجستاÙ, ÙØ§Ø±Û گرجستاÙ, تترÛ, تترÛ) +GBP:(\D+) $(\1: Ù¾ÙÙØ¯ استرÙÛÙÚ¯, Ù¾ÙÙØ¯ استرÙÛÙÚ¯, Ù¾ÙÛ, Ù¾ÙÛ) +FJD:(\D+) $(\1: Ø¯ÙØ§Ø± ÙÛØ¬Û, Ø¯ÙØ§Ø± ÙÛØ¬Û, Ø³ÙØª, Ø³ÙØª) +EUR:(\D+) $(\1: ÛÙØ±Ù, ÛÙØ±Ù, Ø³ÙØª, Ø³ÙØª) +ETB:(\D+) $(\1: Ø¨ÛØ± اتÛÙÙ¾Û, Ø¨ÛØ± اتÛÙÙ¾Û, Ø³Ø§ÙØªÛÙ , Ø³Ø§ÙØªÛÙ ) +EGP:(\D+) $(\1: Ù¾ÙÙØ¯ ٠صر, Ù¾ÙÙØ¯ ٠صر, ÙØ±Ø´, ÙØ±Ø´) +DZD:(\D+) $(\1: دÛÙØ§Ø± Ø§ÙØ¬Ø²Ø§Ûر, دÛÙØ§Ø± Ø§ÙØ¬Ø²Ø§Ûر, Ø³Ø§ÙØªÛÙ , Ø³Ø§ÙØªÛÙ ) +DOP:(\D+) $(\1: پز٠دÙÙ ÛÙÛÚ©Ù, پز٠دÙÙ ÛÙÛÚ©Ù, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +CZK:(\D+) $(\1: کرÙÙØ§Û ÚÚ©, کرÙÙØ§Û ÚÚ©, ÙØ§Ùر, ÙØ§Ùر) +CUP:(\D+) $(\1: پزÙÛ Ú©ÙØ¨Ø§, پزÙÛ Ú©ÙØ¨Ø§, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +CRC:(\D+) $(\1: Ú©ÙÙÙ٠کاستارÛکا, Ú©ÙÙÙ٠کاستارÛکا, Ø³ÙØªÛÙ Ù, Ø³ÙØªÛÙ Ù) +COP:(\D+) $(\1: پز٠کÙÙ Ø¨ÛØ§, پز٠کÙÙ Ø¨ÛØ§, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +CNY:(\D+) $(\1: رÙÙ ÛÙØ¨Û, رÙÙ ÛÙØ¨Û, Ø¬ÛØ§Ø¦Ù, Ø¬ÛØ§Ø¦Ù) +CLP:(\D+) $(\1: پز٠شÛÙÛ, پز٠شÛÙÛ, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +CHF:(\D+) $(\1: ÙØ±Ø§ÙÚ© Ø³ÙØ¦Ûس, ÙØ±Ø§ÙÚ© Ø³ÙØ¦Ûس, Ø³Ø§ÙØªÛÙ , Ø³Ø§ÙØªÛÙ ) +CDF:(\D+) $(\1: ÙØ±Ø§ÙÚ© Ú©ÙÚ¯Ù, ÙØ±Ø§ÙÚ© Ú©ÙÚ¯Ù, Ø³Ø§ÙØªÛÙ , Ø³Ø§ÙØªÛÙ ) +CAD:(\D+) $(\1: Ø¯ÙØ§Ø± Ú©Ø§ÙØ§Ø¯Ø§, Ø¯ÙØ§Ø± Ú©Ø§ÙØ§Ø¯Ø§, Ø³ÙØª, Ø³ÙØª) +BYN:(\D+) $(\1: Ø±ÙØ¨Ù Ø¨ÙØ§Ø±Ùس, Ø±ÙØ¨Ù Ø¨ÙØ§Ø±Ùس, کاپÛکا, کاپÛکا) +BWP:(\D+) $(\1: Ù¾ÙÙØ§Û Ø¨ÙØªØ³ÙØ§ÙØ§, Ù¾ÙÙØ§Û Ø¨ÙØªØ³ÙØ§ÙØ§, ØªÛØ¨, ØªÛØ¨) +BRL:(\D+) $(\1: رئا٠برزÛÙ, رئا٠برزÛÙ, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +BOB:(\D+) $(\1: بÙÙÛÙÛØ§Ù٠بÙÙÛÙÛ, بÙÙÛÙÛØ§Ù٠بÙÙÛÙÛ, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +BIF:(\D+) $(\1: ÙØ±Ø§ÙÚ© Ø¨ÙØ±ÙÙØ¯Û, ÙØ±Ø§ÙÚ© Ø¨ÙØ±ÙÙØ¯Û, Ø³Ø§ÙØªÛÙ , Ø³Ø§ÙØªÛÙ ) +BDT:(\D+) $(\1: تاکا بÙÚ¯ÙØ§Ø¯Ø´, تاکا بÙÚ¯ÙØ§Ø¯Ø´, Ù¾ÛØ³Ù, Ù¾ÛØ³Ù) +AZN:(\D+) $(\1: Ù ÙØ§Øª Ø¢Ø°Ø±Ø¨Ø§ÛØ¬Ø§Ù, Ù ÙØ§Øª Ø¢Ø°Ø±Ø¨Ø§ÛØ¬Ø§Ù, Ú¯Ù¾ÛÚ©, Ú¯Ù¾ÛÚ©) +AUD:(\D+) $(\1: Ø¯ÙØ§Ø± استراÙÛØ§, Ø¯ÙØ§Ø± استراÙÛØ§, Ø³ÙØª, Ø³ÙØª) +ARS:(\D+) $(\1: Ù¾Ø²Ù Ø¢Ø±ÚØ§ÙتÛÙ, Ù¾Ø²Ù Ø¢Ø±ÚØ§ÙتÛÙ, Ø³ÙØªØ§ÙÙ, Ø³ÙØªØ§ÙÙ) +AOA:(\D+) $(\1: Ú©ÙØ§ÙØ²Ø§Û Ø¢ÙÚ¯ÙÙØ§, Ú©ÙØ§ÙØ²Ø§Û Ø¢ÙÚ¯ÙÙØ§, Ø³ÙØªÛÙ Ù, Ø³ÙØªÛÙ Ù) +AMD:(\D+) $(\1: Ø¯Ø±Ø§Ù Ø§Ø±Ù ÙØ³ØªØ§Ù, Ø¯Ø±Ø§Ù Ø§Ø±Ù ÙØ³ØªØ§Ù, ÙÙ٠ا, ÙÙ٠ا) +ALL:(\D+) $(\1: ÙÚ© Ø¢ÙØ¨Ø§ÙÛ, ÙÚ© Ø¢ÙØ¨Ø§ÙÛ, Ú©ÛÙØ¯Ø§Ø±Ú©Ø§, Ú©ÛÙØ¯Ø§Ø±Ú©Ø§) +AFN:(\D+) $(\1: Ø§ÙØºØ§ÙÛ Ø§ÙØºØ§ÙستاÙ, Ø§ÙØºØ§ÙÛ Ø§ÙØºØ§ÙستاÙ, Ù¾ÙÙ, Ù¾ÙÙ) + +"(JPY [-â]?\d+)[.,](\d\d)0" $1 +"(JPY [-â]?\d+[.,]\d\d)(\d)" $1 $2 rin + +"([A-Z]{3}) ([-â]?1)([.,]00?)?" $2$(\1:us) +"([A-Z]{3}) ([-â]?\d+)([.,]00?)?" $2$(\1:up) + +"(CNY [-â]?\d+)[.,](\d)0?" $1 $2 jiao +"(CNY [-â]?\d+[.,]\d)(\d)" $1 $2 fen + +"((MGA|MRO) [-â]?\d+)[.,]0" $1 +"((MGA|MRO) [-â]?\d+)[.,]2" $1 Ù |$(1)$(\2:ss) +"((MGA|MRO) [-â]?\d+)[.,]4" $1 Ù |$(2)$(\2:sp) +"((MGA|MRO) [-â]?\d+)[.,]6" $1 Ù |$(3)$(\2:sp) +"((MGA|MRO) [-â]?\d+)[.,]8" $1 Ù |$(4)$(\2:sp) + +"(([A-Z]{3}) [-â]?\d+)[.,](01)" $1 Ù |$(1)$(\2:ss) +"(([A-Z]{3}) [-â]?\d+)[.,](\d)" $1 Ù |$(\30)$(\2:sp) +"(([A-Z]{3}) [-â]?\d+)[.,](\d\d)" $1 Ù |$3$(\2:sp) + +== money == + +"(JPY [-â]?\d+)[.,](\d\d)0" $1 +"(JPY [-â]?\d+[.,]\d\d)(\d)" $1 $2 rin + +"([A-Z]{3}) ([-â]?1)([.,]00?)?" $2$(\1:us) +"([A-Z]{3}) ([-â]?\d+)([.,]00?)?" $2$(\1:up) + +"(CNY [-â]?\d+)[.,](\d)0?" $1 $2 jiao +"(CNY [-â]?\d+[.,]\d)(\d)" $1 $2 fen + +"(MGA|MRO) ([-â]?\d+)[.,]0" $2$(\1:us) +"(MGA|MRO) ([-â]?\d+)[.,]2" $2 Ù 1/5$(\1:us) +"(MGA|MRO) ([-â]?\d+)[.,]4" $2 Ù 2/5$(\1:up) +"(MGA|MRO) ([-â]?\d+)[.,]6" $2 Ù 3/5$(\1:up) +"(MGA|MRO) ([-â]?\d+)[.,]8" $2 Ù 4/5$(\1:up) + +"([A-Z]{3}) ([-â]?1)" $2$(\1:us) +"([A-Z]{3}) ([-â]?\d+)" $2$(\1:up) +"(([A-Z]{3}) ([-â]?\d+))[.,](01)" $3 Ù 1/100$(\2:us) +"(([A-Z]{3}) ([-â]?\d+))[.,](\d)" $3 Ù \40/100$(\2:up) +"(([A-Z]{3}) ([-â]?\d+))[.,](\d\d)" $3 Ù \4/100$(\2:up) +"(([A-Z]{3}) ([-â]?\d+))[.,](\d\d\d)" $3 Ù \4/1000$(\2:up) + +== ordinal == + +# convert to text, and recall to convert +# cardinal names to ordinal ones + +([-â]?\d+) $(ordinal |$1) + +(.*)س٠\1سÙÙ ÛÙ +(.*) \1Ù ÛÙ + +== ordinal-number == + +(.*) \1Ù ÛÙ + +== year == + +(.*) \1 + +== help == + +"" $(1)|, $(2), $(3)\n$(\0 ordinal)$(\0 ordinal-number)year: $(year 1999), two thousand, $(year 2001)\ncurrency \(for example, USD\): $(USD 2.5)\nmoney USD: $(money USD 2.5) +"(ordinal(-number)?|USD)" \1: $(\1 1), $(\1 2), $(\1 3)\n + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/ga.sor new/libnumbertext-1.0.11/data/ga.sor --- old/libnumbertext-1.0.10/data/ga.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/ga.sor 2022-11-14 09:09:29.000000000 +0100 @@ -27,6 +27,21 @@ (\d{1,3})(\d{9}) $1 billiún$(:\2)$2 (\d{1,3})(\d{12}) $1 trilliún$(:\2)$2 +# currency + +# unit/subunit + +u:([^,]*),([^,]*) \1 +s:([^,]*),([^,]*) \2 + +EUR:(.) $(\1: euro, cent) +GBP:(.) $(\1: punt steirling, pingin) +USD:(.) $(\1: dollar, cent) + +"([A-Z]{3}) ([-â]?\d+)([.,]00?)?" $2$(\1:u) +"(([A-Z]{3}) [-â]?\d+)[.,](\d)" $1 $(\30)$(\2:s) +"(([A-Z]{3}) [-â]?\d+)[.,](\d\d)" $1 $3$(\2:s) + == ordinal == # chapter one -> caibidil a haon @@ -45,6 +60,6 @@ == help == -"" |$(1)|, |$(2)|, |$(3)|\n$(help ordinal)$(help ordinal-number) +"" |$(1)|, |$(2)|, |$(3)|\n$(help ordinal)$(help ordinal-number)currency \(for example, EUR\): $(EUR 2.5)\n (.*) \1: |$(\1 1)|, |$(\1 2)|, |$(\1 3)|\n diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/hu_Hung.sor new/libnumbertext-1.0.11/data/hu_Hung.sor --- old/libnumbertext-1.0.10/data/hu_Hung.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/hu_Hung.sor 2022-11-14 09:09:29.000000000 +0100 @@ -2,6 +2,9 @@ # Transliterate numbers and words +# parentheses +"([\(\[\{])(.*) 0$" \1$2 +"(.*)([\]\)\}]) 0$" $1\2 # convert words with traditional or foreign "i" written as "y" # e.g. Ãprily, Champs-Ãlysées, Ãlysée-palota, Dolly, Folly, Hollywood, jolly, intercity, Kisfaludy ... "^(Ãpâ?riâ?l|Champs-Ãl|[cC]iâ?t|Doâ?lák-Saâ?l|[dfhjDFHJ]olâ?l|Ãl|Feszâ?t|[gG]rizzâ?l|Haâ?raszâ?t|Hatâ?vaâ?n|Huszâ?t|[iI]nâ?terâ?ciâ?t|Jéâ?keâ?l|Kisâ?faâ?luâ?d|Kuâ?koâ?râ?elâ?l|Moâ?hoâ?l|Mindâ?szenâ?t|Noszâ?t|[pP]enân|Pesâ?t|Reâ?guâ?l|Soâ?n|Sziâ?l|Szteâ?vaâ?noâ?viâ?t|Vöâ?rösâ?marâ?t|[zZ][lÅ]ot)y(.*) 0$" $1ð³$2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/mul.sor new/libnumbertext-1.0.11/data/mul.sor --- old/libnumbertext-1.0.10/data/mul.sor 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/data/mul.sor 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,189 @@ +# numbering for multiple languages + +# note symbols + +# default: *, **, ***, ****, â , â¡, § +# source: The United Nations Editorial Manual Online, access: 2022-07-14 +# https://www.un.org/dgacm/en/content/editorial-manual/footnotes/chap-09 + +1 * +2 ** +3 *** +4 **** +5 â +6 â¡ +7 § +(\d*) \1 + +# Note for LibreOffice users: adding ZWJ character before the return value +# disables superscript only for that symbol in Writer. E.g. when asterisk is +# already designed as a superscript letter, but the other symbols need manual +# approximation of superscript character style: +# +#1 â* +#5 â** +#9 â*** +# +# In Writer, there are different numbering variants of the +# following functions, (1) default, (2) superscript, except *, +# (3) superscript, except *, â , â¡ (when the font contains also superscript +# variants of â and â¡, and used by setting font feature "sups"). + + +== chicago == + +# *, â , â¡, §, **, â â , ... +# source: The Chicago Manual of Style Online access: 2022-07-14, +# also used by LibreOffice Writer and OOXML (referred as "chicago") + +1 * +2 â +3 â¡ +4 § +5 ** +6 â â +7 â¡â¡ +8 §§ +9 *** +10 â â â +11 â¡â¡â¡ +12 §§§ +13 **** +14 â â â â +15 â¡â¡â¡â¡ +16 §§§§ +17 ***** +18 â â â â â +19 â¡â¡â¡â¡â¡ +20 §§§§§ +(\d*) \1 + + +== chicago-table == + +# source: The Chicago Manual of Style Online access: 2022-07-14 +# 3.79: Notes to specific parts of a table +# https://www.chicagomanualofstyle.org/search.html?clause=dagger + +1 * +2 â +3 â¡ +4 § +5 â +6 \# +7 ** +8 â â +9 â¡â¡ +10 §§ +11 ââ +12 \#\# +13 *** +14 â â â +15 â¡â¡â¡ +16 §§§ +17 âââ +18 \#\#\# +(.*) \1 + + +== bringhurst == + +# source: Bringhurst, R.: The Elements of Typographic Style, +# implemented in footmisc â a portmanteau package for customizing +# footnotes in LATEX, https://texdoc.org/serve/footmisc/0, access: 2022-07-14 + +1 * +2 â +3 â¡ +4 § +5 â +6 ¶ +7 ** +8 â â +9 â¡â¡ +10 §§ +11 ââ +12 ¶¶ +13 *** +14 â â â +15 â¡â¡â¡ +16 §§§ +17 âââ +18 ¶¶¶ + +(.*) \1 + + +== gyurgyak == + +# source: J. Gyurgyák: SzerkesztÅk és szerzÅk kézikönyve, Osiris, 1997 +# also used by Linux Libertine G font feature "foot" = 2 (default in Hungarian), +# see http://numbertext.org/linux/fontfeatures.pdf + +1 * +2 ** +3 *** +4 â +5 â â +6 â â â +7 â¡ +8 â¡â¡ +9 â¡â¡â¡ +10 § +11 §§ +12 §§§ +(.*) \1 + + +== lamport == + +# source: footmisc â a portmanteau package for customizing footnotes in LATEX +# https://texdoc.org/serve/footmisc/0, access: 2022-07-14 + +1 * +2 â +3 â¡ +4 § +5 ¶ +6 â +7 ** +8 â â +9 â¡â¡ +10 §§ +11 ¶¶ +12 ââ +13 ** +14 â â +15 â¡â¡ +16 §§ +(.*) \1 + + +== un == + +# source: The United Nations Editorial Manual Online, access: 2022-07-14 +# https://www.un.org/dgacm/en/content/editorial-manual/footnotes/chap-09 + +# same as the default style +(.*) $1 + + +== wiley == + +# source: footmisc â a portmanteau package for customizing footnotes in LATEX +# https://texdoc.org/serve/footmisc/0, access: 2022-07-14 + +1 * +2 ** +3 â +4 â¡ +5 § +6 ¶ +7 â +(.*) \1 + +== help == +"" |$(1)|, |$(2)|, |$(3), |$(4), |$(5), |$(6), |$(7)|\n$(help chicago)$(help chicago-table)|$(help bringhurst)|$(help gyurgyak)|$(help lamport)|$(help un)|$(help wiley) +(chicago-table) \1: |$(\1 1)|, |$(\1 2)|, |$(\1 3)|, $(\1 4)|, $(\1 5)|, $(\1 6)|\n +([-a-z]*?) \1: |$(\1 1)|, |$(\1 2)|, |$(\1 3)|, $(\1 4)|, $(\1 5)|, $(\1 6)|, $(\1 7)|\n + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/ro.sor new/libnumbertext-1.0.11/data/ro.sor --- old/libnumbertext-1.0.10/data/ro.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/ro.sor 2022-11-14 09:09:29.000000000 +0100 @@ -81,17 +81,23 @@ RON:(.+),(.+) $(\1mm: leu românesc, lei româneÈti, ban, bani, \2) USD:(.+),(.+) $(\1mm: dolar american, dolari americani, cent, cenÈi, \2) -"([A-Z]{3}) ([-â]?1)([.,]00?)?"$(\1:us,|$2) -"([A-Z]{3}) ([-â]?\d+)([.,]00?)?"$(\1:up,|$2) +"([A-Z]{3}) ([-â]?1)([.,]00?)?" $(-remove-extra-space $(\1:us,|$2)) +"([A-Z]{3}) ([-â]?\d+)([.,]00?)?" $(-remove-extra-space $(\1:up,|$2)) "(CNY [-â]?\d+)[.,]10?" $1| un jiao "(CNY [-â]?\d+)[.,](\d)0?" $1| $2| jiao "(CNY [-â]?\d+[.,]\d)1" $1| $2| fen "(CNY [-â]?\d+[.,]\d)(\d)" $1| $2| fen -"(([A-Z]{3}) [-â]?\d+)[.,](01)" $1|$(\2:ss,$(1)) -"(([A-Z]{3}) [-â]?\d+)[.,](\d)" $1|$(\2:sp,$(\30)) -"(([A-Z]{3}) [-â]?\d+)[.,](\d\d)" $1|$(\2:sp,$3) +"(([A-Z]{3}) [-â]?\d+)[.,](01)" $(-remove-extra-space $1|$(\2:ss,$(1))) +"(([A-Z]{3}) [-â]?\d+)[.,](\d)" $(-remove-extra-space $1|$(\2:sp,$(\30))) +"(([A-Z]{3}) [-â]?\d+)[.,](\d\d)" $(-remove-extra-space $1|$(\2:sp,$3)) + +== -remove-extra-space == + +"^ (.*)" $(-remove-extra-space \1) +"(.*) ( .*)" \1\2 +(.*) \1 == ordinal(-masculine)? == diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/ru.sor new/libnumbertext-1.0.11/data/ru.sor --- old/libnumbertext-1.0.10/data/ru.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/ru.sor 2022-11-14 09:09:29.000000000 +0100 @@ -132,6 +132,7 @@ "((UAH) [-â]?\d+)[.,]([02-9])1" $1 [$(\30) ]одна$(\2:ss) "((UAH) [-â]?\d+)[.,]([02-9])2" $1 [$(\30) ]две$(\2:sp) "(([A-Z]{3}) [-â]?\d+)[.,](01)" $1 |$(1)$(\2:ss) +"((EUR|GBP|USD) [-â]?\d+)[.,]([02-9]1)" $1 $3|$(\2:ss) "((EUR|GBP|USD) [-â]?\d+)[.,]([02-9]2)" $1 $3|$(\2:sp) "(([A-Z]{3}) [-â]?\d+)[.,]([02-9][234])" $1 |$3$(\2:sp) "(([A-Z]{3}) [-â]?\d+)[.,](\d)" $1 |$(\30)$(\2:sg) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/sl.sor new/libnumbertext-1.0.11/data/sl.sor --- old/libnumbertext-1.0.10/data/sl.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/sl.sor 2022-11-14 09:09:29.000000000 +0100 @@ -88,14 +88,22 @@ "(([A-Z]{3}) [-â]?\d+)[.,](\d)" $1 $(\30)$(\2:s5) "(([A-Z]{3}) [-â]?\d+)[.,](\d\d)" $1 $3$(\2:s5) -== cardinal(-feminine|-neuter)? == +== cardinal-feminine == -(\d+) $2 +(\d+) $1 + +== cardinal-neuter == + +(\d+) $(cardinal-neuter |$1) +(.*)ena \1eno +(.*) \1 == cardinal-masculine == (\d+) $(cardinal-masculine |$1) +(.*)ena \1eden (.*)dve \1dva +(.*tri) \1je (.*) \1 == cardinal-adverbial == diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/data/uk.sor new/libnumbertext-1.0.11/data/uk.sor --- old/libnumbertext-1.0.10/data/uk.sor 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/data/uk.sor 2022-11-14 09:09:29.000000000 +0100 @@ -153,6 +153,7 @@ "((UAH) [-â]?\d+)[.,]([02-9])1" $1 [$(\30) ]одна$(\2:ss) "((UAH) [-â]?\d+)[.,]([02-9])2" $1 [$(\30) ]двi$(\2:sp) "(([A-Z]{3}) [-â]?\d+)[.,](01)" $1 |$(1)$(\2:ss) +"((EUR|GBP|USD) [-â]?\d+)[.,]([02-9]1)" $1 $3|$(\2:ss) "((EUR|GBP|USD) [-â]?\d+)[.,]([02-9]2)" $1 $3|$(\2:sp) "(([A-Z]{3}) [-â]?\d+)[.,]([02-9][234])" $1 |$3$(\2:sp) "(([A-Z]{3}) [-â]?\d+)[.,](\d)" $1 |$(\30)$(\2:sg) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/description.xml.in new/libnumbertext-1.0.11/description.xml.in --- old/libnumbertext-1.0.10/description.xml.in 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/description.xml.in 2022-11-14 09:09:29.000000000 +0100 @@ -10,6 +10,7 @@ <name lang="hu">NUMBERTEXT() és MONEYTEXT() Calc függvények</name> <name lang="it">NUMBERTEXT() e MONEYTEXT() Calc funzione</name> <name lang="pl">Funkcje NUMBERTEXT () i MONEYTEXT () dla programu Calc</name> + <name lang="ru">ФÑнкÑии NUMBERTEXT() и MONEYTEXT() Ð´Ð»Ñ Calc</name> <name lang="sr">NUMBERTEXT() и MONEYTEXT() ÑÑнкÑиÑе за РаÑÑн</name> <name lang="sh">NUMBERTEXT() i MONEYTEXT() funkcije za RaÄun</name> <name lang="he">NUMBERTEXT() ×MONEYTEXT() פ×× ×§×¦××ת ××××× Calc</name> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/java/Manifest.txt new/libnumbertext-1.0.11/java/Manifest.txt --- old/libnumbertext-1.0.10/java/Manifest.txt 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/java/Manifest.txt 2022-11-14 09:09:29.000000000 +0100 @@ -1,3 +1,3 @@ Main-Class: org.numbertext.Numbertext -Implementation-Version: 1.0.10 -Implementation-Date: 2022-04-02 +Implementation-Version: 1.0.11 +Implementation-Date: 2022-11-13 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/java/src/main/org/numbertext/Soros.java new/libnumbertext-1.0.11/java/src/main/org/numbertext/Soros.java --- old/libnumbertext-1.0.10/java/src/main/org/numbertext/Soros.java 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/java/src/main/org/numbertext/Soros.java 2022-11-14 09:09:29.000000000 +0100 @@ -27,7 +27,7 @@ private static Pattern func = Pattern.compile(translate("(?:\\|?(?:\\$\\()+)?" + // optional nested calls "(\\|?\\$\\(([^\\(\\)]*)\\)\\|?)" + // inner call (2 subgroups) - "(?:\\)+\\|?)?", // optional nested calls + "(?:\uE00A?\\)+\\|?)?", // optional nested calls m2.substring(0, c.length()), c, "\\")); // \$, \(, \), \| -> \uE000..\uE003 public Soros(String source, String lang) { @@ -74,7 +74,6 @@ // call inner separator: [ ... $1 ... ] -> $(\uE00A ... \uE00A$1\uE00A ... ) s2 = s2.replaceAll("^\\[[$](\\d\\d?|\\([^\\)]+\\))", "\\$(\uE00A\uE00A|\\$$1\uE00A"); // add "|" s2 = s2.replaceAll("\\[([^$\\[\\\\]*)[$](\\d\\d?|\\([^\\)]+\\))", "\\$(\uE00A$1\uE00A\\$$2\uE00A"); - s2 = s2.replaceAll("\uE00A\\]$", "|\uE00A)"); // add "|" in terminating position s2 = s2.replaceAll("\\]", ")"); s2 = s2.replaceAll("(\\$\\d|\\))\\|\\$", "$1||\\$"); // $()|$() -> $()||$() s2 = translate(s2, c, m, ""); // \uE000..\uE003-> \, ", ;, # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/src/Soros.cxx new/libnumbertext-1.0.11/src/Soros.cxx --- old/libnumbertext-1.0.10/src/Soros.cxx 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/src/Soros.cxx 2022-11-14 09:09:29.000000000 +0100 @@ -29,7 +29,7 @@ const wregex Soros::func ( Soros::translate ( L"(?:\\|?(?:\\$\\()+)?" // optional nested calls "(\\|?\\$\\(([^\\(\\)]*)\\)\\|?)" // inner call (2 subgroups) - "(?:\\)+\\|?)?", // optional nested calls + "(?:\uE00A?\\)+\\|?)?", // optional nested calls Soros::m2.substr(0, 4), Soros::c, L"\\")); // \$, \(, \), \| -> \uE000..\uE003 void Soros::replace(std::wstring& s, const std::wstring& search, @@ -98,8 +98,8 @@ s = regex_replace(s, quoteEnd, L""); s = translate(s, c.substr(1), m.substr(1), L""); replace(s, slash, L"\\\\"); // -> \\, ", ;, # - begins.push_back(s[0] == L'^'); - ends.push_back(s[s.length()-1] == L'$'); + begins.push_back(!s.empty() && s[0] == L'^'); + ends.push_back(!s.empty() && s[s.length()-1] == L'$'); s = L"^" + regex_replace(s, wregex(L"^\\^"), L""); s = regex_replace(s, wregex(L"\\$$"), L"") + L"$"; try @@ -122,7 +122,6 @@ L"$$(" SEP SEP L"|$$$1" SEP); // add "|" in terminating position s2 = regex_replace(s2, wregex(L"\\[([^$\\[\\\\]*)[$](\\d\\d?|\\([^\\)]+\\))"), L"$$(" SEP L"$1" SEP L"$$$2" SEP); - s2 = regex_replace(s2, wregex(SEP L"\\]$"), L"|" SEP L")"); // add "|" in terminating position s2 = translate(s2, L"]", L")", L""); s2 = regex_replace(s2, wregex(L"([$]\\d|\\))\\|[$]"), L"$1||$$"); // $()|$() -> $()||$() s2 = translate(s2, c, m, L""); // \uE000..\uE003-> \, ", ;, # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/src/Soros.js new/libnumbertext-1.0.11/src/Soros.js --- old/libnumbertext-1.0.10/src/Soros.js 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/src/Soros.js 2022-11-14 09:09:29.000000000 +0100 @@ -1,5 +1,5 @@ function Soros(program, lang) { - this.funcpat = /(\|?(\uE008\()+)?(\|?\uE008\(([^\(\)]*)\)\|?)(\)+\|?)?/ + this.funcpat = /(\|?(\uE008\()+)?(\|?\uE008\(([^\(\)]*)\)\|?)(\uE00A?\)+\|?)?/ this.meta = "\\\"$()|#;[]" this.enc = "\uE000\uE001\uE002\uE003\uE004\uE005\uE006\uE007\uE008\uE009" this.lines = [] @@ -116,7 +116,6 @@ // call inner separator: [ ... $1 ... ] -> $(\uE00A ... \uE00A$1\uE00A ... ) .replace(/^[[]\$(\d\d?|\([^\)]+\))/g,"$(\uE00A\uE00A|$$$1\uE00A") .replace(/[[]([^\$[\\]*)\$(\d\d?|\([^\)]+\))/g,"$(\uE00A$1\uE00A$$$2\uE00A") - .replace(/\uE00A]$/, "|\uE00A)") // add "|" in terminating position .replace(/]/g, ")") .replace(/(\$\d|\))\|\$/g,"$1||$$") // $(..)|$(..) -> $(..)||$(..) .replace(/\$/g, "\uE008") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/src/Soros.py new/libnumbertext-1.0.11/src/Soros.py --- old/libnumbertext-1.0.10/src/Soros.py 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/src/Soros.py 2022-11-14 09:09:29.000000000 +0100 @@ -24,7 +24,7 @@ # pattern to recognize function calls in the replacement string _func = re.compile(_tr(r"""(?:\|?(?:\$\()+)? # optional nested calls (\|?\$\(([^\(\)]*)\)\|?) # inner call (2 subgroups) - (?:\)+\|?)?""", # optional nested calls + (?:\uE00A?\)+\|?)?""", # optional nested calls _m[4:8], _c[:4], "\\"), re.X) # \$, \(, \), \| -> \uE000..\uE003 class _Soros: @@ -72,7 +72,6 @@ # call inner separator: [ ... $1 ... ] -> $(\uE00A ... \uE00A$1\uE00A ... ) s2 = re.sub(r"[\[]\$(\d\d?|\([^\)]+\))",u"$(\uE00A\uE00A|$\\1\uE00A", s2) s2 = re.sub(r"[\[]([^\$[\\]*)\$(\d\d?|\([^\)]+\))",u"$(\uE00A\\1\uE00A$\\2\uE00A", s2) - s2 = re.sub(r"\uE00A]$","|\uE00A)", s2) # add "|" in terminating position s2 = re.sub(r"]",")", s2) s2 = re.sub(r"(\$\d|\))\|\$", r"\1||$", s2) # $()|$() -> $()||$() s2 = _tr(s2, _c[:4], _m[:4], "") # \uE000..\uE003-> \, ", ;, # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/test/es.in new/libnumbertext-1.0.11/test/es.in --- old/libnumbertext-1.0.10/test/es.in 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/test/es.in 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,16 @@ +1001000000 +1001001001000000 +31000000 +131000000 +1031000000 +10031000000 +100031000000 +1000031000000 +21000000 +121000000 +1021000000 +10021000000 +100021000000 +1000021000000 +231231 +531531 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/test/es.out new/libnumbertext-1.0.11/test/es.out --- old/libnumbertext-1.0.10/test/es.out 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/test/es.out 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,16 @@ +mil un millones +mil un billones mil un millones +treinta y un millones +ciento treinta y un millones +mil treinta y un millones +diez mil treinta y un millones +cien mil treinta y un millones +un billón treinta y un millones +veintiún millones +ciento veintiún millones +mil veintiún millones +diez mil veintiún millones +cien mil veintiún millones +un billón veintiún millones +doscientos treinta y un mil doscientos treinta y uno +quinientos treinta y un mil quinientos treinta y uno diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/test/es.test new/libnumbertext-1.0.11/test/es.test --- old/libnumbertext-1.0.10/test/es.test 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/test/es.test 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh +DIR="`dirname $0`" +NAME="`basename $0 .test`" +$DIR/test.sh $NAME.sor $NAME.in $NAME.out diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/test/hu_Hung.in new/libnumbertext-1.0.11/test/hu_Hung.in --- old/libnumbertext-1.0.10/test/hu_Hung.in 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/test/hu_Hung.in 2022-11-14 09:09:29.000000000 +0100 @@ -17,6 +17,15 @@ âð³ð³ð³ð³¯ð³ð³ð³ð³â? âð³ð³ð³ð³¯ð³ð³ð³ð³â, âð³ð³ð³ð³¯ð³ð³ð³ð³â; +(parentheses) 0 +[parentheses] 0 +{parentheses} 0 +(parenthesis 0 +parenthesis) 0 +[parenthesis 0 +parenthesis] 0 +{parenthesis 0 +parenthesis} 0 Händel 0 Molière 0 IQ 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/test/hu_Hung.out new/libnumbertext-1.0.11/test/hu_Hung.out --- old/libnumbertext-1.0.10/test/hu_Hung.out 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/test/hu_Hung.out 2022-11-14 09:09:29.000000000 +0100 @@ -17,6 +17,15 @@ â¹ð³ð³ð³ð³¯ð³ð³ð³ð³â⸮ â¹ð³ð³ð³ð³¯ð³ð³ð³ð³ââ¹ â¹ð³ð³ð³ð³¯ð³ð³ð³ð³ââ +(ð³ ð³ð³¢ð³ð³ð³¦ð³ð³ð³¤ð³ð³¤) +[ð³ ð³ð³¢ð³ð³ð³¦ð³ð³ð³¤ð³ð³¤] +{ð³ ð³ð³¢ð³ð³ð³¦ð³ð³ð³¤ð³ð³¤} +(ð³ ð³ð³¢ð³ð³ð³¦ð³ð³ð³¤ð³ð³¤ +ð³ ð³ð³¢ð³ð³ð³¦ð³ð³ð³¤ð³ð³¤) +[ð³ ð³ð³¢ð³ð³ð³¦ð³ð³ð³¤ð³ð³¤ +ð³ ð³ð³¢ð³ð³ð³¦ð³ð³ð³¤ð³ð³¤] +{ð³ ð³ð³¢ð³ð³ð³¦ð³ð³ð³¤ð³ð³¤ +ð³ ð³ð³¢ð³ð³ð³¦ð³ð³ð³¤ð³ð³¤} ð²ð³ð³ð³ð³ð³ Molière IQ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/test/ro.in new/libnumbertext-1.0.11/test/ro.in --- old/libnumbertext-1.0.10/test/ro.in 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/test/ro.in 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,3 @@ +RON 1 +RON 1,1 +RON 1,10 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/test/ro.out new/libnumbertext-1.0.11/test/ro.out --- old/libnumbertext-1.0.10/test/ro.out 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/test/ro.out 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,3 @@ +un leu românesc +un leu românesc zece bani +un leu românesc zece bani diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/test/ro.test new/libnumbertext-1.0.11/test/ro.test --- old/libnumbertext-1.0.10/test/ro.test 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/test/ro.test 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh +DIR="`dirname $0`" +NAME="`basename $0 .test`" +$DIR/test.sh $NAME.sor $NAME.in $NAME.out diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/tests/Makefile.am new/libnumbertext-1.0.11/tests/Makefile.am --- old/libnumbertext-1.0.10/tests/Makefile.am 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/tests/Makefile.am 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,14 @@ +## Process this file with automake to create Makefile.in + +TESTS = \ +es.test + +AM_TESTS_ENVIRONMENT = export MODULES=$(top_srcdir)/data; + +clean-local: + -rm -rf testSubDir + +EXTRA_DIST = $(TESTS) \ +es.in \ +es.out \ +test.sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/tests/es.in new/libnumbertext-1.0.11/tests/es.in --- old/libnumbertext-1.0.10/tests/es.in 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/tests/es.in 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,24 @@ +# Issue #94 "mil uno", but "mil un millones" +# (bad boundary handling of conditional text, here: "mil[ $1]") + +1001000000 +1001001001000000 +31000000 +131000000 +1031000000 +10031000000 +100031000000 +1000031000000 +21000000 +121000000 +1021000000 +10021000000 +100021000000 +1000021000000 + +# Issue #70 - revert removed conditional etxt of ca, da, es +# (bad boundary handling of conditional text, here: "mil[ $1]") + +231231 # contained "uno mil" instead of "un mil" +531531 # this was correct + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/tests/es.out new/libnumbertext-1.0.11/tests/es.out --- old/libnumbertext-1.0.10/tests/es.out 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/tests/es.out 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,16 @@ +mil un millones +mil un billones mil un millones +treinta y un millones +ciento treinta y un millones +mil treinta y un millones +diez mil treinta y un millones +cien mil treinta y un millones +un billón treinta y un millones +veintiún millones +ciento veintiún millones +mil veintiún millones +diez mil veintiún millones +cien mil veintiún millones +un billón veintiún millones +doscientos treinta y un mil doscientos treinta y uno +quinientos treinta y un mil quinientos treinta y uno diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/tests/es.test new/libnumbertext-1.0.11/tests/es.test --- old/libnumbertext-1.0.10/tests/es.test 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/tests/es.test 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh +DIR="`dirname $0`" +NAME="`basename $0 .test`" +$DIR/test.sh $NAME $NAME.in $NAME.out diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/tests/test.sh new/libnumbertext-1.0.11/tests/test.sh --- old/libnumbertext-1.0.10/tests/test.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/libnumbertext-1.0.11/tests/test.sh 2022-11-14 09:09:29.000000000 +0100 @@ -0,0 +1,14 @@ +#!/bin/bash + +SPELLOUT=../src/spellout + +TESTDIR="`dirname $0`" + +TEMPDIR="./testSubDir" + +if [ ! -d $TEMPDIR ]; then + mkdir $TEMPDIR +fi + +$SPELLOUT -l $MODULES/$1 $(sed -n 's/ #.*$//;/^[^#]/p' $TESTDIR/$2) >$TEMPDIR/test.out$$ +diff -u $TEMPDIR/test.out$$ $TESTDIR/$3 || exit 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libnumbertext-1.0.10/web/index.html.in new/libnumbertext-1.0.11/web/index.html.in --- old/libnumbertext-1.0.10/web/index.html.in 2022-04-02 17:12:02.000000000 +0200 +++ new/libnumbertext-1.0.11/web/index.html.in 2022-11-14 09:09:29.000000000 +0100 @@ -117,27 +117,27 @@ <div class="col-md-3 col-sm-6"> <div class="service"> <i class="fa fa-table"></i> <h3>LibreOffice</h3> - <p>Extension with NUMBERTEXT and MONEYTEXT spreadsheet functions: <a href="https://extensions.libreoffice.org/extensions/numbertext-1/1-0.10/@@download/file/numbertext-1.0.10.oxt">numbertext-1.0.10.oxt</a> - (<a href="https://extensions.libreoffice.org/extensions/numbertext-1/1-0.10">description</a>)</p> + <p>Extension with NUMBERTEXT and MONEYTEXT spreadsheet functions: <a href="https://extensions.libreoffice.org/extensions/numbertext-1/1-0.11/@@download/file/numbertext-1.0.11.oxt">numbertext-1.0.11.oxt</a> + (<a href="https://extensions.libreoffice.org/extensions/numbertext-1/1-0.11">description</a>)</p> </div> </div> <div class="col-md-3 col-sm-6"> <div class="service"> <i class="fa fa-cogs"></i> <h3>C++</h3> - <p>Source distribution (1.0.10): <a href="https://github.com/Numbertext/libnumbertext/releases/download/1.0.10/libnumbertext-1.0.10.tar.xz">libnumbertext-1.0.10.tar.xz</a> (<a href="https://github.com/Numbertext/libnumbertext/releases/tag/1.0.10">installation</a>)</p> + <p>Source distribution (1.0.11): <a href="https://github.com/Numbertext/libnumbertext/releases/download/1.0.11/libnumbertext-1.0.11.tar.xz">libnumbertext-1.0.11.tar.xz</a> (<a href="https://github.com/Numbertext/libnumbertext/releases/tag/1.0.11">installation</a>)</p> </div> </div> <div class="col-md-3 col-sm-6"> <div class="service"> <i class="fa fa-coffee"></i> <h3>Java</h3> - <p>JAR package: <a href="https://github.com/Numbertext/libnumbertext/releases/download/1.0.10/numbertext.jar">numbertext.jar</a> (1.0.10). + <p>JAR package: <a href="https://github.com/Numbertext/libnumbertext/releases/download/1.0.11/numbertext.jar">numbertext.jar</a> (1.0.11). Usage: java -jar numbertext.jar</p> </div> </div> <div class="col-md-3 col-sm-6"> <div class="service"><i class="fa fa-pencil"></i> <h3>Python & JavaScript</h3> - <p>Interpreters: <a href="https://github.com/Numbertext/libnumbertext/blob/master/src/Soros.py">Soros.py</a> and <a href="https://github.com/Numbertext/libnumbertext/blob/master/src/Soros.js">Soros.js</a>. For usage, see source distribution (<a href="https://github.com/Numbertext/libnumbertext/archive/1.0.10.zip">zip</a> or <a href="https://github.com/Numbertext/libnumbertext/archive/1.0.10.tar.gz">tar.gz</a>).</p> + <p>Interpreters: <a href="https://github.com/Numbertext/libnumbertext/blob/master/src/Soros.py">Soros.py</a> and <a href="https://github.com/Numbertext/libnumbertext/blob/master/src/Soros.js">Soros.js</a>. For usage, see source distribution (<a href="https://github.com/Numbertext/libnumbertext/archive/1.0.11.zip">zip</a> or <a href="https://github.com/Numbertext/libnumbertext/archive/1.0.11.tar.gz">tar.gz</a>).</p> </div> </div> </div> @@ -339,6 +339,7 @@ "es": "Español", "et": "Eesti", "eo": "Esperanto", +"fa": "ÙØ§Ø±Ø³Û", "fr": "Français", "fr-BE": "Français (BE)", "fr-CH": "Français (CH)", @@ -401,6 +402,7 @@ "es": "EUR", "et": "EUR", "eo": "-", +"fa": "IRR", "fr": "EUR", "fr-BE": "EUR", "fr-CH": "CHF", @@ -498,7 +500,7 @@ target = document.getElementById('result') if (document.body.scrollTop < target.offsetTop + target.offsetHeight) target.innerHTML = "<table id='conv' width='100%'><tbody><tr id='header' style='text-align:left;background-color:rgba(100%, 100%, 100%, 0)'><td width='150px'>Language<td>" + header + "</td></tr>" + <!-- **************************************************************************************************** --> -<!--!cd ../data; n=3; for i in `ls *.sor | awk '{print}/de/{print"de-CH.sor"}/en/{print"en-GB.sor\nen-IN.sor"}/pt/{print"pt-BR.sor"}/ko/{print"ko-KP.sor"}/fr/{print"fr-BE.sor\nfr-CH.sor"}/no/{print"nn.sor"}' | grep -v ^[A-Z] | grep -v Hung` hu_Hung.sor Roman-large.sor Suzhou.sor; do name=`basename $i .sor`; name2=`echo $name | tr _ -`; head=""; rtl=""; rovas=""; case $name in hu_Hung) rovas="rovas"; rtl="align='right'";; he) rtl="align='right'";; esac; echo "\"$head<tr class='$rovas \"+ ($n%2?\"second\":\"\")+\"' style='text-align:left;' title='$name2'><td valign='top'>\" + language[\"$name\"] + \"</td><td $rtl>\" + numlang['$name'].run((window.currency == \"-\" || window.currency == \"help\" ? \"\" : (window.currency == \"def\" ? default_currency[\"$name\"] : window.currency) + \" \") + window.num).replace(/\\\n/g,\"<br>\") + '</td></tr>' +";n=`echo $n+1 | bc`; done--> +<!--!cd ../data; n=3; for i in `ls *.sor | awk '{print}/de/{print"de-CH.sor"}/en/{print"en-GB.sor\nen-IN.sor"}/pt/{print"pt-BR.sor"}/ko/{print"ko-KP.sor"}/fr/{print"fr-BE.sor\nfr-CH.sor"}/no/{print"nn.sor"}' | grep -v ^[A-Z] | grep -v Hung | grep -v mul` hu_Hung.sor Roman-large.sor Suzhou.sor; do name=`basename $i .sor`; name2=`echo $name | tr _ -`; head=""; rtl=""; rovas=""; case $name in hu_Hung) rovas="rovas"; rtl="align='right'";; fa|he) rtl="align='right'";; esac; echo "\"$head<tr class='$rovas \"+ ($n%2?\"second\":\"\")+\"' style='text-align:left;' title='$name2'><td valign='top'>\" + language[\"$name\"] + \"</td><td $rtl>\" + numlang['$name'].run((window.currency == \"-\" || window.currency == \"help\" ? \"\" : (window.currency == \"def\" ? default_currency[\"$name\"] : window.currency) + \" \") + window.num).replace(/\\\n/g,\"<br>\") + '</td></tr>' +";n=`echo $n+1 | bc`; done--> <!-- **************************************************************************************************** --> "<tr><td colspan=2>*Old numeral systems (extended for large numbers) – Old Hungarian, Roman and Suzhou numerals</td></tr></tbody></table>"; }