diff --git a/share/colldef_unicode/Makefile b/share/colldef_unicode/Makefile index 00d64f479a52..e84d952a1316 100644 --- a/share/colldef_unicode/Makefile +++ b/share/colldef_unicode/Makefile @@ -1,124 +1,126 @@ # $FreeBSD$ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_COLLATE .SUFFIXES: .src .LC_COLLATE MAPLOC= ${.CURDIR}/../../tools/tools/locale/etc/final-maps CLDR_VERSION= "39.0" .include .src.LC_COLLATE: localedef ${LOCALEDEF_ENDIAN} -D -U -i ${.IMPSRC} \ -V ${CLDR_VERSION} \ -f ${MAPLOC}/map.${.TARGET:T:R:E:C/@.*//} ${.OBJDIR}/${.IMPSRC:T:R} LOCALES+= af_ZA.UTF-8 LOCALES+= am_ET.UTF-8 LOCALES+= ar_SA.UTF-8 LOCALES+= be_BY.UTF-8 LOCALES+= ca_AD.UTF-8 LOCALES+= cs_CZ.UTF-8 LOCALES+= da_DK.UTF-8 LOCALES+= el_GR.UTF-8 LOCALES+= en_US.UTF-8 LOCALES+= es_MX.UTF-8 LOCALES+= et_EE.UTF-8 +LOCALES+= fa_AF.UTF-8 +LOCALES+= fa_IR.UTF-8 LOCALES+= fi_FI.UTF-8 LOCALES+= fr_CA.UTF-8 LOCALES+= he_IL.UTF-8 LOCALES+= hi_IN.UTF-8 LOCALES+= hu_HU.UTF-8 LOCALES+= hy_AM.UTF-8 LOCALES+= is_IS.UTF-8 LOCALES+= ja_JP.UTF-8 LOCALES+= kk_KZ.UTF-8 LOCALES+= ko_KR.UTF-8 LOCALES+= lt_LT.UTF-8 LOCALES+= lv_LV.UTF-8 LOCALES+= nn_NO.UTF-8 LOCALES+= pl_PL.UTF-8 LOCALES+= ro_RO.UTF-8 LOCALES+= ru_RU.UTF-8 LOCALES+= se_NO.UTF-8 LOCALES+= sk_SK.UTF-8 LOCALES+= sl_SI.UTF-8 LOCALES+= sr_RS.UTF-8 LOCALES+= sr_RS.UTF-8@latin LOCALES+= sv_SE.UTF-8 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.UTF-8 LOCALES+= zh_CN.UTF-8 LOCALES+= zh_TW.UTF-8 LOCALES_MAPPED+= sr_RS.UTF-8@latin hr_HR.UTF-8 SAME+= ar_SA.UTF-8 ar_QA.UTF-8 SAME+= ar_SA.UTF-8 ar_MA.UTF-8 SAME+= ar_SA.UTF-8 ar_JO.UTF-8 SAME+= ar_SA.UTF-8 ar_EG.UTF-8 SAME+= ar_SA.UTF-8 ar_AE.UTF-8 SAME+= ru_RU.UTF-8 mn_MN.UTF-8 SAME+= ru_RU.UTF-8 bg_BG.UTF-8 SAME+= ca_AD.UTF-8 ca_IT.UTF-8 SAME+= ca_AD.UTF-8 ca_FR.UTF-8 SAME+= ca_AD.UTF-8 ca_ES.UTF-8 SAME+= en_US.UTF-8 pt_PT.UTF-8 SAME+= en_US.UTF-8 pt_BR.UTF-8 SAME+= en_US.UTF-8 nl_NL.UTF-8 SAME+= en_US.UTF-8 nl_BE.UTF-8 SAME+= en_US.UTF-8 it_IT.UTF-8 SAME+= en_US.UTF-8 it_CH.UTF-8 SAME+= en_US.UTF-8 ga_IE.UTF-8 SAME+= en_US.UTF-8 fr_FR.UTF-8 SAME+= en_US.UTF-8 fr_CH.UTF-8 SAME+= en_US.UTF-8 fr_BE.UTF-8 SAME+= en_US.UTF-8 eu_ES.UTF-8 SAME+= en_US.UTF-8 en_ZA.UTF-8 SAME+= en_US.UTF-8 en_SG.UTF-8 SAME+= en_US.UTF-8 en_PH.UTF-8 SAME+= en_US.UTF-8 en_NZ.UTF-8 SAME+= en_US.UTF-8 en_IE.UTF-8 SAME+= en_US.UTF-8 en_HK.UTF-8 SAME+= en_US.UTF-8 en_GB.UTF-8 SAME+= en_US.UTF-8 en_CA.UTF-8 SAME+= en_US.UTF-8 en_AU.UTF-8 SAME+= en_US.UTF-8 de_DE.UTF-8 SAME+= en_US.UTF-8 de_CH.UTF-8 SAME+= en_US.UTF-8 de_AT.UTF-8 SAME+= es_MX.UTF-8 es_ES.UTF-8 SAME+= es_MX.UTF-8 es_CR.UTF-8 SAME+= es_MX.UTF-8 es_AR.UTF-8 SAME+= nn_NO.UTF-8 nb_NO.UTF-8 SAME+= se_NO.UTF-8 se_FI.UTF-8 SAME+= sv_SE.UTF-8 sv_FI.UTF-8 SAME+= zh_TW.UTF-8 zh_HK.UTF-8 FILES= ${LOCALES:S/$/.LC_COLLATE/} CLEANFILES= ${FILES} .for f t in ${SAME} SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.LC_COLLATE= ${LOCALEDIR}/${f} .endfor .for f t in ${LOCALES_MAPPED} FILES+= $t.LC_COLLATE FILESDIR_$t.LC_COLLATE= ${LOCALEDIR}/$t $t.LC_COLLATE: ${.CURDIR}/$f.src localedef ${LOCALEDEF_ENDIAN} -D -U -i ${.ALLSRC} \ -V ${CLDR_VERSION} \ -f ${MAPLOC}/map.${.TARGET:T:R:E:C/@.*//} \ ${.OBJDIR}/${.TARGET:T:R} .endfor .include diff --git a/share/colldef_unicode/fa_AF.UTF-8.src b/share/colldef_unicode/fa_AF.UTF-8.src new file mode 100644 index 000000000000..bf0e001bd7d5 --- /dev/null +++ b/share/colldef_unicode/fa_AF.UTF-8.src @@ -0,0 +1,1901 @@ +# Warning: Do not edit. This file is automatically extracted from the +# tools in /usr/src/tools/tools/locale. The data is obtained from the +# CLDR project, obtained from http://cldr.unicode.org/ +# ----------------------------------------------------------------------------- +comment_char * +escape_char / +LC_COLLATE +************* + +collating-element from "" +collating-element from "" +collating-element from "" +collating-element from "" + + +* Define collation weights as symbols + +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol + +order_start forward;forward;forward;forward + + +* collation weights in order + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +* assignment of characters to weights + + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;"";""; + ;"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;"";""; + ;;; + ;;; + ;"";""; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;"";""; + ;"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;"";""; + ;"";""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; +

;;;

+

;;;

;;;

+

;;;

+ ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; +UNDEFINED IGNORE;IGNORE;IGNORE;... + +order_end + +END LC_COLLATE diff --git a/share/ctypedef/Makefile b/share/ctypedef/Makefile index 4272b4de4f50..da580d72c32f 100644 --- a/share/ctypedef/Makefile +++ b/share/ctypedef/Makefile @@ -1,249 +1,251 @@ # $FreeBSD$ LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_CTYPE .SUFFIXES: .src .LC_CTYPE MAPLOC= ${.CURDIR}/../../tools/tools/locale/etc/final-maps .include .include .src.LC_CTYPE: localedef ${LOCALEDEF_ENDIAN} -D -U -c -w ${MAPLOC}/widths.txt \ -f ${MAPLOC}/map.${.IMPSRC:T:R:E} \ -i ${.IMPSRC} ${.OBJDIR}/${.IMPSRC:T:R} || true LOCALES+= C.UTF-8 .if ${MK_LOCALES} != no LOCALES+= be_BY.CP1131 LOCALES+= ca_IT.ISO8859-1 LOCALES+= ca_IT.ISO8859-15 LOCALES+= el_GR.ISO8859-7 LOCALES+= en_US.ISO8859-1 LOCALES+= en_US.ISO8859-15 LOCALES+= en_US.US-ASCII LOCALES+= hi_IN.ISCII-DEV LOCALES+= hy_AM.ARMSCII-8 LOCALES+= ja_JP.SJIS LOCALES+= ja_JP.eucJP LOCALES+= ko_KR.eucKR LOCALES+= lv_LV.ISO8859-13 LOCALES+= ru_RU.CP1251 LOCALES+= ru_RU.CP866 LOCALES+= ru_RU.ISO8859-5 LOCALES+= ru_RU.KOI8-R LOCALES+= sr_RS.ISO8859-2 LOCALES+= tr_TR.ISO8859-9 LOCALES+= uk_UA.CP1251 LOCALES+= uk_UA.ISO8859-5 LOCALES+= uk_UA.KOI8-U LOCALES+= zh_CN.GB18030 LOCALES+= zh_CN.GB2312 LOCALES+= zh_CN.GBK LOCALES+= zh_CN.eucCN LOCALES+= zh_TW.Big5 SAME+= C.UTF-8 en_US.UTF-8 SAME+= C.UTF-8 ru_RU.UTF-8 SAME+= C.UTF-8 zh_TW.UTF-8 SAME+= C.UTF-8 zh_HK.UTF-8 SAME+= C.UTF-8 zh_CN.UTF-8 SAME+= C.UTF-8 uk_UA.UTF-8 SAME+= C.UTF-8 tr_TR.UTF-8 SAME+= C.UTF-8 sv_SE.UTF-8 SAME+= C.UTF-8 sv_FI.UTF-8 SAME+= C.UTF-8 sr_RS.UTF-8@latin SAME+= C.UTF-8 sr_RS.UTF-8 SAME+= C.UTF-8 sl_SI.UTF-8 SAME+= C.UTF-8 sk_SK.UTF-8 SAME+= C.UTF-8 se_NO.UTF-8 SAME+= C.UTF-8 se_FI.UTF-8 SAME+= C.UTF-8 ro_RO.UTF-8 SAME+= C.UTF-8 pt_PT.UTF-8 SAME+= C.UTF-8 pt_BR.UTF-8 SAME+= C.UTF-8 pl_PL.UTF-8 SAME+= C.UTF-8 nn_NO.UTF-8 SAME+= C.UTF-8 nl_NL.UTF-8 SAME+= C.UTF-8 nl_BE.UTF-8 SAME+= C.UTF-8 nb_NO.UTF-8 SAME+= C.UTF-8 mn_MN.UTF-8 SAME+= C.UTF-8 lv_LV.UTF-8 SAME+= C.UTF-8 lt_LT.UTF-8 SAME+= C.UTF-8 ko_KR.UTF-8 SAME+= C.UTF-8 kk_KZ.UTF-8 SAME+= C.UTF-8 ja_JP.UTF-8 SAME+= C.UTF-8 it_IT.UTF-8 SAME+= C.UTF-8 it_CH.UTF-8 SAME+= C.UTF-8 is_IS.UTF-8 SAME+= C.UTF-8 hy_AM.UTF-8 SAME+= C.UTF-8 hu_HU.UTF-8 SAME+= C.UTF-8 hr_HR.UTF-8 SAME+= C.UTF-8 hi_IN.UTF-8 SAME+= C.UTF-8 he_IL.UTF-8 SAME+= C.UTF-8 ga_IE.UTF-8 +SAME+= C.UTF-8 fa_AF.UTF-8 +SAME+= C.UTF-8 fa_IR.UTF-8 SAME+= C.UTF-8 fr_FR.UTF-8 SAME+= C.UTF-8 fr_CH.UTF-8 SAME+= C.UTF-8 fr_CA.UTF-8 SAME+= C.UTF-8 fr_BE.UTF-8 SAME+= C.UTF-8 fi_FI.UTF-8 SAME+= C.UTF-8 eu_ES.UTF-8 SAME+= C.UTF-8 et_EE.UTF-8 SAME+= C.UTF-8 es_MX.UTF-8 SAME+= C.UTF-8 es_ES.UTF-8 SAME+= C.UTF-8 es_CR.UTF-8 SAME+= C.UTF-8 es_AR.UTF-8 SAME+= C.UTF-8 en_ZA.UTF-8 SAME+= C.UTF-8 en_SG.UTF-8 SAME+= C.UTF-8 en_PH.UTF-8 SAME+= C.UTF-8 en_NZ.UTF-8 SAME+= C.UTF-8 en_IE.UTF-8 SAME+= C.UTF-8 en_HK.UTF-8 SAME+= C.UTF-8 en_GB.UTF-8 SAME+= C.UTF-8 en_CA.UTF-8 SAME+= C.UTF-8 en_AU.UTF-8 SAME+= C.UTF-8 el_GR.UTF-8 SAME+= C.UTF-8 de_DE.UTF-8 SAME+= C.UTF-8 de_CH.UTF-8 SAME+= C.UTF-8 de_AT.UTF-8 SAME+= C.UTF-8 da_DK.UTF-8 SAME+= C.UTF-8 cs_CZ.UTF-8 SAME+= C.UTF-8 ca_IT.UTF-8 SAME+= C.UTF-8 ca_FR.UTF-8 SAME+= C.UTF-8 ca_ES.UTF-8 SAME+= C.UTF-8 ca_AD.UTF-8 SAME+= C.UTF-8 bg_BG.UTF-8 SAME+= C.UTF-8 be_BY.UTF-8 SAME+= C.UTF-8 ar_SA.UTF-8 SAME+= C.UTF-8 ar_QA.UTF-8 SAME+= C.UTF-8 ar_MA.UTF-8 SAME+= C.UTF-8 ar_JO.UTF-8 SAME+= C.UTF-8 ar_EG.UTF-8 SAME+= C.UTF-8 ar_AE.UTF-8 SAME+= C.UTF-8 am_ET.UTF-8 SAME+= C.UTF-8 af_ZA.UTF-8 SAME+= en_US.ISO8859-1 sv_SE.ISO8859-1 SAME+= en_US.ISO8859-1 sv_FI.ISO8859-1 SAME+= en_US.ISO8859-1 pt_PT.ISO8859-1 SAME+= en_US.ISO8859-1 pt_BR.ISO8859-1 SAME+= en_US.ISO8859-1 nn_NO.ISO8859-1 SAME+= en_US.ISO8859-1 nl_NL.ISO8859-1 SAME+= en_US.ISO8859-1 nl_BE.ISO8859-1 SAME+= en_US.ISO8859-1 nb_NO.ISO8859-1 SAME+= en_US.ISO8859-1 it_IT.ISO8859-1 SAME+= en_US.ISO8859-1 it_CH.ISO8859-1 SAME+= en_US.ISO8859-1 is_IS.ISO8859-1 SAME+= en_US.ISO8859-1 fr_FR.ISO8859-1 SAME+= en_US.ISO8859-1 fr_CH.ISO8859-1 SAME+= en_US.ISO8859-1 fr_CA.ISO8859-1 SAME+= en_US.ISO8859-1 fr_BE.ISO8859-1 SAME+= en_US.ISO8859-1 fi_FI.ISO8859-1 SAME+= en_US.ISO8859-1 eu_ES.ISO8859-1 SAME+= en_US.ISO8859-1 et_EE.ISO8859-1 SAME+= en_US.ISO8859-1 es_MX.ISO8859-1 SAME+= en_US.ISO8859-1 es_ES.ISO8859-1 SAME+= en_US.ISO8859-1 es_AR.ISO8859-1 SAME+= en_US.ISO8859-1 en_ZA.ISO8859-1 SAME+= en_US.ISO8859-1 en_SG.ISO8859-1 SAME+= en_US.ISO8859-1 en_NZ.ISO8859-1 SAME+= en_US.ISO8859-1 en_IE.ISO8859-1 SAME+= en_US.ISO8859-1 en_HK.ISO8859-1 SAME+= en_US.ISO8859-1 en_GB.ISO8859-1 SAME+= en_US.ISO8859-1 en_CA.ISO8859-1 SAME+= en_US.ISO8859-1 en_AU.ISO8859-1 SAME+= en_US.ISO8859-1 de_DE.ISO8859-1 SAME+= en_US.ISO8859-1 de_CH.ISO8859-1 SAME+= en_US.ISO8859-1 de_AT.ISO8859-1 SAME+= en_US.ISO8859-1 da_DK.ISO8859-1 SAME+= en_US.ISO8859-1 af_ZA.ISO8859-1 SAME+= en_US.ISO8859-15 en_GB.ISO8859-15 SAME+= en_US.ISO8859-15 sv_SE.ISO8859-15 SAME+= en_US.ISO8859-15 sv_FI.ISO8859-15 SAME+= en_US.ISO8859-15 pt_PT.ISO8859-15 SAME+= en_US.ISO8859-15 nn_NO.ISO8859-15 SAME+= en_US.ISO8859-15 nl_NL.ISO8859-15 SAME+= en_US.ISO8859-15 nl_BE.ISO8859-15 SAME+= en_US.ISO8859-15 nb_NO.ISO8859-15 SAME+= en_US.ISO8859-15 it_IT.ISO8859-15 SAME+= en_US.ISO8859-15 it_CH.ISO8859-15 SAME+= en_US.ISO8859-15 is_IS.ISO8859-15 SAME+= en_US.ISO8859-15 fr_FR.ISO8859-15 SAME+= en_US.ISO8859-15 fr_CH.ISO8859-15 SAME+= en_US.ISO8859-15 fr_CA.ISO8859-15 SAME+= en_US.ISO8859-15 fr_BE.ISO8859-15 SAME+= en_US.ISO8859-15 fi_FI.ISO8859-15 SAME+= en_US.ISO8859-15 eu_ES.ISO8859-15 SAME+= en_US.ISO8859-15 et_EE.ISO8859-15 SAME+= en_US.ISO8859-15 es_ES.ISO8859-15 SAME+= en_US.ISO8859-15 en_ZA.ISO8859-15 SAME+= en_US.ISO8859-15 en_NZ.ISO8859-15 SAME+= en_US.ISO8859-15 en_IE.ISO8859-15 SAME+= en_US.ISO8859-15 en_CA.ISO8859-15 SAME+= en_US.ISO8859-15 en_AU.ISO8859-15 SAME+= en_US.ISO8859-15 de_DE.ISO8859-15 SAME+= en_US.ISO8859-15 de_CH.ISO8859-15 SAME+= en_US.ISO8859-15 de_AT.ISO8859-15 SAME+= en_US.ISO8859-15 da_DK.ISO8859-15 SAME+= en_US.ISO8859-15 af_ZA.ISO8859-15 SAME+= ru_RU.CP1251 bg_BG.CP1251 SAME+= ru_RU.CP1251 be_BY.CP1251 SAME+= ru_RU.ISO8859-5 sr_RS.ISO8859-5 SAME+= ru_RU.ISO8859-5 be_BY.ISO8859-5 SAME+= ca_IT.ISO8859-1 ca_FR.ISO8859-1 SAME+= ca_IT.ISO8859-1 ca_ES.ISO8859-1 SAME+= ca_IT.ISO8859-1 ca_AD.ISO8859-1 SAME+= ca_IT.ISO8859-15 ca_FR.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_ES.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_AD.ISO8859-15 SAME+= sr_RS.ISO8859-2 sl_SI.ISO8859-2 SAME+= sr_RS.ISO8859-2 sk_SK.ISO8859-2 SAME+= sr_RS.ISO8859-2 ro_RO.ISO8859-2 SAME+= sr_RS.ISO8859-2 pl_PL.ISO8859-2 SAME+= sr_RS.ISO8859-2 hu_HU.ISO8859-2 SAME+= sr_RS.ISO8859-2 hr_HR.ISO8859-2 SAME+= sr_RS.ISO8859-2 cs_CZ.ISO8859-2 SAME+= en_US.US-ASCII en_ZA.US-ASCII SAME+= en_US.US-ASCII en_NZ.US-ASCII SAME+= en_US.US-ASCII en_GB.US-ASCII SAME+= en_US.US-ASCII en_CA.US-ASCII SAME+= en_US.US-ASCII en_AU.US-ASCII SAME+= lv_LV.ISO8859-13 lt_LT.ISO8859-13 SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) .endif FILES= ${LOCALES:S/$/.LC_CTYPE/} CLEANFILES= ${FILES} .for f t in ${SAME} SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.LC_CTYPE= ${LOCALEDIR}/${f} .endfor SYMPAIRS+= zh_CN.eucCN.src zh_CN.GB18030.src SYMPAIRS+= zh_CN.eucCN.src zh_CN.GB2312.src SYMPAIRS+= zh_CN.eucCN.src zh_CN.GBK.src SYMPAIRS+= en_US.ISO8859-1.src en_US.ISO8859-15.src SYMPAIRS+= en_US.ISO8859-1.src en_US.US-ASCII.src SYMPAIRS+= en_US.ISO8859-1.src lv_LV.ISO8859-13.src SYMPAIRS+= en_US.ISO8859-1.src sr_RS.ISO8859-2.src SYMPAIRS+= en_US.ISO8859-1.src tr_TR.ISO8859-9.src SYMPAIRS+= ca_IT.ISO8859-1.src ca_IT.ISO8859-15.src SYMPAIRS+= uk_UA.CP1251.src uk_UA.ISO8859-5.src SYMPAIRS+= uk_UA.CP1251.src uk_UA.KOI8-U.src SYMPAIRS+= ja_JP.eucJP.src ja_JP.SJIS.src SYMPAIRS+= be_BY.CP1131.src ru_RU.CP1251.src SYMPAIRS+= be_BY.CP1131.src ru_RU.CP866.src SYMPAIRS+= be_BY.CP1131.src ru_RU.ISO8859-5.src SYMPAIRS+= be_BY.CP1131.src ru_RU.KOI8-R.src .for s t in ${SYMPAIRS} ${t:S/src$/LC_CTYPE/}: $s localedef ${LOCALEDEF_ENDIAN} -D -U -c -w ${MAPLOC}/widths.txt \ -f ${MAPLOC}/map.${.TARGET:T:R:C/^.*\.//} \ -i ${.ALLSRC} ${.OBJDIR}/${.TARGET:T:R} || true .endfor .include diff --git a/share/monetdef_unicode/Makefile b/share/monetdef_unicode/Makefile index c1b6f7320b2e..6eaab4f0ad94 100644 --- a/share/monetdef_unicode/Makefile +++ b/share/monetdef_unicode/Makefile @@ -1,106 +1,108 @@ # $FreeBSD$ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_MONETARY .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= am_ET.UTF-8 LOCALES+= ar_AE.UTF-8 LOCALES+= ar_EG.UTF-8 LOCALES+= ar_JO.UTF-8 LOCALES+= ar_MA.UTF-8 LOCALES+= ar_QA.UTF-8 LOCALES+= ar_SA.UTF-8 LOCALES+= be_BY.UTF-8 LOCALES+= bg_BG.UTF-8 LOCALES+= cs_CZ.UTF-8 LOCALES+= da_DK.UTF-8 LOCALES+= de_AT.UTF-8 LOCALES+= en_AU.UTF-8 LOCALES+= en_CA.UTF-8 LOCALES+= en_GB.UTF-8 LOCALES+= en_NZ.UTF-8 LOCALES+= en_PH.UTF-8 LOCALES+= en_SG.UTF-8 LOCALES+= en_US.UTF-8 LOCALES+= en_ZA.UTF-8 LOCALES+= es_AR.UTF-8 LOCALES+= es_CR.UTF-8 LOCALES+= es_MX.UTF-8 +LOCALES+= fa_AF.UTF-8 +LOCALES+= fa_IR.UTF-8 LOCALES+= fr_CA.UTF-8 LOCALES+= fr_CH.UTF-8 LOCALES+= fr_FR.UTF-8 LOCALES+= ga_IE.UTF-8 LOCALES+= he_IL.UTF-8 LOCALES+= hi_IN.UTF-8 LOCALES+= hr_HR.UTF-8 LOCALES+= hu_HU.UTF-8 LOCALES+= hy_AM.UTF-8 LOCALES+= is_IS.UTF-8 LOCALES+= it_CH.UTF-8 LOCALES+= it_IT.UTF-8 LOCALES+= ja_JP.UTF-8 LOCALES+= kk_KZ.UTF-8 LOCALES+= ko_KR.UTF-8 LOCALES+= mn_MN.UTF-8 LOCALES+= nb_NO.UTF-8 LOCALES+= nl_NL.UTF-8 LOCALES+= pl_PL.UTF-8 LOCALES+= pt_BR.UTF-8 LOCALES+= ro_RO.UTF-8 LOCALES+= ru_RU.UTF-8 LOCALES+= se_NO.UTF-8 LOCALES+= sk_SK.UTF-8 LOCALES+= sl_SI.UTF-8 LOCALES+= sr_RS.UTF-8@latin LOCALES+= sv_FI.UTF-8 LOCALES+= sv_SE.UTF-8 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.UTF-8 LOCALES+= zh_CN.UTF-8 LOCALES+= zh_HK.UTF-8 LOCALES+= zh_TW.UTF-8 SAME+= en_ZA.UTF-8 af_ZA.UTF-8 SAME+= it_IT.UTF-8 es_ES.UTF-8 SAME+= it_IT.UTF-8 el_GR.UTF-8 SAME+= it_IT.UTF-8 de_DE.UTF-8 SAME+= it_IT.UTF-8 ca_IT.UTF-8 SAME+= it_IT.UTF-8 ca_FR.UTF-8 SAME+= it_IT.UTF-8 ca_ES.UTF-8 SAME+= it_IT.UTF-8 ca_AD.UTF-8 SAME+= it_CH.UTF-8 de_CH.UTF-8 SAME+= zh_HK.UTF-8 en_HK.UTF-8 SAME+= ga_IE.UTF-8 en_IE.UTF-8 SAME+= sv_FI.UTF-8 se_FI.UTF-8 SAME+= sv_FI.UTF-8 lt_LT.UTF-8 SAME+= sv_FI.UTF-8 fi_FI.UTF-8 SAME+= sv_FI.UTF-8 et_EE.UTF-8 SAME+= sl_SI.UTF-8 eu_ES.UTF-8 SAME+= fr_FR.UTF-8 fr_BE.UTF-8 SAME+= sk_SK.UTF-8 pt_PT.UTF-8 SAME+= sk_SK.UTF-8 lv_LV.UTF-8 SAME+= nl_NL.UTF-8 nl_BE.UTF-8 SAME+= se_NO.UTF-8 nn_NO.UTF-8 SAME+= sr_RS.UTF-8@latin sr_RS.UTF-8 FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/monetdef_unicode/fa_AF.UTF-8.src b/share/monetdef_unicode/fa_AF.UTF-8.src new file mode 100644 index 000000000000..ebacd5af9ac1 --- /dev/null +++ b/share/monetdef_unicode/fa_AF.UTF-8.src @@ -0,0 +1,50 @@ +# Warning: Do not edit. This file is automatically generated from the +# tools in /usr/src/tools/tools/locale. The data is obtained from the +# CLDR project, obtained from http://cldr.unicode.org/ +# ----------------------------------------------------------------------------- +# +# int_curr_symbol (last character always SPACE) +AFN +# +# currency_symbol +؋ +# +# mon_decimal_point +٫ +# +# mon_thousands_sep +٬ +# +# mon_grouping +3 +# +# positive_sign + +# +# negative_sign +‎− +# +# int_frac_digits +0 +# +# frac_digits +0 +# +# p_cs_precedes +1 +# +# p_sep_by_space +1 +# +# n_cs_precedes +1 +# +# n_sep_by_space +1 +# +# p_sign_posn +1 +# +# n_sign_posn +1 +# EOF diff --git a/share/monetdef_unicode/fa_IR.UTF-8.src b/share/monetdef_unicode/fa_IR.UTF-8.src new file mode 100644 index 000000000000..1908331aeca1 --- /dev/null +++ b/share/monetdef_unicode/fa_IR.UTF-8.src @@ -0,0 +1,50 @@ +# Warning: Do not edit. This file is automatically generated from the +# tools in /usr/src/tools/tools/locale. The data is obtained from the +# CLDR project, obtained from http://cldr.unicode.org/ +# ----------------------------------------------------------------------------- +# +# int_curr_symbol (last character always SPACE) +IRR +# +# currency_symbol +ریال +# +# mon_decimal_point +٫ +# +# mon_thousands_sep +٬ +# +# mon_grouping +3 +# +# positive_sign + +# +# negative_sign +‎− +# +# int_frac_digits +0 +# +# frac_digits +0 +# +# p_cs_precedes +1 +# +# p_sep_by_space +1 +# +# n_cs_precedes +1 +# +# n_sep_by_space +1 +# +# p_sign_posn +1 +# +# n_sign_posn +1 +# EOF diff --git a/share/msgdef_unicode/Makefile b/share/msgdef_unicode/Makefile index 27c70f88f6e7..3f14010b9fa8 100644 --- a/share/msgdef_unicode/Makefile +++ b/share/msgdef_unicode/Makefile @@ -1,106 +1,108 @@ # $FreeBSD$ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_MESSAGES .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= am_ET.UTF-8 LOCALES+= ar_SA.UTF-8 LOCALES+= be_BY.UTF-8 LOCALES+= cs_CZ.UTF-8 LOCALES+= de_DE.UTF-8 LOCALES+= el_GR.UTF-8 LOCALES+= en_US.UTF-8 LOCALES+= es_MX.UTF-8 LOCALES+= et_EE.UTF-8 LOCALES+= eu_ES.UTF-8 +LOCALES+= fa_IR.UTF-8 LOCALES+= fi_FI.UTF-8 LOCALES+= fr_FR.UTF-8 LOCALES+= ga_IE.UTF-8 LOCALES+= he_IL.UTF-8 LOCALES+= hi_IN.UTF-8 LOCALES+= hu_HU.UTF-8 LOCALES+= hy_AM.UTF-8 LOCALES+= is_IS.UTF-8 LOCALES+= it_IT.UTF-8 LOCALES+= ja_JP.UTF-8 LOCALES+= kk_KZ.UTF-8 LOCALES+= ko_KR.UTF-8 LOCALES+= lt_LT.UTF-8 LOCALES+= lv_LV.UTF-8 LOCALES+= mn_MN.UTF-8 LOCALES+= nb_NO.UTF-8 LOCALES+= nl_NL.UTF-8 LOCALES+= nn_NO.UTF-8 LOCALES+= pl_PL.UTF-8 LOCALES+= pt_PT.UTF-8 LOCALES+= ro_RO.UTF-8 LOCALES+= ru_RU.UTF-8 LOCALES+= se_NO.UTF-8 LOCALES+= sk_SK.UTF-8 LOCALES+= sr_RS.UTF-8 LOCALES+= sr_RS.UTF-8@latin LOCALES+= sv_SE.UTF-8 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.UTF-8 LOCALES+= zh_CN.UTF-8 LOCALES+= zh_TW.UTF-8 SAME+= nl_NL.UTF-8 nl_BE.UTF-8 SAME+= nl_NL.UTF-8 af_ZA.UTF-8 SAME+= ar_SA.UTF-8 ar_QA.UTF-8 SAME+= ar_SA.UTF-8 ar_MA.UTF-8 SAME+= ar_SA.UTF-8 ar_JO.UTF-8 SAME+= ar_SA.UTF-8 ar_EG.UTF-8 SAME+= ar_SA.UTF-8 ar_AE.UTF-8 SAME+= sr_RS.UTF-8 bg_BG.UTF-8 SAME+= es_MX.UTF-8 es_ES.UTF-8 SAME+= es_MX.UTF-8 es_CR.UTF-8 SAME+= es_MX.UTF-8 es_AR.UTF-8 SAME+= es_MX.UTF-8 ca_IT.UTF-8 SAME+= es_MX.UTF-8 ca_FR.UTF-8 SAME+= es_MX.UTF-8 ca_ES.UTF-8 SAME+= es_MX.UTF-8 ca_AD.UTF-8 SAME+= sv_SE.UTF-8 sv_FI.UTF-8 SAME+= sv_SE.UTF-8 da_DK.UTF-8 SAME+= de_DE.UTF-8 de_CH.UTF-8 SAME+= de_DE.UTF-8 de_AT.UTF-8 SAME+= en_US.UTF-8 en_ZA.UTF-8 SAME+= en_US.UTF-8 en_SG.UTF-8 SAME+= en_US.UTF-8 en_PH.UTF-8 SAME+= en_US.UTF-8 en_NZ.UTF-8 SAME+= en_US.UTF-8 en_IE.UTF-8 SAME+= en_US.UTF-8 en_HK.UTF-8 SAME+= en_US.UTF-8 en_GB.UTF-8 SAME+= en_US.UTF-8 en_CA.UTF-8 SAME+= en_US.UTF-8 en_AU.UTF-8 +SAME+= fa_IR.UTF-8 fa_AF.UTF-8 SAME+= fr_FR.UTF-8 fr_CH.UTF-8 SAME+= fr_FR.UTF-8 fr_CA.UTF-8 SAME+= fr_FR.UTF-8 fr_BE.UTF-8 SAME+= sr_RS.UTF-8@latin sl_SI.UTF-8 SAME+= sr_RS.UTF-8@latin hr_HR.UTF-8 SAME+= it_IT.UTF-8 it_CH.UTF-8 SAME+= pt_PT.UTF-8 pt_BR.UTF-8 SAME+= se_NO.UTF-8 se_FI.UTF-8 SAME+= zh_TW.UTF-8 zh_HK.UTF-8 FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/numericdef_unicode/ar_SA.UTF-8.src b/share/msgdef_unicode/fa_IR.UTF-8.src similarity index 58% copy from share/numericdef_unicode/ar_SA.UTF-8.src copy to share/msgdef_unicode/fa_IR.UTF-8.src index c5c4f4430cce..414ceeb9dd99 100644 --- a/share/numericdef_unicode/ar_SA.UTF-8.src +++ b/share/msgdef_unicode/fa_IR.UTF-8.src @@ -1,14 +1,17 @@ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. The data is obtained from the # CLDR project, obtained from http://cldr.unicode.org/ # ----------------------------------------------------------------------------- # -# decimal_point -٫ +# yesexpr +^((بله)|(ب)|(آری)|(آ)|([yY]([eE][sS])?)|([yY])) # -# thousands_sep -٬ +# noexpr +^((نه)|(ن)|(خیر)|(خ)|([nN]([oO])?)|([nN])) # -# grouping -3 +# yesstr +بله:ب:آری:آ:yes:y:YES:Y +# +# nostr +نه:ن:خیر:خ:no:n:NO:N # EOF diff --git a/share/numericdef_unicode/Makefile b/share/numericdef_unicode/Makefile index 9ca3be3a883a..c7568a4177fb 100644 --- a/share/numericdef_unicode/Makefile +++ b/share/numericdef_unicode/Makefile @@ -1,106 +1,108 @@ # $FreeBSD$ # Warning: Do not edit. This file is automatically generated from the # tools in /usr/src/tools/tools/locale. LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_NUMERIC .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} -LOCALES+= ar_SA.UTF-8 LOCALES+= en_US.UTF-8 +LOCALES+= fa_IR.UTF-8 LOCALES+= fr_FR.UTF-8 LOCALES+= hi_IN.UTF-8 LOCALES+= it_CH.UTF-8 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.UTF-8 SAME+= uk_UA.UTF-8 sv_SE.UTF-8 SAME+= uk_UA.UTF-8 sv_FI.UTF-8 SAME+= uk_UA.UTF-8 sk_SK.UTF-8 SAME+= uk_UA.UTF-8 se_NO.UTF-8 SAME+= uk_UA.UTF-8 se_FI.UTF-8 SAME+= uk_UA.UTF-8 ru_RU.UTF-8 SAME+= uk_UA.UTF-8 pt_PT.UTF-8 SAME+= uk_UA.UTF-8 pl_PL.UTF-8 SAME+= uk_UA.UTF-8 nn_NO.UTF-8 SAME+= uk_UA.UTF-8 nb_NO.UTF-8 SAME+= uk_UA.UTF-8 lv_LV.UTF-8 SAME+= uk_UA.UTF-8 lt_LT.UTF-8 SAME+= uk_UA.UTF-8 kk_KZ.UTF-8 SAME+= uk_UA.UTF-8 hy_AM.UTF-8 SAME+= uk_UA.UTF-8 hu_HU.UTF-8 SAME+= uk_UA.UTF-8 fr_CA.UTF-8 SAME+= uk_UA.UTF-8 fi_FI.UTF-8 SAME+= uk_UA.UTF-8 et_EE.UTF-8 SAME+= uk_UA.UTF-8 es_CR.UTF-8 SAME+= uk_UA.UTF-8 en_ZA.UTF-8 SAME+= uk_UA.UTF-8 de_AT.UTF-8 SAME+= uk_UA.UTF-8 cs_CZ.UTF-8 SAME+= uk_UA.UTF-8 bg_BG.UTF-8 SAME+= uk_UA.UTF-8 be_BY.UTF-8 SAME+= uk_UA.UTF-8 af_ZA.UTF-8 SAME+= en_US.UTF-8 zh_TW.UTF-8 SAME+= en_US.UTF-8 zh_HK.UTF-8 SAME+= en_US.UTF-8 zh_CN.UTF-8 SAME+= en_US.UTF-8 mn_MN.UTF-8 SAME+= en_US.UTF-8 ko_KR.UTF-8 SAME+= en_US.UTF-8 ja_JP.UTF-8 SAME+= en_US.UTF-8 he_IL.UTF-8 SAME+= en_US.UTF-8 ga_IE.UTF-8 SAME+= en_US.UTF-8 es_MX.UTF-8 SAME+= en_US.UTF-8 en_SG.UTF-8 SAME+= en_US.UTF-8 en_PH.UTF-8 SAME+= en_US.UTF-8 en_NZ.UTF-8 SAME+= en_US.UTF-8 en_IE.UTF-8 SAME+= en_US.UTF-8 en_HK.UTF-8 SAME+= en_US.UTF-8 en_GB.UTF-8 SAME+= en_US.UTF-8 en_CA.UTF-8 SAME+= en_US.UTF-8 en_AU.UTF-8 SAME+= en_US.UTF-8 am_ET.UTF-8 -SAME+= ar_SA.UTF-8 ar_QA.UTF-8 -SAME+= ar_SA.UTF-8 ar_JO.UTF-8 -SAME+= ar_SA.UTF-8 ar_EG.UTF-8 -SAME+= ar_SA.UTF-8 ar_AE.UTF-8 +SAME+= fa_IR.UTF-8 fa_AF.UTF-8 +SAME+= fa_IR.UTF-8 ar_SA.UTF-8 +SAME+= fa_IR.UTF-8 ar_QA.UTF-8 +SAME+= fa_IR.UTF-8 ar_JO.UTF-8 +SAME+= fa_IR.UTF-8 ar_EG.UTF-8 +SAME+= fa_IR.UTF-8 ar_AE.UTF-8 SAME+= tr_TR.UTF-8 sr_RS.UTF-8@latin SAME+= tr_TR.UTF-8 sr_RS.UTF-8 SAME+= tr_TR.UTF-8 sl_SI.UTF-8 SAME+= tr_TR.UTF-8 ro_RO.UTF-8 SAME+= tr_TR.UTF-8 pt_BR.UTF-8 SAME+= tr_TR.UTF-8 nl_NL.UTF-8 SAME+= tr_TR.UTF-8 nl_BE.UTF-8 SAME+= tr_TR.UTF-8 it_IT.UTF-8 SAME+= tr_TR.UTF-8 is_IS.UTF-8 SAME+= tr_TR.UTF-8 hr_HR.UTF-8 SAME+= tr_TR.UTF-8 eu_ES.UTF-8 SAME+= tr_TR.UTF-8 es_ES.UTF-8 SAME+= tr_TR.UTF-8 es_AR.UTF-8 SAME+= tr_TR.UTF-8 el_GR.UTF-8 SAME+= tr_TR.UTF-8 de_DE.UTF-8 SAME+= tr_TR.UTF-8 da_DK.UTF-8 SAME+= tr_TR.UTF-8 ca_IT.UTF-8 SAME+= tr_TR.UTF-8 ca_FR.UTF-8 SAME+= tr_TR.UTF-8 ca_ES.UTF-8 SAME+= tr_TR.UTF-8 ca_AD.UTF-8 SAME+= tr_TR.UTF-8 ar_MA.UTF-8 SAME+= it_CH.UTF-8 de_CH.UTF-8 SAME+= fr_FR.UTF-8 fr_CH.UTF-8 SAME+= fr_FR.UTF-8 fr_BE.UTF-8 FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/numericdef_unicode/ar_SA.UTF-8.src b/share/numericdef_unicode/fa_IR.UTF-8.src similarity index 100% rename from share/numericdef_unicode/ar_SA.UTF-8.src rename to share/numericdef_unicode/fa_IR.UTF-8.src diff --git a/share/timedef/Makefile b/share/timedef/Makefile index 1e05986f1818..042f2f0e36f0 100644 --- a/share/timedef/Makefile +++ b/share/timedef/Makefile @@ -1,218 +1,220 @@ # $FreeBSD$ LOCALEDIR= ${SHAREDIR}/locale FILESNAME= LC_TIME .SUFFIXES: .src .out .src.out: grep -v -E '^(#$$|#[ ])' < ${.IMPSRC} > ${.TARGET} LOCALES+= af_ZA.UTF-8 LOCALES+= am_ET.UTF-8 LOCALES+= ar_JO.UTF-8 LOCALES+= ar_MA.UTF-8 LOCALES+= ar_SA.UTF-8 LOCALES+= be_BY.CP1131 LOCALES+= be_BY.CP1251 LOCALES+= be_BY.ISO8859-5 LOCALES+= be_BY.UTF-8 LOCALES+= bg_BG.CP1251 LOCALES+= bg_BG.UTF-8 LOCALES+= ca_IT.ISO8859-15 LOCALES+= ca_IT.UTF-8 LOCALES+= cs_CZ.ISO8859-2 LOCALES+= cs_CZ.UTF-8 LOCALES+= da_DK.ISO8859-15 LOCALES+= da_DK.UTF-8 LOCALES+= de_AT.ISO8859-15 LOCALES+= de_AT.UTF-8 LOCALES+= de_DE.ISO8859-15 LOCALES+= de_DE.UTF-8 LOCALES+= el_GR.ISO8859-7 LOCALES+= el_GR.UTF-8 LOCALES+= en_CA.UTF-8 LOCALES+= en_GB.UTF-8 LOCALES+= en_IE.UTF-8 LOCALES+= en_PH.UTF-8 LOCALES+= en_SG.UTF-8 LOCALES+= en_US.UTF-8 LOCALES+= en_ZA.UTF-8 LOCALES+= es_AR.ISO8859-1 LOCALES+= es_CR.UTF-8 LOCALES+= es_ES.ISO8859-15 LOCALES+= es_ES.UTF-8 LOCALES+= es_MX.ISO8859-1 LOCALES+= es_MX.UTF-8 LOCALES+= et_EE.ISO8859-15 LOCALES+= et_EE.UTF-8 LOCALES+= eu_ES.UTF-8 +LOCALES+= fa_AF.UTF-8 +LOCALES+= fa_IR.UTF-8 LOCALES+= fi_FI.ISO8859-15 LOCALES+= fi_FI.UTF-8 LOCALES+= fr_BE.ISO8859-15 LOCALES+= fr_BE.UTF-8 LOCALES+= fr_CA.ISO8859-15 LOCALES+= fr_CA.UTF-8 LOCALES+= fr_CH.ISO8859-15 LOCALES+= fr_CH.UTF-8 LOCALES+= fr_FR.ISO8859-15 LOCALES+= fr_FR.UTF-8 LOCALES+= ga_IE.UTF-8 LOCALES+= he_IL.UTF-8 LOCALES+= hi_IN.ISCII-DEV LOCALES+= hi_IN.UTF-8 LOCALES+= hr_HR.ISO8859-2 LOCALES+= hr_HR.UTF-8 LOCALES+= hu_HU.ISO8859-2 LOCALES+= hu_HU.UTF-8 LOCALES+= hy_AM.ARMSCII-8 LOCALES+= hy_AM.UTF-8 LOCALES+= is_IS.ISO8859-15 LOCALES+= is_IS.UTF-8 LOCALES+= it_CH.ISO8859-15 LOCALES+= it_CH.UTF-8 LOCALES+= it_IT.ISO8859-15 LOCALES+= it_IT.UTF-8 LOCALES+= ja_JP.SJIS LOCALES+= ja_JP.UTF-8 LOCALES+= ja_JP.eucJP LOCALES+= kk_KZ.UTF-8 LOCALES+= ko_KR.UTF-8 LOCALES+= ko_KR.eucKR LOCALES+= lt_LT.ISO8859-13 LOCALES+= lt_LT.UTF-8 LOCALES+= lv_LV.ISO8859-13 LOCALES+= lv_LV.UTF-8 LOCALES+= mn_MN.UTF-8 LOCALES+= nb_NO.ISO8859-15 LOCALES+= nb_NO.UTF-8 LOCALES+= nl_BE.UTF-8 LOCALES+= nl_NL.UTF-8 LOCALES+= nn_NO.ISO8859-15 LOCALES+= nn_NO.UTF-8 LOCALES+= pl_PL.ISO8859-2 LOCALES+= pl_PL.UTF-8 LOCALES+= pt_BR.ISO8859-1 LOCALES+= pt_BR.UTF-8 LOCALES+= pt_PT.ISO8859-15 LOCALES+= pt_PT.UTF-8 LOCALES+= ro_RO.ISO8859-2 LOCALES+= ro_RO.UTF-8 LOCALES+= ru_RU.CP1251 LOCALES+= ru_RU.CP866 LOCALES+= ru_RU.ISO8859-5 LOCALES+= ru_RU.KOI8-R LOCALES+= ru_RU.UTF-8 LOCALES+= se_FI.UTF-8 LOCALES+= se_NO.UTF-8 LOCALES+= sk_SK.ISO8859-2 LOCALES+= sk_SK.UTF-8 LOCALES+= sl_SI.ISO8859-2 LOCALES+= sl_SI.UTF-8 LOCALES+= sr_RS.ISO8859-5 LOCALES+= sr_RS.UTF-8 LOCALES+= sr_RS.ISO8859-2 LOCALES+= sr_RS.UTF-8@latin LOCALES+= sv_FI.ISO8859-15 LOCALES+= sv_FI.UTF-8 LOCALES+= sv_SE.ISO8859-15 LOCALES+= sv_SE.UTF-8 LOCALES+= tr_TR.ISO8859-9 LOCALES+= tr_TR.UTF-8 LOCALES+= uk_UA.CP1251 LOCALES+= uk_UA.ISO8859-5 LOCALES+= uk_UA.KOI8-U LOCALES+= uk_UA.UTF-8 LOCALES+= zh_CN.GB2312 LOCALES+= zh_CN.GBK LOCALES+= zh_CN.UTF-8 LOCALES+= zh_CN.eucCN LOCALES+= zh_HK.UTF-8 LOCALES+= zh_TW.Big5 LOCALES+= zh_TW.UTF-8 SAME+= af_ZA.UTF-8 af_ZA.ISO8859-15 SAME+= af_ZA.UTF-8 af_ZA.ISO8859-1 SAME+= ar_SA.UTF-8 ar_QA.UTF-8 SAME+= ar_SA.UTF-8 ar_EG.UTF-8 SAME+= ar_SA.UTF-8 ar_AE.UTF-8 SAME+= ca_IT.ISO8859-15 ca_IT.ISO8859-1 SAME+= ca_IT.ISO8859-15 ca_FR.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_FR.ISO8859-1 SAME+= ca_IT.ISO8859-15 ca_ES.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_ES.ISO8859-1 SAME+= ca_IT.ISO8859-15 ca_AD.ISO8859-15 SAME+= ca_IT.ISO8859-15 ca_AD.ISO8859-1 SAME+= ca_IT.UTF-8 ca_FR.UTF-8 SAME+= ca_IT.UTF-8 ca_ES.UTF-8 SAME+= ca_IT.UTF-8 ca_AD.UTF-8 SAME+= da_DK.ISO8859-15 da_DK.ISO8859-1 SAME+= de_AT.ISO8859-15 de_AT.ISO8859-1 SAME+= de_DE.ISO8859-15 de_DE.ISO8859-1 SAME+= de_DE.ISO8859-15 de_CH.ISO8859-15 SAME+= de_DE.ISO8859-15 de_CH.ISO8859-1 SAME+= de_DE.UTF-8 de_CH.UTF-8 SAME+= en_PH.UTF-8 en_HK.UTF-8 SAME+= en_PH.UTF-8 en_HK.ISO8859-1 SAME+= en_PH.UTF-8 en_AU.UTF-8 SAME+= en_PH.UTF-8 en_AU.US-ASCII SAME+= en_PH.UTF-8 en_AU.ISO8859-15 SAME+= en_PH.UTF-8 en_AU.ISO8859-1 SAME+= en_CA.UTF-8 en_CA.US-ASCII SAME+= en_CA.UTF-8 en_CA.ISO8859-15 SAME+= en_CA.UTF-8 en_CA.ISO8859-1 SAME+= en_GB.UTF-8 en_GB.US-ASCII SAME+= en_GB.UTF-8 en_GB.ISO8859-15 SAME+= en_GB.UTF-8 en_GB.ISO8859-1 SAME+= en_IE.UTF-8 en_IE.ISO8859-15 SAME+= en_IE.UTF-8 en_IE.ISO8859-1 SAME+= en_SG.UTF-8 en_SG.ISO8859-1 SAME+= en_SG.UTF-8 en_NZ.UTF-8 SAME+= en_SG.UTF-8 en_NZ.US-ASCII SAME+= en_SG.UTF-8 en_NZ.ISO8859-15 SAME+= en_SG.UTF-8 en_NZ.ISO8859-1 SAME+= en_US.UTF-8 en_US.US-ASCII SAME+= en_US.UTF-8 en_US.ISO8859-15 SAME+= en_US.UTF-8 en_US.ISO8859-1 SAME+= en_ZA.UTF-8 en_ZA.US-ASCII SAME+= en_ZA.UTF-8 en_ZA.ISO8859-15 SAME+= en_ZA.UTF-8 en_ZA.ISO8859-1 SAME+= es_CR.UTF-8 es_AR.UTF-8 SAME+= es_ES.ISO8859-15 es_ES.ISO8859-1 SAME+= et_EE.ISO8859-15 et_EE.ISO8859-1 SAME+= eu_ES.UTF-8 eu_ES.ISO8859-15 SAME+= eu_ES.UTF-8 eu_ES.ISO8859-1 SAME+= fi_FI.ISO8859-15 fi_FI.ISO8859-1 SAME+= fr_BE.ISO8859-15 fr_BE.ISO8859-1 SAME+= fr_CA.ISO8859-15 fr_CA.ISO8859-1 SAME+= fr_CH.ISO8859-15 fr_CH.ISO8859-1 SAME+= fr_FR.ISO8859-15 fr_FR.ISO8859-1 SAME+= is_IS.ISO8859-15 is_IS.ISO8859-1 SAME+= it_CH.ISO8859-15 it_CH.ISO8859-1 SAME+= it_IT.ISO8859-15 it_IT.ISO8859-1 SAME+= nb_NO.ISO8859-15 nb_NO.ISO8859-1 SAME+= nl_BE.UTF-8 nl_BE.ISO8859-15 SAME+= nl_BE.UTF-8 nl_BE.ISO8859-1 SAME+= nl_NL.UTF-8 nl_NL.ISO8859-15 SAME+= nl_NL.UTF-8 nl_NL.ISO8859-1 SAME+= nn_NO.ISO8859-15 nn_NO.ISO8859-1 SAME+= pt_PT.ISO8859-15 pt_PT.ISO8859-1 SAME+= sv_FI.ISO8859-15 sv_FI.ISO8859-1 SAME+= sv_SE.ISO8859-15 sv_SE.ISO8859-1 SAME+= zh_CN.GBK zh_CN.GB18030 SAME+= ko_KR.eucKR ko_KR.CP949 # legacy (same charset) FILES= ${LOCALES:S/$/.out/} CLEANFILES= ${FILES} .for f t in ${SAME} SYMLINKS+= ../$f/${FILESNAME} \ ${LOCALEDIR}/$t/${FILESNAME} .endfor .for f in ${LOCALES} FILESDIR_${f}.out= ${LOCALEDIR}/${f} .endfor .include diff --git a/share/timedef/fa_AF.UTF-8.src b/share/timedef/fa_AF.UTF-8.src new file mode 100644 index 000000000000..77380b1cba36 --- /dev/null +++ b/share/timedef/fa_AF.UTF-8.src @@ -0,0 +1,83 @@ +# +# Short month names +جنو +فبروری +مارچ +اپریل +می +جون +جول +اگست +سپتمبر +اکتوبر +نومبر +دسم +# +# Long month names (as in a date) +جنوری +فبروری +مارچ +اپریل +می +جون +جولای +اگست +سپتمبر +اکتوبر +نومبر +دسمبر +# +# Short weekday names +یکشنبه +دوشنبه +سه‌شنبه +چهارشنبه +پنجشنبه +جمعه +شنبه +# +# Long weekday names +یکشنبه +دوشنبه +سه‌شنبه +چهارشنبه +پنجشنبه +جمعه +شنبه +# +# X_fmt +%OH:%OM:%OS +# +# x_fmt +%Oy/%Om/%Oe +# +# c_fmt +%Oe %B %Oy، ساعت %OH:%OM:%OS (%Z) +# +# AM/PM +قبل‌ازظهر +بعدازظهر +# +# date_fmt +%Oe %B %Oy، ساعت %OH:%OM:%OS (%Z) +# +# Long month names (without case ending) +جنوری +فبروری +مارچ +اپریل +می +جون +جولای +اگست +سپتمبر +اکتوبر +نومبر +دسمبر +# +# md_order +md +# +# ampm_fmt +%OI:%OM:%OS %p +# EOF diff --git a/share/timedef/fa_IR.UTF-8.src b/share/timedef/fa_IR.UTF-8.src new file mode 100644 index 000000000000..45bcc5b2e1a1 --- /dev/null +++ b/share/timedef/fa_IR.UTF-8.src @@ -0,0 +1,83 @@ +# +# Short month names +ژانویهٔ +فوریهٔ +مارس +آوریل +مهٔ +ژوئن +ژوئیهٔ +اوت +سپتامبر +اکتبر +نوامبر +دسامبر +# +# Long month names (as in a date) +ژانویهٔ +فوریهٔ +مارس +آوریل +مهٔ +ژوئن +ژوئیهٔ +اوت +سپتامبر +اکتبر +نوامبر +دسامبر +# +# Short weekday names +یکشنبه +دوشنبه +سه‌شنبه +چهارشنبه +پنجشنبه +جمعه +شنبه +# +# Long weekday names +یکشنبه +دوشنبه +سه‌شنبه +چهارشنبه +پنجشنبه +جمعه +شنبه +# +# X_fmt +%OH:%OM:%OS +# +# x_fmt +%Oy/%Om/%Oe +# +# c_fmt +%Oe %B %Oy، ساعت %OH:%OM:%OS (%Z) +# +# AM/PM +قبل‌ازظهر +بعدازظهر +# +# date_fmt +%Oe %B %Oy، ساعت %OH:%OM:%OS (%Z) +# +# Long month names (without case ending) +ژانویهٔ +فوریهٔ +مارس +آوریل +مهٔ +ژوئن +ژوئیهٔ +اوت +سپتامبر +اکتبر +نوامبر +دسامبر +# +# md_order +md +# +# ampm_fmt +%OI:%OM:%OS %p +# EOF diff --git a/tools/tools/locale/Makefile b/tools/tools/locale/Makefile index 16bd9a259dda..b66e39ec07aa 100644 --- a/tools/tools/locale/Makefile +++ b/tools/tools/locale/Makefile @@ -1,194 +1,194 @@ # $FreeBSD$ # See https://wiki.freebsd.org/LocaleNewApproach # Taken from FreeBSD svn [base]/user/edwin/locale/cldr # # needs: # devel/p5-Tie-IxHash # # Modified by John Marino to suit DragonFly needs # .if ${.CURDIR} == ${.OBJDIR} .error Do make obj first. .endif LOCALESRCDIR?= ${SRCTOP}/share TMPDIR?= /tmp BASEDIR= ${.CURDIR} ETCDIR= ${BASEDIR}/etc TOOLSDIR= ${BASEDIR}/tools PATCHDIR= ${BASEDIR}/patch UNIDIR= ${.OBJDIR:tA}/unicode PKGS= openjdk8 \ p5-XML-Parser \ p5-Tie-IxHash \ p5-Text-Iconv tools-test: pkg info -e ${PKGS} @echo tools ok. KNOWN= monetdef numericdef msgdef colldef ctypedef # timedef TYPES?= ${KNOWN} SETENV= env -i \ PATH="${PATH}" \ TMPDIR="${TMPDIR}" \ UNIDIR="${UNIDIR}" \ BASEDIR="${BASEDIR}" \ TOOLSDIR="${TOOLSDIR}" \ ETCDIR="${ETCDIR}" all: posix build afterbuild .ORDER: posix build afterbuild afterbuild: build @echo "" @find . -name *failed .for t in ${TYPES} . if ${KNOWN:M${t}} build: build-${t} .ORDER: build-${t} afterbuild . endif .endfor diff: .for t in ${TYPES} . if ${KNOWN:M${t}} diff: diff-${t} diff-${t}: -/usr/bin/diff -ruN -x Makefile -x Makefile.depend \ ${LOCALESRCDIR}/${t} ${t} . endif .endfor install: .for t in ${TYPES:Nctypedef} . if ${KNOWN:M${t}} install: install-${t} install-${t}: cd ${LOCALESRCDIR}/${t}_unicode && \ rm -f Makefile *.src && \ cd ${.OBJDIR} && \ install -m 644 ${t}/* ${LOCALESRCDIR}/${t}_unicode . endif .endfor install: install-ctypedef install-ctypedef: cd ${LOCALESRCDIR}/ctypedef && \ rm -f C.UTF-8.src && \ cd ${.OBJDIR} && \ install -m 644 ctypedef/C.UTF-8.src ${LOCALESRCDIR}/ctypedef post-install: .for t in ${TYPES} . if ${KNOWN:M${t}} cd ${LOCALSRCDIR}/${t} && \ make && make install && make clean . endif .endfor .for t in ${TYPES} CLEANDIRS+= ${t} ${t}.draft ${t}: mkdir -p ${t} ${t}.draft && \ perl -I ${TOOLSDIR} ${TOOLSDIR}/cldr2def.pl \ --unidir=${UNIDIR:tA} \ --etc=${ETCDIR:tA} \ --type=${t} build-${t}: ${t} ${SETENV} OUTBASEDIR="${.OBJDIR}/${t}" ${TOOLSDIR}/finalize ${t} .endfor BASE_LOCALES_OF_INTEREST?= \ af_ZA am_ET ar_AE ar_EG ar_JO ar_MA ar_QA ar_SA \ be_BY bg_BG ca_AD ca_ES ca_FR ca_IT \ cs_CZ da_DK de_AT de_CH de_DE el_GR en_AU en_CA \ en_GB en_HK en_IE en_NZ en_PH en_SG en_US en_ZA \ - es_AR es_CR es_ES es_MX et_EE eu_ES fi_FI fr_BE \ + es_AR es_CR es_ES es_MX et_EE eu_ES fa_AF fa_IR fi_FI fr_BE \ fr_CA fr_CH fr_FR ga_IE he_IL hi_IN hr_HR hu_HU hy_AM \ is_IS it_CH it_IT ja_JP ko_KR lt_LT lv_LV \ nb_NO nl_BE nl_NL nn_NO pl_PL pt_BR pt_PT ro_RO \ ru_RU se_FI se_NO sk_SK sl_SI sv_FI sv_SE tr_TR \ uk_UA \ kk_KZ mn_MN sr_Cyrl_RS sr_Latn_RS \ zh_Hans_CN zh_Hant_HK zh_Hant_TW \ bn_IN gu_IN or_IN ta_IN te_IN kn_IN ml_IN si_LK \ th_TH lo_LA bo_IN my_MM pa_Guru_IN ka_GE chr_US \ km_KH shi_Tfng_MA ii_CN vai_Vaii_LR vi_VN ENCODINGS= UTF-8 \ UTF-32 # CLDR files CLDRVERSION= 39.0 CLDRFILES_CORE= https://unicode.org/Public/cldr/${CLDRVERSION:R}/core.zip CLDRFILES_KEY= https://unicode.org/Public/cldr/${CLDRVERSION:R}/cldr-keyboards-${CLDRVERSION}.zip CLDRFILES_TOOLS=https://unicode.org/Public/cldr/${CLDRVERSION:R}/cldr-tools-${CLDRVERSION}.jar CLDRFILES_UCD= http://www.unicode.org/Public/zipped/13.0.0/UCD.zip # fetch and extract targets ${UNIDIR}: mkdir -p ${UNIDIR} .for N in CORE KEY TOOLS UCD ${CLDRFILES_${N}:T}: fetch ${CLDRFILES_${N}} fetch: ${CLDRFILES_${N}:T} extract-${CLDRFILES_${N}:T}:: ${CLDRFILES_${N}:T} ${UNIDIR} cd ${UNIDIR} && unzip -o ../${CLDRFILES_${N}:T} extract: extract-${CLDRFILES_${N}:T} .endfor echo ${CLDRVERSION} > ${UNIDIR}/cldr-version patch:: .if exists(${PATCHDIR}) cd ${UNIDIR} && cat ${PATCHDIR}/patch-* | patch .endif JAVA_CLDR= java -DCLDR_DIR=${UNIDIR:Q} -jar ${.OBJDIR:tA}//${CLDRFILES_TOOLS:T} posix: posixcm post-posixcm posixsrc .ORDER: posixcm post-posixcm posixsrc ${UNIDIR}/posix: ${UNIDIR} ln -s -f ../posix ${.TARGET} clean-posix: rm -rf posix ${UNIDIR}/posix ${UNIDIR}/posix/xx_Comm_C.UTF-8.src: ${UNIDIR}/posix perl -I ${TOOLSDIR} ${TOOLSDIR}/utf8-rollup.pl \ --unidir=${UNIDIR} post-posixcm: ${UNIDIR}/posix/xx_Comm_C.UTF-8.src .for enc in ${ENCODINGS} posixcm: posix/${enc}.cm .ORDER: posix/${enc}.cm posix/${enc}.cm: mkdir -p posix && \ ${JAVA_CLDR} org.unicode.cldr.posix.GenerateCharmap \ -d posix -c ${enc} .endfor .for area in ${BASE_LOCALES_OF_INTEREST} posixsrc: posix/${area}.UTF-8.src .ORDER: posix/${area}.UTF-8.src posix/${area}.UTF-8.src: mkdir -p posix && \ ${JAVA_CLDR} org.unicode.cldr.posix.GeneratePOSIX \ -d posix -m ${area} -c UTF-8 .endfor # generate widths.txt using the data from libut8proc GETWIDTHS=${TOOLSDIR}/getwidths MKWIDTHS=${TOOLSDIR}/mkwidths.pl WIDTHS= ${ETCDIR}/final-maps/widths.txt U8CFLAGS!=pkgconf --cflags libutf8proc U8LIBS!=pkgconf --libs libutf8proc CFLAGS+=${U8CFLAGS} LDFLAGS+=${U8LIBS} CLEANFILES+=${TOOLSDIR}/getwidths widths: ${WIDTHS} ${WIDTHS}: posixcm ${GETWIDTHS} ${GETWIDTHS} | ${MKWIDTHS} ${.OBJDIR}/posix/UTF-8.cm ${.TARGET} .include diff --git a/tools/tools/locale/etc/charmaps.xml b/tools/tools/locale/etc/charmaps.xml index 9d42b1e5247c..dcf1644e4371 100644 --- a/tools/tools/locale/etc/charmaps.xml +++ b/tools/tools/locale/etc/charmaps.xml @@ -1,712 +1,714 @@ + "; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; "" ]]> "; ""; ""; ""; ""; ""; ""; "

"; ""; ""; "

"; "

" ]]> "; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; "" ]]> "; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; "" ]]> "; ""; ""; ""; ""; ""; "

"; "

"; ""; "

"; "

"; "" ]]> "; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; "" ]]> "; ""; ""; ""; ""; ""; "

"; "

"; ""; "

"; "

"; "" ]]> "; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; "" ]]> "; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; "" ]]>

+ ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; +UNDEFINED IGNORE;IGNORE;IGNORE;... + +order_end + +END LC_COLLATE diff --git a/share/colldef_unicode/fa_IR.UTF-8.src b/share/colldef_unicode/fa_IR.UTF-8.src new file mode 100644 index 000000000000..9b641503d424 --- /dev/null +++ b/share/colldef_unicode/fa_IR.UTF-8.src @@ -0,0 +1,1895 @@ +# Warning: Do not edit. This file is automatically extracted from the +# tools in /usr/src/tools/tools/locale. The data is obtained from the +# CLDR project, obtained from http://cldr.unicode.org/ +# ----------------------------------------------------------------------------- +comment_char * +escape_char / +LC_COLLATE +************* + +collating-element from "" +collating-element from "" + + +* Define collation weights as symbols + +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol +collating-symbol + +order_start forward;forward;forward;forward + + +* collation weights in order + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +* assignment of characters to weights + + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;IGNORE;IGNORE; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + IGNORE;"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;"";""; + ;"";""; + ;;; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";"";""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;"";""; + ;"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + "";"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;"";""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + "";;""; + ;;; + ;;; + ;"";""; + ;"";""; + "";;""; + "";;""; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; + ;;; +