summaryrefslogtreecommitdiff
path: root/indexing/xindy
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-04-04 03:01:17 +0000
committerNorbert Preining <norbert@preining.info>2021-04-04 03:01:17 +0000
commit6c7f24a5336de85c7db50c5037772288964c607b (patch)
tree4196d85bcd0f8af6f97d8f1dc8cbd6f6f075fe58 /indexing/xindy
parent76cf94c130ce042b2d2f2fd67258ba5815976abe (diff)
CTAN sync 202104040301
Diffstat (limited to 'indexing/xindy')
-rw-r--r--indexing/xindy/contrib/xindy-persian/README9
-rw-r--r--indexing/xindy/contrib/xindy-persian/doc/variant1-utf8-doc.tex88
-rw-r--r--indexing/xindy/contrib/xindy-persian/doc/variant2-utf8-doc.tex88
-rw-r--r--indexing/xindy/contrib/xindy-persian/doc/variant3-utf8-doc.tex88
-rw-r--r--indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-lang.xdy (renamed from indexing/xindy/contrib/xindy-persian/variant1-utf8-lang.xdy)0
-rw-r--r--indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-test.xdy (renamed from indexing/xindy/contrib/xindy-persian/variant1-utf8-test.xdy)0
-rw-r--r--indexing/xindy/contrib/xindy-persian/persian/variant1-utf8.xdy (renamed from indexing/xindy/contrib/xindy-persian/variant1-utf8.xdy)740
-rw-r--r--indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-lang.xdy (renamed from indexing/xindy/contrib/xindy-persian/variant2-utf8-lang.xdy)0
-rw-r--r--indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-test.xdy (renamed from indexing/xindy/contrib/xindy-persian/variant2-utf8-test.xdy)0
-rw-r--r--indexing/xindy/contrib/xindy-persian/persian/variant2-utf8.xdy (renamed from indexing/xindy/contrib/xindy-persian/variant2-utf8.xdy)732
-rw-r--r--indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-lang.xdy (renamed from indexing/xindy/contrib/xindy-persian/variant3-utf8-lang.xdy)0
-rw-r--r--indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-test.xdy (renamed from indexing/xindy/contrib/xindy-persian/variant3-utf8-test.xdy)0
-rw-r--r--indexing/xindy/contrib/xindy-persian/persian/variant3-utf8.xdy (renamed from indexing/xindy/contrib/xindy-persian/variant3-utf8.xdy)744
-rw-r--r--indexing/xindy/contrib/xindy-persian/source/make-rules.pl269
-rw-r--r--indexing/xindy/contrib/xindy-persian/source/test.xdy82
-rw-r--r--indexing/xindy/contrib/xindy-persian/source/variant1-utf8.pl.in181
-rw-r--r--indexing/xindy/contrib/xindy-persian/source/variant2-utf8.pl.in181
-rw-r--r--indexing/xindy/contrib/xindy-persian/source/variant3-utf8.pl.in181
-rw-r--r--indexing/xindy/contrib/xindy-persian/variant1-utf8.pl.in82
-rw-r--r--indexing/xindy/contrib/xindy-persian/variant2-utf8.pl.in82
-rw-r--r--indexing/xindy/contrib/xindy-persian/variant3-utf8.pl.in82
21 files changed, 2276 insertions, 1353 deletions
diff --git a/indexing/xindy/contrib/xindy-persian/README b/indexing/xindy/contrib/xindy-persian/README
index a22b487133..17f043afb1 100644
--- a/indexing/xindy/contrib/xindy-persian/README
+++ b/indexing/xindy/contrib/xindy-persian/README
@@ -1,6 +1,6 @@
________________________
The “xindy-persian” package
-v0.7b
+v0.8
The “xindy-persian” package is the Persian language
support for xindy program.
@@ -15,17 +15,16 @@ If you want to report any bugs or typos and corrections in the documentation,
or ask for any new features, or suggest any improvements, or ask any questions
about the package, then please do not send any direct emails to us; we will not
answer any direct emails. Instead please use the issue tracker:
- <https://github.com/persian-tex/xindy-persian>
+ <https://github.com/persiantex/xindy-persian>
In doing so, please always explain your issue well enough, always include
a minimal working examples showing the issue, and always choose the appropriate
label for your query (i.e. if you are reporting any bugs, choose `bug' label).
-Current version release date: 2015/12/20
+Current version release date: 2021/04/03
_________________
Vafa Khalighi
-persian-tex@tug.org
-Copyright © 2011–2015 Vafa Khalighi
+Copyright © 2011–2021 Vafa Khalighi
Distributed under the LaTeX Project Public License
It may be distributed and/or modified under the LaTeX Project Public License,
version 1.3c or higher (your choice). The latest version of
diff --git a/indexing/xindy/contrib/xindy-persian/doc/variant1-utf8-doc.tex b/indexing/xindy/contrib/xindy-persian/doc/variant1-utf8-doc.tex
new file mode 100644
index 0000000000..a7daafc79d
--- /dev/null
+++ b/indexing/xindy/contrib/xindy-persian/doc/variant1-utf8-doc.tex
@@ -0,0 +1,88 @@
+\subsection{Persian (One)}
+
+\subsubsection{Alphabet}
+\icod\fcod
+\begin{alphabet}
+آ\\
+أ\\
+ا\\
+ب\\
+پ\\
+ت\\
+ث\\
+ج\\
+چ\\
+ح\\
+خ\\
+د\\
+ذ\\
+ر\\
+ز\\
+ژ\\
+س\\
+ش\\
+ص\\
+ض\\
+ط\\
+ظ\\
+ع\\
+غ\\
+ف\\
+ق\\
+ک\\
+گ\\
+ل\\
+م\\
+ن\\
+ؤ\,و\\
+ه\\
+ئ\,ی\\
+a\,A & à\,À\\
+b\,B\\
+c\,C & ç\,Ç\\
+d\,D & ð\,Ð\\
+e\,E & é\,É & è\,È & ë\,Ë & ê\,Ê\\
+f\,F\\
+g\,G\\
+h\,H\\
+i\,I & ï\,Ï\\
+j\,J\\
+k\,K\\
+l\,L\\
+m\,M\\
+n\,N & ñ\,Ñ\\
+o\,O & ö\,Ö & ô\,Ô\\
+p\,P\\
+q\,Q\\
+r\,R\\
+s\,S\\
+t\,T\\
+u\,U\\
+v\,V\\
+w\,W\\
+x\,X\\
+y\,Y\\
+\\
+z\,Z\\
+þ\,Þ\\
+
+\end{alphabet}
+\idef\fdef
+
+\subsubsection{Ligatures}
+\begin{flushleft}
+`æ' is sorted like `a\,e', but \emph{after} it in otherwise equal words.\\
+`Æ' is sorted like `A\,e', but \emph{after} it in otherwise equal words.\\
+`œ' is sorted like `o\,e', but \emph{after} it in otherwise equal words.\\
+`Œ' is sorted like `O\,e', but \emph{after} it in otherwise equal words.
+\end{flushleft}
+
+\subsubsection{Upper-/lowercase words}
+Capitalized or uppercase words are sorted \emph{before} otherwise equal lowercase words.
+
+\subsubsection{Special characters}
+The order of special characters and letters is:
+\begin{flushleft}
+?\hspace{4mm}!\hspace{4mm}.\hspace{4mm}letters\hspace{4mm}-\hspace{4mm}'\hspace{4mm}{\hspace{4mm}}\hspace{4mm}ّ\hspace{4mm}َ\hspace{4mm}ِ\hspace{4mm}ُ\hspace{4mm}ً\hspace{4mm}ٍ\hspace{4mm}ٌ\hspace{4mm}ْ\hspace{4mm}ٔ\hspace{4mm}ء\hspace{4mm}‌\hspace{4mm}«\hspace{4mm}»\hspace{4mm}ـ\hspace{4mm}،\hspace{4mm}؛
+\end{flushleft}
+\newpage
diff --git a/indexing/xindy/contrib/xindy-persian/doc/variant2-utf8-doc.tex b/indexing/xindy/contrib/xindy-persian/doc/variant2-utf8-doc.tex
new file mode 100644
index 0000000000..9960147875
--- /dev/null
+++ b/indexing/xindy/contrib/xindy-persian/doc/variant2-utf8-doc.tex
@@ -0,0 +1,88 @@
+\subsection{Persian (Two)}
+
+\subsubsection{Alphabet}
+\icod\fcod
+\begin{alphabet}
+آ\\
+أ\\
+ا\\
+ب\\
+پ\\
+ت\\
+ث\\
+ج\\
+چ\\
+ح\\
+خ\\
+د\\
+ذ\\
+ر\\
+ز\\
+ژ\\
+س\\
+ش\\
+ص\\
+ض\\
+ط\\
+ظ\\
+ع\\
+غ\\
+ف\\
+ق\\
+ک\\
+گ\\
+ل\\
+م\\
+ن\\
+ؤ\,و\\
+ه\\
+ئ\,ی\\
+a\,A & à\,À\\
+b\,B\\
+c\,C & ç\,Ç\\
+d\,D & ð\,Ð\\
+e\,E & é\,É & è\,È & ë\,Ë & ê\,Ê\\
+f\,F\\
+g\,G\\
+h\,H\\
+i\,I & ï\,Ï\\
+j\,J\\
+k\,K\\
+l\,L\\
+m\,M\\
+n\,N & ñ\,Ñ\\
+o\,O & ö\,Ö & ô\,Ô\\
+p\,P\\
+q\,Q\\
+r\,R\\
+s\,S\\
+t\,T\\
+u\,U\\
+v\,V\\
+w\,W\\
+x\,X\\
+y\,Y\\
+\\
+z\,Z\\
+þ\,Þ\\
+
+\end{alphabet}
+\idef\fdef
+
+\subsubsection{Ligatures}
+\begin{flushleft}
+`æ' is sorted like `a\,e', but \emph{after} it in otherwise equal words.\\
+`Æ' is sorted like `A\,e', but \emph{after} it in otherwise equal words.\\
+`œ' is sorted like `o\,e', but \emph{after} it in otherwise equal words.\\
+`Œ' is sorted like `O\,e', but \emph{after} it in otherwise equal words.
+\end{flushleft}
+
+\subsubsection{Upper-/lowercase words}
+Capitalized or uppercase words are sorted \emph{before} otherwise equal lowercase words.
+
+\subsubsection{Special characters}
+The order of special characters and letters is:
+\begin{flushleft}
+?\hspace{4mm}!\hspace{4mm}.\hspace{4mm}letters\hspace{4mm}-\hspace{4mm}'\hspace{4mm}{\hspace{4mm}}\hspace{4mm}ّ\hspace{4mm}َ\hspace{4mm}ِ\hspace{4mm}ُ\hspace{4mm}ً\hspace{4mm}ٍ\hspace{4mm}ٌ\hspace{4mm}ْ\hspace{4mm}ٔ\hspace{4mm}ء\hspace{4mm}‌\hspace{4mm}«\hspace{4mm}»\hspace{4mm}ـ\hspace{4mm}،\hspace{4mm}؛
+\end{flushleft}
+\newpage
diff --git a/indexing/xindy/contrib/xindy-persian/doc/variant3-utf8-doc.tex b/indexing/xindy/contrib/xindy-persian/doc/variant3-utf8-doc.tex
new file mode 100644
index 0000000000..5c7b1fd518
--- /dev/null
+++ b/indexing/xindy/contrib/xindy-persian/doc/variant3-utf8-doc.tex
@@ -0,0 +1,88 @@
+\subsection{Persian (Three)}
+
+\subsubsection{Alphabet}
+\icod\fcod
+\begin{alphabet}
+آ\\
+أ\\
+ا\\
+ب\\
+پ\\
+ت\\
+ث\\
+ج\\
+چ\\
+ح\\
+خ\\
+د\\
+ذ\\
+ر\\
+ز\\
+ژ\\
+س\\
+ش\\
+ص\\
+ض\\
+ط\\
+ظ\\
+ع\\
+غ\\
+ف\\
+ق\\
+ک\\
+گ\\
+ل\\
+م\\
+ن\\
+ؤ\,و\\
+ه\\
+ئ\,ی\\
+a\,A & à\,À\\
+b\,B\\
+c\,C & ç\,Ç\\
+d\,D & ð\,Ð\\
+e\,E & é\,É & è\,È & ë\,Ë & ê\,Ê\\
+f\,F\\
+g\,G\\
+h\,H\\
+i\,I & ï\,Ï\\
+j\,J\\
+k\,K\\
+l\,L\\
+m\,M\\
+n\,N & ñ\,Ñ\\
+o\,O & ö\,Ö & ô\,Ô\\
+p\,P\\
+q\,Q\\
+r\,R\\
+s\,S\\
+t\,T\\
+u\,U\\
+v\,V\\
+w\,W\\
+x\,X\\
+y\,Y\\
+\\
+z\,Z\\
+þ\,Þ\\
+
+\end{alphabet}
+\idef\fdef
+
+\subsubsection{Ligatures}
+\begin{flushleft}
+`æ' is sorted like `a\,e', but \emph{after} it in otherwise equal words.\\
+`Æ' is sorted like `A\,e', but \emph{after} it in otherwise equal words.\\
+`œ' is sorted like `o\,e', but \emph{after} it in otherwise equal words.\\
+`Œ' is sorted like `O\,e', but \emph{after} it in otherwise equal words.
+\end{flushleft}
+
+\subsubsection{Upper-/lowercase words}
+Capitalized or uppercase words are sorted \emph{before} otherwise equal lowercase words.
+
+\subsubsection{Special characters}
+The order of special characters and letters is:
+\begin{flushleft}
+?\hspace{4mm}!\hspace{4mm}.\hspace{4mm}letters\hspace{4mm}-\hspace{4mm}'\hspace{4mm}{\hspace{4mm}}\hspace{4mm}ّ\hspace{4mm}َ\hspace{4mm}ِ\hspace{4mm}ُ\hspace{4mm}ً\hspace{4mm}ٍ\hspace{4mm}ٌ\hspace{4mm}ْ\hspace{4mm}ٔ\hspace{4mm}ء\hspace{4mm}‌\hspace{4mm}«\hspace{4mm}»\hspace{4mm}ـ\hspace{4mm}،\hspace{4mm}؛
+\end{flushleft}
+\newpage
diff --git a/indexing/xindy/contrib/xindy-persian/variant1-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-lang.xdy
index 94e9bed54a..94e9bed54a 100644
--- a/indexing/xindy/contrib/xindy-persian/variant1-utf8-lang.xdy
+++ b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-lang.xdy
diff --git a/indexing/xindy/contrib/xindy-persian/variant1-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-test.xdy
index 19c4790669..19c4790669 100644
--- a/indexing/xindy/contrib/xindy-persian/variant1-utf8-test.xdy
+++ b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-test.xdy
diff --git a/indexing/xindy/contrib/xindy-persian/variant1-utf8.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8.xdy
index 8654e2b473..bfb5dcc058 100644
--- a/indexing/xindy/contrib/xindy-persian/variant1-utf8.xdy
+++ b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8.xdy
@@ -34,32 +34,32 @@
(define-letter-group "ه" :after "و" :prefixes (""))
(define-letter-group "ی" :after "ه" :prefixes (""))
(define-letter-group "A" :after "ی" :prefixes (""))
-(define-letter-group "B" :after "A" :prefixes (""))
-(define-letter-group "C" :after "B" :prefixes (""))
-(define-letter-group "D" :after "C" :prefixes (""))
-(define-letter-group "E" :after "D" :prefixes (""))
-(define-letter-group "F" :after "E" :prefixes (""))
-(define-letter-group "G" :after "F" :prefixes (""))
-(define-letter-group "H" :after "G" :prefixes (""))
-(define-letter-group "I" :after "H" :prefixes (""))
-(define-letter-group "J" :after "I" :prefixes (""))
-(define-letter-group "K" :after "J" :prefixes (""))
-(define-letter-group "L" :after "K" :prefixes (""))
-(define-letter-group "M" :after "L" :prefixes (""))
-(define-letter-group "N" :after "M" :prefixes (""))
-(define-letter-group "O" :after "N" :prefixes (""))
-(define-letter-group "P" :after "O" :prefixes (""))
-(define-letter-group "Q" :after "P" :prefixes (""))
-(define-letter-group "R" :after "Q" :prefixes (""))
-(define-letter-group "S" :after "R" :prefixes (""))
-(define-letter-group "T" :after "S" :prefixes (""))
-(define-letter-group "U" :after "T" :prefixes (""))
-(define-letter-group "V" :after "U" :prefixes (""))
-(define-letter-group "W" :after "V" :prefixes (""))
-(define-letter-group "X" :after "W" :prefixes (""))
-(define-letter-group "Y" :after "X" :prefixes (""))
-(define-letter-group "Z" :after "Y" :prefixes (""))
-(define-letter-group "Þ" :after "Z" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "D" :after "C" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "F" :after "E" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "L" :after "K" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "O" :after "N" :prefixes (""))
+(define-letter-group "P" :after "O" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "T" :after "S" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes ("Ă"))
+(define-letter-group "V" :after "U" :prefixes ("ć"))
+(define-letter-group "W" :after "V" :prefixes ("Ĉ"))
+(define-letter-group "X" :after "W" :prefixes ("č"))
+(define-letter-group "Y" :after "X" :prefixes ("ď"))
+(define-letter-group "Z" :after "Y" :prefixes ("Ē"))
+(define-letter-group "Þ" :after "Z" :prefixes ("Ę"))
(define-rule-set "pe-alphabetize"
@@ -99,419 +99,421 @@
("ه" "" :string)
("ی" "" :string)
("ئ" "" :string)
- ("à" "" :string)
("À" "" :string)
- ("Æ" "" :string)
- ("æ" "" :string)
- ("ç" "" :string)
- ("Ç" "" :string)
- ("Ð" "" :string)
- ("ð" "" :string)
- ("È" "" :string)
- ("ë" "" :string)
- ("ê" "" :string)
- ("é" "" :string)
- ("É" "" :string)
- ("è" "" :string)
- ("Ê" "" :string)
- ("Ë" "" :string)
- ("Ï" "" :string)
- ("ï" "" :string)
- ("ñ" "" :string)
- ("Ñ" "" :string)
- ("Ô" "" :string)
- ("Ö" "" :string)
- ("ö" "" :string)
- ("ô" "" :string)
- ("Œ" "" :string)
- ("œ" "" :string)
- ("þ" "" :string)
- ("Þ" "" :string)
+ ("à" "" :string)
+ ("æ" "" :string)
+ ("Æ" "" :string)
+ ("Ç" "" :string)
+ ("ç" "" :string)
+ ("ð" "" :string)
+ ("Ð" "" :string)
+ ("Ë" "" :string)
+ ("È" "" :string)
+ ("ê" "" :string)
+ ("é" "" :string)
+ ("è" "" :string)
+ ("É" "" :string)
+ ("Ê" "" :string)
+ ("ë" "" :string)
+ ("Ï" "" :string)
+ ("ï" "" :string)
+ ("Ñ" "" :string)
+ ("ñ" "" :string)
+ ("Ö" "" :string)
+ ("ö" "" :string)
+ ("ô" "" :string)
+ ("Ô" "" :string)
+ ("œ" "" :string)
+ ("Œ" "" :string)
+ ("þ" "Ę" :string)
+ ("Þ" "Ę" :string)
("A" "" :string)
("a" "" :string)
- ("B" "" :string)
- ("b" "" :string)
- ("c" "" :string)
- ("C" "" :string)
- ("D" "" :string)
- ("d" "" :string)
- ("E" "" :string)
- ("e" "" :string)
- ("F" "" :string)
- ("f" "" :string)
- ("G" "" :string)
- ("g" "" :string)
- ("H" "" :string)
- ("h" "" :string)
- ("I" "" :string)
- ("i" "" :string)
- ("J" "" :string)
- ("j" "" :string)
- ("K" "" :string)
- ("k" "" :string)
- ("L" "" :string)
- ("l" "" :string)
- ("M" "" :string)
- ("m" "" :string)
- ("n" "" :string)
- ("N" "" :string)
- ("O" "" :string)
- ("o" "" :string)
- ("P" "" :string)
- ("p" "" :string)
- ("Q" "" :string)
- ("q" "" :string)
- ("R" "" :string)
- ("r" "" :string)
- ("S" "" :string)
- ("s" "" :string)
- ("T" "" :string)
- ("t" "" :string)
- ("U" "" :string)
- ("u" "" :string)
- ("v" "" :string)
- ("V" "" :string)
- ("w" "" :string)
- ("W" "" :string)
- ("x" "" :string)
- ("X" "" :string)
- ("Y" "" :string)
- ("y" "" :string)
- ("Z" "" :string)
- ("z" "" :string)
+ ("b" "" :string)
+ ("B" "" :string)
+ ("C" "" :string)
+ ("c" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("G" "" :string)
+ ("g" "" :string)
+ ("h" "" :string)
+ ("H" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("j" "" :string)
+ ("J" "" :string)
+ ("k" "" :string)
+ ("K" "" :string)
+ ("l" "" :string)
+ ("L" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("Q" "" :string)
+ ("q" "" :string)
+ ("R" "" :string)
+ ("r" "" :string)
+ ("s" "" :string)
+ ("S" "" :string)
+ ("t" "" :string)
+ ("T" "" :string)
+ ("u" "Ă" :string)
+ ("U" "Ă" :string)
+ ("v" "ć" :string)
+ ("V" "ć" :string)
+ ("W" "Ĉ" :string)
+ ("w" "Ĉ" :string)
+ ("X" "č" :string)
+ ("x" "č" :string)
+ ("Y" "ď" :string)
+ ("y" "ď" :string)
+ ("Z" "Ē" :string)
+ ("z" "Ē" :string)
))
(define-rule-set "pe-resolve-diacritics"
- :rules (("پ" "" :string)
- ("س" "" :string)
- ("ه" "" :string)
- ("ذ" "" :string)
- ("ظ" "" :string)
- ("غ" "" :string)
- ("ف" "" :string)
- ("خ" "" :string)
+ :rules (("ئ" "" :string)
+ ("ژ" "" :string)
+ ("ج" "" :string)
+ ("و" "" :string)
+ ("ت" "" :string)
+ ("ؤ" "" :string)
+ ("د" "" :string)
("ع" "" :string)
- ("ب" "" :string)
- ("ز" "" :string)
+ ("ذ" "" :string)
("ث" "" :string)
- ("چ" "" :string)
("ص" "" :string)
- ("ر" "" :string)
- ("أ" "" :string)
- ("ش" "" :string)
- ("ؤ" "" :string)
- ("ق" "" :string)
- ("ئ" "" :string)
- ("ت" "" :string)
- ("ژ" "" :string)
- ("و" "" :string)
("گ" "" :string)
("ل" "" :string)
- ("ج" "" :string)
+ ("ط" "" :string)
+ ("ف" "" :string)
("ا" "" :string)
+ ("ه" "" :string)
+ ("چ" "" :string)
+ ("پ" "" :string)
+ ("س" "" :string)
+ ("ش" "" :string)
("þ" "" :string)
("ن" "" :string)
- ("د" "" :string)
- ("ط" "" :string)
- ("م" "" :string)
+ ("ظ" "" :string)
("ح" "" :string)
- ("ک" "" :string)
+ ("ز" "" :string)
("ض" "" :string)
- ("آ" "" :string)
- ("ی" "" :string)
+ ("أ" "" :string)
+ ("غ" "" :string)
("Þ" "" :string)
- ("ï" "" :string)
- ("À" "" :string)
- ("ð" "" :string)
- ("Ð" "" :string)
- ("Ñ" "" :string)
+ ("ب" "" :string)
+ ("ی" "" :string)
+ ("آ" "" :string)
+ ("ر" "" :string)
+ ("خ" "" :string)
+ ("م" "" :string)
+ ("ق" "" :string)
+ ("ک" "" :string)
("É" "" :string)
- ("à" "" :string)
+ ("ï" "" :string)
("ñ" "" :string)
- ("Ï" "" :string)
+ ("à" "" :string)
("é" "" :string)
- ("Ç" "" :string)
- ("Ö" "" :string)
+ ("Ñ" "" :string)
("ç" "" :string)
+ ("Ð" "" :string)
+ ("À" "" :string)
+ ("Ï" "" :string)
("ö" "" :string)
+ ("Ç" "" :string)
+ ("ð" "" :string)
+ ("Ö" "" :string)
+ ("Ô" "" :string)
("è" "" :string)
("ô" "" :string)
- ("Ô" "" :string)
("È" "" :string)
- ("Ë" "" :string)
("ë" "" :string)
+ ("Ë" "" :string)
("Ê" "" :string)
("ê" "" :string)
- ("æ" "" :string)
- ("Æ" "" :string)
("Œ" "" :string)
("œ" "" :string)
- ("z" "" :string)
- ("C" "" :string)
- ("r" "" :string)
- ("R" "" :string)
- ("Z" "" :string)
+ ("Æ" "" :string)
+ ("æ" "" :string)
("p" "" :string)
- ("X" "" :string)
- ("b" "" :string)
- ("s" "" :string)
- ("e" "" :string)
- ("j" "" :string)
- ("a" "" :string)
- ("P" "" :string)
- ("T" "" :string)
- ("i" "" :string)
- ("d" "" :string)
("x" "" :string)
- ("h" "" :string)
- ("J" "" :string)
- ("V" "" :string)
- ("m" "" :string)
- ("q" "" :string)
("Q" "" :string)
- ("y" "" :string)
- ("u" "" :string)
- ("g" "" :string)
- ("t" "" :string)
+ ("C" "" :string)
+ ("X" "" :string)
("o" "" :string)
- ("N" "" :string)
- ("M" "" :string)
- ("l" "" :string)
- ("D" "" :string)
+ ("K" "" :string)
+ ("g" "" :string)
+ ("V" "" :string)
+ ("z" "" :string)
+ ("J" "" :string)
("c" "" :string)
- ("A" "" :string)
- ("H" "" :string)
+ ("v" "" :string)
+ ("q" "" :string)
+ ("G" "" :string)
+ ("m" "" :string)
("U" "" :string)
+ ("E" "" :string)
+ ("R" "" :string)
+ ("y" "" :string)
+ ("d" "" :string)
+ ("O" "" :string)
+ ("a" "" :string)
("S" "" :string)
- ("v" "" :string)
+ ("i" "" :string)
("f" "" :string)
+ ("j" "" :string)
+ ("e" "" :string)
+ ("L" "" :string)
+ ("r" "" :string)
+ ("D" "" :string)
+ ("H" "" :string)
+ ("k" "" :string)
+ ("b" "" :string)
+ ("n" "" :string)
+ ("M" "" :string)
+ ("P" "" :string)
+ ("u" "" :string)
+ ("s" "" :string)
("B" "" :string)
+ ("w" "" :string)
+ ("N" "" :string)
("W" "" :string)
- ("n" "" :string)
- ("L" "" :string)
+ ("h" "" :string)
+ ("T" "" :string)
+ ("Y" "" :string)
+ ("t" "" :string)
("I" "" :string)
("F" "" :string)
- ("E" "" :string)
- ("K" "" :string)
- ("O" "" :string)
- ("G" "" :string)
- ("w" "" :string)
- ("Y" "" :string)
- ("k" "" :string)
+ ("A" "" :string)
+ ("Z" "" :string)
+ ("l" "" :string)
))
(define-rule-set "pe-resolve-case"
- :rules (("Þ" "8" :string)
- ("ی" "8" :string)
- ("È" "8" :string)
+ :rules (("Ñ" "8" :string)
+ ("Ð" "8" :string)
+ ("É" "8" :string)
("Ô" "8" :string)
- ("Ö" "8" :string)
- ("Ï" "8" :string)
- ("Ç" "8" :string)
("و" "8" :string)
- ("Ñ" "8" :string)
- ("É" "8" :string)
- ("Ð" "8" :string)
("Ê" "8" :string)
+ ("ی" "8" :string)
+ ("Ö" "8" :string)
+ ("È" "8" :string)
("Ë" "8" :string)
+ ("Ï" "8" :string)
("À" "8" :string)
+ ("Ç" "8" :string)
+ ("Þ" "8" :string)
("Œ" "89" :string)
("Æ" "89" :string)
- ("ö" "9" :string)
- ("م" "9" :string)
- ("آ" "9" :string)
- ("ض" "9" :string)
- ("ک" "9" :string)
- ("ح" "9" :string)
- ("ç" "9" :string)
+ ("ع" "9" :string)
+ ("é" "9" :string)
("د" "9" :string)
- ("ط" "9" :string)
- ("ا" "9" :string)
- ("ن" "9" :string)
- ("þ" "9" :string)
+ ("ê" "9" :string)
+ ("ث" "9" :string)
+ ("ô" "9" :string)
+ ("ç" "9" :string)
+ ("ذ" "9" :string)
("ل" "9" :string)
("گ" "9" :string)
- ("ج" "9" :string)
- ("ô" "9" :string)
- ("é" "9" :string)
- ("ئ" "9" :string)
+ ("ص" "9" :string)
+ ("ف" "9" :string)
+ ("ط" "9" :string)
("ژ" "9" :string)
- ("ê" "9" :string)
- ("ت" "9" :string)
- ("à" "9" :string)
+ ("ئ" "9" :string)
("ñ" "9" :string)
- ("ش" "9" :string)
+ ("ج" "9" :string)
+ ("ï" "9" :string)
+ ("è" "9" :string)
("ë" "9" :string)
- ("ق" "9" :string)
+ ("ت" "9" :string)
+ ("à" "9" :string)
("ؤ" "9" :string)
- ("ر" "9" :string)
- ("أ" "9" :string)
- ("ص" "9" :string)
- ("چ" "9" :string)
- ("ث" "9" :string)
- ("ð" "9" :string)
- ("ع" "9" :string)
- ("ز" "9" :string)
("ب" "9" :string)
- ("ف" "9" :string)
("خ" "9" :string)
- ("ï" "9" :string)
- ("ذ" "9" :string)
- ("غ" "9" :string)
- ("ظ" "9" :string)
- ("س" "9" :string)
- ("è" "9" :string)
+ ("ر" "9" :string)
+ ("آ" "9" :string)
+ ("ق" "9" :string)
+ ("م" "9" :string)
+ ("ک" "9" :string)
+ ("þ" "9" :string)
+ ("ش" "9" :string)
("پ" "9" :string)
+ ("س" "9" :string)
+ ("چ" "9" :string)
("ه" "9" :string)
- ("œ" "99" :string)
+ ("ا" "9" :string)
+ ("ö" "9" :string)
+ ("ظ" "9" :string)
+ ("ن" "9" :string)
+ ("ز" "9" :string)
+ ("ح" "9" :string)
+ ("ð" "9" :string)
+ ("غ" "9" :string)
+ ("أ" "9" :string)
+ ("ض" "9" :string)
("æ" "99" :string)
- ("Y" "8" :string)
- ("G" "8" :string)
- ("O" "8" :string)
- ("F" "8" :string)
- ("K" "8" :string)
+ ("œ" "99" :string)
+ ("R" "8" :string)
("E" "8" :string)
- ("L" "8" :string)
- ("I" "8" :string)
- ("W" "8" :string)
- ("B" "8" :string)
- ("H" "8" :string)
- ("A" "8" :string)
- ("S" "8" :string)
("U" "8" :string)
- ("M" "8" :string)
+ ("O" "8" :string)
+ ("S" "8" :string)
+ ("H" "8" :string)
("D" "8" :string)
- ("N" "8" :string)
+ ("L" "8" :string)
+ ("Q" "8" :string)
+ ("X" "8" :string)
+ ("C" "8" :string)
("J" "8" :string)
("V" "8" :string)
- ("Q" "8" :string)
+ ("K" "8" :string)
+ ("G" "8" :string)
+ ("Y" "8" :string)
("T" "8" :string)
- ("P" "8" :string)
- ("X" "8" :string)
- ("R" "8" :string)
+ ("W" "8" :string)
+ ("N" "8" :string)
+ ("F" "8" :string)
+ ("I" "8" :string)
("Z" "8" :string)
- ("C" "8" :string)
- ("k" "9" :string)
- ("w" "9" :string)
- ("n" "9" :string)
- ("f" "9" :string)
- ("v" "9" :string)
- ("l" "9" :string)
- ("c" "9" :string)
- ("y" "9" :string)
- ("o" "9" :string)
- ("t" "9" :string)
- ("u" "9" :string)
- ("g" "9" :string)
- ("h" "9" :string)
- ("m" "9" :string)
- ("q" "9" :string)
+ ("A" "8" :string)
+ ("M" "8" :string)
+ ("P" "8" :string)
+ ("B" "8" :string)
("d" "9" :string)
- ("x" "9" :string)
- ("a" "9" :string)
+ ("y" "9" :string)
("i" "9" :string)
+ ("f" "9" :string)
+ ("a" "9" :string)
+ ("r" "9" :string)
("e" "9" :string)
("j" "9" :string)
- ("s" "9" :string)
- ("b" "9" :string)
+ ("x" "9" :string)
("p" "9" :string)
+ ("o" "9" :string)
+ ("c" "9" :string)
("z" "9" :string)
- ("r" "9" :string)
+ ("g" "9" :string)
+ ("m" "9" :string)
+ ("q" "9" :string)
+ ("v" "9" :string)
+ ("h" "9" :string)
+ ("t" "9" :string)
+ ("l" "9" :string)
+ ("n" "9" :string)
+ ("b" "9" :string)
+ ("k" "9" :string)
+ ("s" "9" :string)
+ ("u" "9" :string)
+ ("w" "9" :string)
))
(define-rule-set "pe-ignore-special"
:rules (("‌" "" :string)
- ("ُ" "" :string)
- ("َ" "" :string)
- ("ً" "" :string)
- ("ٌ" "" :string)
- ("ٍ" "" :string)
- ("ـ" "" :string)
("ء" "" :string)
- ("»" "" :string)
("ْ" "" :string)
- ("ٔ" "" :string)
("«" "" :string)
- ("ِ" "" :string)
+ ("ٍ" "" :string)
+ ("َ" "" :string)
+ ("ُ" "" :string)
+ ("ـ" "" :string)
+ ("ٔ" "" :string)
+ ("؛" "" :string)
+ ("ً" "" :string)
("ّ" "" :string)
+ ("ٌ" "" :string)
+ ("ِ" "" :string)
+ ("،" "" :string)
+ ("»" "" :string)
+ ("}" "" :string)
("-" "" :string)
- ("!" "" :string)
("." "" :string)
("'" "" :string)
- ("{" "" :string)
("?" "" :string)
- ("}" "" :string)
+ ("{" "" :string)
+ ("!" "" :string)
))
(define-rule-set "pe-resolve-special"
:rules (("‌" "" :string)
- ("ش" "" :string)
- ("ë" "" :string)
- ("à" "" :string)
- ("ؤ" "" :string)
- ("ر" "" :string)
- ("ô" "" :string)
- ("ئ" "" :string)
- ("ژ" "" :string)
- ("Ç" "" :string)
- ("د" "" :string)
- ("ط" "" :string)
- ("Ô" "" :string)
+ ("س" "" :string)
("ا" "" :string)
- ("Ö" "" :string)
- ("þ" "" :string)
- ("ی" "" :string)
- ("Þ" "" :string)
- ("ö" "" :string)
- ("آ" "" :string)
- ("ک" "" :string)
- ("ï" "" :string)
- ("ذ" "" :string)
- ("ظ" "" :string)
- ("è" "" :string)
("ه" "" :string)
- ("ð" "" :string)
- ("ع" "" :string)
+ ("أ" "" :string)
+ ("غ" "" :string)
("ز" "" :string)
- ("ب" "" :string)
- ("Ë" "" :string)
("خ" "" :string)
- ("ص" "" :string)
- ("چ" "" :string)
- ("ñ" "" :string)
+ ("ی" "" :string)
+ ("ک" "" :string)
("ق" "" :string)
- ("أ" "" :string)
- ("ل" "" :string)
- ("گ" "" :string)
+ ("م" "" :string)
("ج" "" :string)
- ("é" "" :string)
- ("Ï" "" :string)
- ("و" "" :string)
+ ("ñ" "" :string)
+ ("è" "" :string)
+ ("ï" "" :string)
+ ("ئ" "" :string)
+ ("Ê" "" :string)
+ ("ؤ" "" :string)
("ت" "" :string)
- ("ê" "" :string)
+ ("ë" "" :string)
+ ("à" "" :string)
+ ("و" "" :string)
+ ("ث" "" :string)
("ç" "" :string)
+ ("ذ" "" :string)
+ ("Ñ" "" :string)
+ ("é" "" :string)
+ ("ع" "" :string)
+ ("ف" "" :string)
+ ("ط" "" :string)
+ ("گ" "" :string)
+ ("Ð" "" :string)
+ ("Ç" "" :string)
+ ("ö" "" :string)
+ ("ظ" "" :string)
("ن" "" :string)
- ("È" "" :string)
- ("م" "" :string)
- ("ض" "" :string)
- ("ح" "" :string)
- ("غ" "" :string)
("پ" "" :string)
- ("س" "" :string)
- ("Ê" "" :string)
- ("ف" "" :string)
+ ("ش" "" :string)
+ ("þ" "" :string)
+ ("Ï" "" :string)
+ ("چ" "" :string)
("À" "" :string)
- ("Ñ" "" :string)
+ ("ð" "" :string)
+ ("Þ" "" :string)
+ ("ض" "" :string)
+ ("ح" "" :string)
+ ("ر" "" :string)
+ ("Ö" "" :string)
+ ("آ" "" :string)
+ ("ب" "" :string)
+ ("Ë" "" :string)
+ ("È" "" :string)
("É" "" :string)
- ("ث" "" :string)
- ("Ð" "" :string)
- ("œ" "" :string)
+ ("Ô" "" :string)
+ ("ژ" "" :string)
+ ("ô" "" :string)
+ ("د" "" :string)
+ ("ê" "" :string)
+ ("ل" "" :string)
+ ("ص" "" :string)
("Æ" "" :string)
("Œ" "" :string)
+ ("œ" "" :string)
("æ" "" :string)
("ّ" "" :string)
("َ" "" :string)
@@ -526,61 +528,63 @@
("«" "" :string)
("»" "" :string)
("ـ" "" :string)
+ ("،" "" :string)
+ ("؛" "" :string)
("?" "" :string)
("!" "" :string)
("." "" :string)
- ("H" "" :string)
- ("S" "" :string)
- ("l" "" :string)
("M" "" :string)
+ ("b" "" :string)
+ ("k" "" :string)
("B" "" :string)
+ ("s" "" :string)
+ ("F" "" :string)
+ ("t" "" :string)
+ ("Y" "" :string)
("W" "" :string)
+ ("A" "" :string)
+ ("X" "" :string)
+ ("o" "" :string)
+ ("Q" "" :string)
+ ("x" "" :string)
+ ("p" "" :string)
("v" "" :string)
- ("F" "" :string)
+ ("V" "" :string)
+ ("z" "" :string)
("K" "" :string)
+ ("E" "" :string)
+ ("H" "" :string)
+ ("D" "" :string)
+ ("L" "" :string)
+ ("j" "" :string)
+ ("a" "" :string)
+ ("n" "" :string)
+ ("w" "" :string)
+ ("P" "" :string)
+ ("u" "" :string)
("I" "" :string)
- ("R" "" :string)
+ ("T" "" :string)
+ ("h" "" :string)
+ ("N" "" :string)
+ ("l" "" :string)
("Z" "" :string)
("C" "" :string)
- ("r" "" :string)
- ("s" "" :string)
- ("d" "" :string)
- ("x" "" :string)
- ("T" "" :string)
- ("P" "" :string)
- ("i" "" :string)
- ("y" "" :string)
- ("J" "" :string)
- ("q" "" :string)
("m" "" :string)
- ("A" "" :string)
- ("U" "" :string)
- ("N" "" :string)
- ("D" "" :string)
- ("c" "" :string)
- ("f" "" :string)
- ("E" "" :string)
- ("L" "" :string)
- ("n" "" :string)
- ("k" "" :string)
- ("Y" "" :string)
("G" "" :string)
+ ("q" "" :string)
+ ("J" "" :string)
+ ("c" "" :string)
+ ("g" "" :string)
("O" "" :string)
- ("w" "" :string)
- ("z" "" :string)
+ ("d" "" :string)
+ ("y" "" :string)
+ ("R" "" :string)
+ ("U" "" :string)
+ ("r" "" :string)
("e" "" :string)
- ("j" "" :string)
- ("b" "" :string)
- ("p" "" :string)
- ("X" "" :string)
- ("a" "" :string)
- ("t" "" :string)
- ("o" "" :string)
- ("u" "" :string)
- ("g" "" :string)
- ("h" "" :string)
- ("V" "" :string)
- ("Q" "" :string)
+ ("f" "" :string)
+ ("S" "" :string)
+ ("i" "" :string)
("-" "" :string)
("'" "" :string)
("{" "" :string)
diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-lang.xdy
index 54153d737f..54153d737f 100644
--- a/indexing/xindy/contrib/xindy-persian/variant2-utf8-lang.xdy
+++ b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-lang.xdy
diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-test.xdy
index d6d1878f59..d6d1878f59 100644
--- a/indexing/xindy/contrib/xindy-persian/variant2-utf8-test.xdy
+++ b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-test.xdy
diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8.xdy
index e0e73044c4..ce90a86b19 100644
--- a/indexing/xindy/contrib/xindy-persian/variant2-utf8.xdy
+++ b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8.xdy
@@ -35,32 +35,32 @@
(define-letter-group "ه" :after "و" :prefixes (""))
(define-letter-group "ی" :after "ه" :prefixes (""))
(define-letter-group "A" :after "ی" :prefixes (""))
-(define-letter-group "B" :after "A" :prefixes (""))
-(define-letter-group "C" :after "B" :prefixes (""))
-(define-letter-group "D" :after "C" :prefixes (""))
-(define-letter-group "E" :after "D" :prefixes (""))
-(define-letter-group "F" :after "E" :prefixes (""))
-(define-letter-group "G" :after "F" :prefixes (""))
-(define-letter-group "H" :after "G" :prefixes (""))
-(define-letter-group "I" :after "H" :prefixes (""))
-(define-letter-group "J" :after "I" :prefixes (""))
-(define-letter-group "K" :after "J" :prefixes (""))
-(define-letter-group "L" :after "K" :prefixes (""))
-(define-letter-group "M" :after "L" :prefixes (""))
-(define-letter-group "N" :after "M" :prefixes (""))
-(define-letter-group "O" :after "N" :prefixes (""))
-(define-letter-group "P" :after "O" :prefixes (""))
-(define-letter-group "Q" :after "P" :prefixes (""))
-(define-letter-group "R" :after "Q" :prefixes (""))
-(define-letter-group "S" :after "R" :prefixes (""))
-(define-letter-group "T" :after "S" :prefixes (""))
-(define-letter-group "U" :after "T" :prefixes (""))
-(define-letter-group "V" :after "U" :prefixes (""))
-(define-letter-group "W" :after "V" :prefixes (""))
-(define-letter-group "X" :after "W" :prefixes (""))
-(define-letter-group "Y" :after "X" :prefixes (""))
-(define-letter-group "Z" :after "Y" :prefixes (""))
-(define-letter-group "Þ" :after "Z" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "D" :after "C" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "F" :after "E" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "L" :after "K" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "O" :after "N" :prefixes (""))
+(define-letter-group "P" :after "O" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "T" :after "S" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes ("Ă"))
+(define-letter-group "V" :after "U" :prefixes ("ć"))
+(define-letter-group "W" :after "V" :prefixes ("Ĉ"))
+(define-letter-group "X" :after "W" :prefixes ("č"))
+(define-letter-group "Y" :after "X" :prefixes ("ď"))
+(define-letter-group "Z" :after "Y" :prefixes ("Ē"))
+(define-letter-group "Þ" :after "Z" :prefixes ("Ę"))
(define-rule-set "pe-alphabetize"
@@ -98,422 +98,424 @@
("ؤ" "" :string)
("و" "" :string)
("ه" "" :string)
- ("ئ" "" :string)
("ی" "" :string)
+ ("ئ" "" :string)
("À" "" :string)
("à" "" :string)
- ("Æ" "" :string)
- ("æ" "" :string)
- ("Ç" "" :string)
- ("ç" "" :string)
- ("ð" "" :string)
- ("Ð" "" :string)
- ("è" "" :string)
- ("Ë" "" :string)
- ("É" "" :string)
- ("ë" "" :string)
- ("È" "" :string)
- ("Ê" "" :string)
- ("ê" "" :string)
- ("é" "" :string)
- ("ï" "" :string)
- ("Ï" "" :string)
- ("Ñ" "" :string)
- ("ñ" "" :string)
- ("ô" "" :string)
- ("ö" "" :string)
- ("Ö" "" :string)
- ("Ô" "" :string)
- ("œ" "" :string)
- ("Œ" "" :string)
- ("Þ" "" :string)
- ("þ" "" :string)
- ("a" "" :string)
+ ("Æ" "" :string)
+ ("æ" "" :string)
+ ("ç" "" :string)
+ ("Ç" "" :string)
+ ("Ð" "" :string)
+ ("ð" "" :string)
+ ("É" "" :string)
+ ("ê" "" :string)
+ ("Ë" "" :string)
+ ("È" "" :string)
+ ("ë" "" :string)
+ ("Ê" "" :string)
+ ("è" "" :string)
+ ("é" "" :string)
+ ("Ï" "" :string)
+ ("ï" "" :string)
+ ("Ñ" "" :string)
+ ("ñ" "" :string)
+ ("ö" "" :string)
+ ("Ö" "" :string)
+ ("ô" "" :string)
+ ("Ô" "" :string)
+ ("Œ" "" :string)
+ ("œ" "" :string)
+ ("Þ" "Ę" :string)
+ ("þ" "Ę" :string)
("A" "" :string)
- ("b" "" :string)
- ("B" "" :string)
- ("C" "" :string)
- ("c" "" :string)
- ("d" "" :string)
- ("D" "" :string)
- ("e" "" :string)
- ("E" "" :string)
- ("F" "" :string)
- ("f" "" :string)
- ("g" "" :string)
- ("G" "" :string)
- ("H" "" :string)
- ("h" "" :string)
- ("i" "" :string)
- ("I" "" :string)
- ("J" "" :string)
- ("j" "" :string)
- ("K" "" :string)
- ("k" "" :string)
- ("l" "" :string)
- ("L" "" :string)
- ("m" "" :string)
- ("M" "" :string)
- ("n" "" :string)
- ("N" "" :string)
- ("O" "" :string)
- ("o" "" :string)
- ("P" "" :string)
- ("p" "" :string)
- ("q" "" :string)
- ("Q" "" :string)
- ("R" "" :string)
- ("r" "" :string)
- ("s" "" :string)
- ("S" "" :string)
- ("T" "" :string)
- ("t" "" :string)
- ("u" "" :string)
- ("U" "" :string)
- ("V" "" :string)
- ("v" "" :string)
- ("w" "" :string)
- ("W" "" :string)
- ("X" "" :string)
- ("x" "" :string)
- ("Y" "" :string)
- ("y" "" :string)
- ("Z" "" :string)
- ("z" "" :string)
+ ("a" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("E" "" :string)
+ ("e" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("h" "" :string)
+ ("H" "" :string)
+ ("I" "" :string)
+ ("i" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("K" "" :string)
+ ("k" "" :string)
+ ("l" "" :string)
+ ("L" "" :string)
+ ("m" "" :string)
+ ("M" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("O" "" :string)
+ ("o" "" :string)
+ ("P" "" :string)
+ ("p" "" :string)
+ ("Q" "" :string)
+ ("q" "" :string)
+ ("R" "" :string)
+ ("r" "" :string)
+ ("s" "" :string)
+ ("S" "" :string)
+ ("t" "" :string)
+ ("T" "" :string)
+ ("u" "Ă" :string)
+ ("U" "Ă" :string)
+ ("V" "ć" :string)
+ ("v" "ć" :string)
+ ("W" "Ĉ" :string)
+ ("w" "Ĉ" :string)
+ ("x" "č" :string)
+ ("X" "č" :string)
+ ("Y" "ď" :string)
+ ("y" "ď" :string)
+ ("Z" "Ē" :string)
+ ("z" "Ē" :string)
))
(define-rule-set "pe-resolve-diacritics"
- :rules (("Þ" "" :string)
- ("ؤ" "" :string)
- ("ل" "" :string)
- ("ع" "" :string)
- ("ر" "" :string)
- ("ط" "" :string)
- ("ض" "" :string)
- ("ت" "" :string)
- ("ق" "" :string)
- ("پ" "" :string)
- ("ح" "" :string)
- ("ئ" "" :string)
- ("آ" "" :string)
- ("ف" "" :string)
- ("د" "" :string)
- ("چ" "" :string)
+ :rules (("پ" "" :string)
("خ" "" :string)
("ش" "" :string)
- ("گ" "" :string)
- ("ج" "" :string)
- ("ن" "" :string)
- ("ظ" "" :string)
("م" "" :string)
- ("ز" "" :string)
- ("ژ" "" :string)
("ه" "" :string)
+ ("ظ" "" :string)
+ ("ؤ" "" :string)
+ ("گ" "" :string)
+ ("ل" "" :string)
+ ("ر" "" :string)
+ ("ا" "" :string)
+ ("ق" "" :string)
("ب" "" :string)
- ("و" "" :string)
- ("غ" "" :string)
- ("ص" "" :string)
+ ("ج" "" :string)
("ذ" "" :string)
("ث" "" :string)
- ("أ" "" :string)
+ ("þ" "" :string)
+ ("ع" "" :string)
+ ("و" "" :string)
+ ("ص" "" :string)
+ ("ط" "" :string)
+ ("Þ" "" :string)
+ ("چ" "" :string)
("ک" "" :string)
- ("ا" "" :string)
- ("ی" "" :string)
("س" "" :string)
- ("þ" "" :string)
- ("ö" "" :string)
- ("É" "" :string)
- ("à" "" :string)
- ("Ñ" "" :string)
- ("À" "" :string)
+ ("ز" "" :string)
+ ("آ" "" :string)
+ ("ی" "" :string)
+ ("ض" "" :string)
+ ("ت" "" :string)
+ ("ئ" "" :string)
+ ("أ" "" :string)
+ ("د" "" :string)
+ ("غ" "" :string)
+ ("ف" "" :string)
+ ("ح" "" :string)
+ ("ژ" "" :string)
+ ("ن" "" :string)
("ï" "" :string)
("é" "" :string)
+ ("É" "" :string)
+ ("ñ" "" :string)
("Ð" "" :string)
("ç" "" :string)
- ("Ç" "" :string)
+ ("Ñ" "" :string)
+ ("à" "" :string)
+ ("Ö" "" :string)
("Ï" "" :string)
+ ("ö" "" :string)
("ð" "" :string)
- ("Ö" "" :string)
- ("ñ" "" :string)
+ ("À" "" :string)
+ ("Ç" "" :string)
("ô" "" :string)
- ("È" "" :string)
("è" "" :string)
("Ô" "" :string)
+ ("È" "" :string)
("ë" "" :string)
("Ë" "" :string)
- ("ê" "" :string)
("Ê" "" :string)
- ("Æ" "" :string)
+ ("ê" "" :string)
("œ" "" :string)
("æ" "" :string)
+ ("Æ" "" :string)
("Œ" "" :string)
- ("d" "" :string)
- ("i" "" :string)
- ("K" "" :string)
- ("I" "" :string)
- ("l" "" :string)
- ("M" "" :string)
+ ("L" "" :string)
+ ("z" "" :string)
+ ("y" "" :string)
("D" "" :string)
- ("O" "" :string)
+ ("X" "" :string)
+ ("k" "" :string)
+ ("f" "" :string)
+ ("S" "" :string)
+ ("v" "" :string)
+ ("M" "" :string)
("a" "" :string)
- ("J" "" :string)
("U" "" :string)
- ("H" "" :string)
- ("F" "" :string)
- ("V" "" :string)
- ("v" "" :string)
("T" "" :string)
- ("q" "" :string)
- ("u" "" :string)
- ("y" "" :string)
- ("m" "" :string)
- ("s" "" :string)
- ("n" "" :string)
- ("Y" "" :string)
- ("e" "" :string)
+ ("H" "" :string)
("p" "" :string)
- ("W" "" :string)
- ("B" "" :string)
- ("c" "" :string)
- ("z" "" :string)
- ("Q" "" :string)
- ("h" "" :string)
- ("r" "" :string)
+ ("e" "" :string)
("C" "" :string)
- ("A" "" :string)
- ("x" "" :string)
- ("G" "" :string)
- ("o" "" :string)
- ("S" "" :string)
- ("k" "" :string)
("t" "" :string)
- ("w" "" :string)
- ("E" "" :string)
- ("f" "" :string)
- ("g" "" :string)
- ("L" "" :string)
- ("N" "" :string)
+ ("r" "" :string)
+ ("b" "" :string)
+ ("h" "" :string)
("R" "" :string)
+ ("i" "" :string)
+ ("I" "" :string)
+ ("F" "" :string)
+ ("W" "" :string)
+ ("O" "" :string)
+ ("J" "" :string)
("j" "" :string)
- ("X" "" :string)
+ ("d" "" :string)
+ ("E" "" :string)
+ ("c" "" :string)
+ ("m" "" :string)
+ ("g" "" :string)
+ ("G" "" :string)
+ ("B" "" :string)
+ ("K" "" :string)
+ ("l" "" :string)
+ ("A" "" :string)
+ ("o" "" :string)
+ ("u" "" :string)
+ ("Y" "" :string)
+ ("Q" "" :string)
("Z" "" :string)
- ("b" "" :string)
+ ("n" "" :string)
+ ("q" "" :string)
("P" "" :string)
+ ("s" "" :string)
+ ("x" "" :string)
+ ("N" "" :string)
+ ("V" "" :string)
+ ("w" "" :string)
))
(define-rule-set "pe-resolve-case"
- :rules (("À" "8" :string)
- ("Ë" "8" :string)
- ("È" "8" :string)
- ("Ñ" "8" :string)
- ("É" "8" :string)
- ("Þ" "8" :string)
+ :rules (("Ô" "8" :string)
("Ê" "8" :string)
+ ("و" "8" :string)
+ ("È" "8" :string)
("Ö" "8" :string)
+ ("Ë" "8" :string)
("ی" "8" :string)
+ ("À" "8" :string)
("Ï" "8" :string)
- ("و" "8" :string)
("Ç" "8" :string)
+ ("É" "8" :string)
("Ð" "8" :string)
- ("Ô" "8" :string)
- ("Æ" "89" :string)
+ ("Ñ" "8" :string)
+ ("Þ" "8" :string)
("Œ" "89" :string)
+ ("Æ" "89" :string)
+ ("ذ" "9" :string)
+ ("ب" "9" :string)
+ ("ج" "9" :string)
+ ("ق" "9" :string)
+ ("é" "9" :string)
+ ("è" "9" :string)
+ ("ث" "9" :string)
+ ("ع" "9" :string)
+ ("þ" "9" :string)
("ش" "9" :string)
+ ("ë" "9" :string)
("خ" "9" :string)
- ("چ" "9" :string)
- ("ظ" "9" :string)
- ("è" "9" :string)
- ("ج" "9" :string)
- ("ن" "9" :string)
- ("گ" "9" :string)
- ("آ" "9" :string)
- ("د" "9" :string)
- ("ف" "9" :string)
- ("ئ" "9" :string)
- ("ï" "9" :string)
- ("ح" "9" :string)
("پ" "9" :string)
- ("ق" "9" :string)
+ ("م" "9" :string)
+ ("ï" "9" :string)
+ ("ؤ" "9" :string)
+ ("گ" "9" :string)
+ ("ه" "9" :string)
+ ("ظ" "9" :string)
+ ("ا" "9" :string)
+ ("ر" "9" :string)
+ ("ل" "9" :string)
("ô" "9" :string)
- ("ë" "9" :string)
- ("ط" "9" :string)
+ ("ک" "9" :string)
+ ("س" "9" :string)
+ ("ز" "9" :string)
("à" "9" :string)
- ("ض" "9" :string)
+ ("أ" "9" :string)
+ ("ئ" "9" :string)
("ت" "9" :string)
- ("ع" "9" :string)
- ("ل" "9" :string)
- ("ر" "9" :string)
+ ("آ" "9" :string)
+ ("ض" "9" :string)
+ ("ح" "9" :string)
("ö" "9" :string)
- ("ؤ" "9" :string)
- ("ê" "9" :string)
- ("س" "9" :string)
- ("ñ" "9" :string)
- ("þ" "9" :string)
- ("ا" "9" :string)
- ("أ" "9" :string)
- ("ک" "9" :string)
- ("ث" "9" :string)
("ð" "9" :string)
- ("ص" "9" :string)
("غ" "9" :string)
- ("ذ" "9" :string)
- ("ب" "9" :string)
- ("ç" "9" :string)
- ("ز" "9" :string)
+ ("د" "9" :string)
+ ("ف" "9" :string)
+ ("ن" "9" :string)
+ ("ê" "9" :string)
("ژ" "9" :string)
- ("م" "9" :string)
- ("ه" "9" :string)
- ("é" "9" :string)
+ ("ص" "9" :string)
+ ("ñ" "9" :string)
+ ("ط" "9" :string)
+ ("چ" "9" :string)
+ ("ç" "9" :string)
("œ" "99" :string)
("æ" "99" :string)
- ("Y" "8" :string)
- ("V" "8" :string)
- ("F" "8" :string)
("T" "8" :string)
- ("O" "8" :string)
("H" "8" :string)
("U" "8" :string)
- ("J" "8" :string)
+ ("C" "8" :string)
+ ("R" "8" :string)
+ ("L" "8" :string)
+ ("X" "8" :string)
+ ("D" "8" :string)
("M" "8" :string)
- ("I" "8" :string)
+ ("S" "8" :string)
+ ("A" "8" :string)
("K" "8" :string)
- ("D" "8" :string)
- ("R" "8" :string)
- ("P" "8" :string)
+ ("Y" "8" :string)
+ ("Q" "8" :string)
("Z" "8" :string)
- ("X" "8" :string)
("N" "8" :string)
- ("L" "8" :string)
+ ("P" "8" :string)
+ ("V" "8" :string)
+ ("F" "8" :string)
+ ("W" "8" :string)
+ ("J" "8" :string)
+ ("O" "8" :string)
+ ("I" "8" :string)
("E" "8" :string)
("G" "8" :string)
- ("A" "8" :string)
- ("S" "8" :string)
- ("C" "8" :string)
- ("Q" "8" :string)
- ("W" "8" :string)
("B" "8" :string)
+ ("t" "9" :string)
("e" "9" :string)
- ("n" "9" :string)
- ("s" "9" :string)
+ ("p" "9" :string)
+ ("b" "9" :string)
+ ("r" "9" :string)
+ ("i" "9" :string)
+ ("h" "9" :string)
+ ("z" "9" :string)
("y" "9" :string)
- ("m" "9" :string)
- ("u" "9" :string)
- ("q" "9" :string)
("v" "9" :string)
+ ("k" "9" :string)
+ ("f" "9" :string)
("a" "9" :string)
+ ("o" "9" :string)
+ ("u" "9" :string)
("l" "9" :string)
- ("d" "9" :string)
- ("i" "9" :string)
- ("j" "9" :string)
- ("b" "9" :string)
- ("g" "9" :string)
- ("w" "9" :string)
- ("t" "9" :string)
- ("f" "9" :string)
+ ("q" "9" :string)
+ ("n" "9" :string)
+ ("s" "9" :string)
("x" "9" :string)
- ("k" "9" :string)
- ("o" "9" :string)
- ("r" "9" :string)
- ("h" "9" :string)
+ ("w" "9" :string)
+ ("j" "9" :string)
+ ("m" "9" :string)
+ ("d" "9" :string)
("c" "9" :string)
- ("z" "9" :string)
- ("p" "9" :string)
+ ("g" "9" :string)
))
(define-rule-set "pe-ignore-special"
:rules (("‌" "" :string)
+ ("ْ" "" :string)
("ِ" "" :string)
+ ("،" "" :string)
+ ("«" "" :string)
("ـ" "" :string)
- ("َ" "" :string)
- ("ٌ" "" :string)
("ّ" "" :string)
- ("ٍ" "" :string)
+ ("ٔ" "" :string)
("ُ" "" :string)
- ("ْ" "" :string)
- ("ء" "" :string)
("»" "" :string)
- ("ٔ" "" :string)
+ ("ء" "" :string)
+ ("ٌ" "" :string)
+ ("ٍ" "" :string)
("ً" "" :string)
- ("«" "" :string)
- ("{" "" :string)
+ ("؛" "" :string)
+ ("َ" "" :string)
("." "" :string)
- ("?" "" :string)
+ ("'" "" :string)
("-" "" :string)
+ ("{" "" :string)
("!" "" :string)
- ("'" "" :string)
+ ("?" "" :string)
("}" "" :string)
))
(define-rule-set "pe-resolve-special"
:rules (("‌" "" :string)
- ("Ô" "" :string)
- ("Ð" "" :string)
- ("ç" "" :string)
- ("ز" "" :string)
- ("ه" "" :string)
- ("Ç" "" :string)
- ("غ" "" :string)
- ("ص" "" :string)
- ("ذ" "" :string)
- ("ث" "" :string)
- ("ð" "" :string)
- ("Ö" "" :string)
- ("س" "" :string)
- ("þ" "" :string)
- ("ê" "" :string)
- ("Ê" "" :string)
- ("ع" "" :string)
- ("ö" "" :string)
- ("ë" "" :string)
("É" "" :string)
+ ("Þ" "" :string)
+ ("Ñ" "" :string)
+ ("چ" "" :string)
("à" "" :string)
- ("ت" "" :string)
- ("È" "" :string)
- ("ô" "" :string)
- ("پ" "" :string)
+ ("س" "" :string)
+ ("أ" "" :string)
("Ë" "" :string)
- ("ئ" "" :string)
- ("آ" "" :string)
- ("د" "" :string)
- ("ف" "" :string)
- ("ش" "" :string)
- ("چ" "" :string)
+ ("Ï" "" :string)
+ ("À" "" :string)
+ ("ö" "" :string)
("خ" "" :string)
- ("ج" "" :string)
- ("ن" "" :string)
- ("é" "" :string)
+ ("پ" "" :string)
("م" "" :string)
- ("ژ" "" :string)
+ ("ظ" "" :string)
+ ("گ" "" :string)
+ ("ô" "" :string)
+ ("ا" "" :string)
+ ("ق" "" :string)
+ ("ذ" "" :string)
+ ("ج" "" :string)
("ب" "" :string)
+ ("é" "" :string)
+ ("Ô" "" :string)
+ ("è" "" :string)
+ ("ث" "" :string)
("و" "" :string)
- ("Ï" "" :string)
- ("ا" "" :string)
- ("ک" "" :string)
- ("أ" "" :string)
- ("ی" "" :string)
+ ("ص" "" :string)
("ñ" "" :string)
- ("ؤ" "" :string)
- ("Þ" "" :string)
- ("ل" "" :string)
- ("ر" "" :string)
- ("Ñ" "" :string)
+ ("Ð" "" :string)
("ط" "" :string)
+ ("ç" "" :string)
+ ("ز" "" :string)
+ ("ک" "" :string)
+ ("È" "" :string)
+ ("ت" "" :string)
+ ("آ" "" :string)
+ ("ی" "" :string)
("ض" "" :string)
- ("ق" "" :string)
- ("À" "" :string)
+ ("ئ" "" :string)
+ ("Ö" "" :string)
+ ("ف" "" :string)
+ ("غ" "" :string)
+ ("د" "" :string)
("ح" "" :string)
+ ("ð" "" :string)
+ ("Ç" "" :string)
+ ("ن" "" :string)
+ ("ê" "" :string)
+ ("ژ" "" :string)
+ ("ë" "" :string)
+ ("ش" "" :string)
("ï" "" :string)
- ("ظ" "" :string)
- ("è" "" :string)
- ("گ" "" :string)
- ("Œ" "" :string)
- ("œ" "" :string)
+ ("ه" "" :string)
+ ("ؤ" "" :string)
+ ("ر" "" :string)
+ ("ل" "" :string)
+ ("Ê" "" :string)
+ ("ع" "" :string)
+ ("þ" "" :string)
("æ" "" :string)
+ ("Œ" "" :string)
("Æ" "" :string)
+ ("œ" "" :string)
("ّ" "" :string)
("َ" "" :string)
("ِ" "" :string)
@@ -527,61 +529,63 @@
("«" "" :string)
("»" "" :string)
("ـ" "" :string)
+ ("،" "" :string)
+ ("؛" "" :string)
("?" "" :string)
("!" "" :string)
("." "" :string)
+ ("j" "" :string)
+ ("J" "" :string)
+ ("W" "" :string)
("c" "" :string)
- ("p" "" :string)
- ("Q" "" :string)
- ("C" "" :string)
- ("r" "" :string)
- ("x" "" :string)
- ("k" "" :string)
+ ("E" "" :string)
+ ("d" "" :string)
+ ("m" "" :string)
+ ("G" "" :string)
+ ("l" "" :string)
("o" "" :string)
+ ("Z" "" :string)
+ ("n" "" :string)
+ ("Q" "" :string)
("w" "" :string)
+ ("D" "" :string)
+ ("z" "" :string)
+ ("k" "" :string)
+ ("M" "" :string)
+ ("v" "" :string)
+ ("T" "" :string)
+ ("e" "" :string)
+ ("p" "" :string)
("t" "" :string)
- ("N" "" :string)
+ ("r" "" :string)
("R" "" :string)
- ("j" "" :string)
- ("Z" "" :string)
- ("P" "" :string)
- ("d" "" :string)
+ ("h" "" :string)
("I" "" :string)
- ("M" "" :string)
- ("l" "" :string)
- ("a" "" :string)
- ("U" "" :string)
+ ("O" "" :string)
("F" "" :string)
- ("v" "" :string)
- ("T" "" :string)
- ("Y" "" :string)
- ("z" "" :string)
+ ("g" "" :string)
("B" "" :string)
- ("W" "" :string)
- ("h" "" :string)
+ ("K" "" :string)
+ ("u" "" :string)
("A" "" :string)
- ("G" "" :string)
+ ("Y" "" :string)
+ ("q" "" :string)
+ ("x" "" :string)
+ ("s" "" :string)
+ ("P" "" :string)
+ ("N" "" :string)
+ ("V" "" :string)
+ ("L" "" :string)
+ ("y" "" :string)
+ ("X" "" :string)
("S" "" :string)
("f" "" :string)
- ("E" "" :string)
- ("g" "" :string)
- ("L" "" :string)
+ ("a" "" :string)
+ ("H" "" :string)
+ ("U" "" :string)
+ ("C" "" :string)
("b" "" :string)
- ("X" "" :string)
("i" "" :string)
- ("K" "" :string)
- ("D" "" :string)
- ("O" "" :string)
- ("H" "" :string)
- ("J" "" :string)
- ("V" "" :string)
- ("q" "" :string)
- ("u" "" :string)
- ("y" "" :string)
- ("m" "" :string)
- ("s" "" :string)
- ("n" "" :string)
- ("e" "" :string)
("-" "" :string)
("'" "" :string)
("{" "" :string)
diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-lang.xdy
index 7f44812017..7f44812017 100644
--- a/indexing/xindy/contrib/xindy-persian/variant3-utf8-lang.xdy
+++ b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-lang.xdy
diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-test.xdy
index ad7cbf91dd..ad7cbf91dd 100644
--- a/indexing/xindy/contrib/xindy-persian/variant3-utf8-test.xdy
+++ b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-test.xdy
diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8.xdy
index b611539a13..90048616d8 100644
--- a/indexing/xindy/contrib/xindy-persian/variant3-utf8.xdy
+++ b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8.xdy
@@ -34,32 +34,32 @@
(define-letter-group "ه" :after "و" :prefixes (""))
(define-letter-group "ی" :after "ه" :prefixes (""))
(define-letter-group "A" :after "ی" :prefixes (""))
-(define-letter-group "B" :after "A" :prefixes (""))
-(define-letter-group "C" :after "B" :prefixes (""))
-(define-letter-group "D" :after "C" :prefixes (""))
-(define-letter-group "E" :after "D" :prefixes (""))
-(define-letter-group "F" :after "E" :prefixes (""))
-(define-letter-group "G" :after "F" :prefixes (""))
-(define-letter-group "H" :after "G" :prefixes (""))
-(define-letter-group "I" :after "H" :prefixes (""))
-(define-letter-group "J" :after "I" :prefixes (""))
-(define-letter-group "K" :after "J" :prefixes (""))
-(define-letter-group "L" :after "K" :prefixes (""))
-(define-letter-group "M" :after "L" :prefixes (""))
-(define-letter-group "N" :after "M" :prefixes (""))
-(define-letter-group "O" :after "N" :prefixes (""))
-(define-letter-group "P" :after "O" :prefixes (""))
-(define-letter-group "Q" :after "P" :prefixes (""))
-(define-letter-group "R" :after "Q" :prefixes (""))
-(define-letter-group "S" :after "R" :prefixes (""))
-(define-letter-group "T" :after "S" :prefixes (""))
-(define-letter-group "U" :after "T" :prefixes (""))
-(define-letter-group "V" :after "U" :prefixes (""))
-(define-letter-group "W" :after "V" :prefixes (""))
-(define-letter-group "X" :after "W" :prefixes (""))
-(define-letter-group "Y" :after "X" :prefixes (""))
-(define-letter-group "Z" :after "Y" :prefixes (""))
-(define-letter-group "Þ" :after "Z" :prefixes (""))
+(define-letter-group "B" :after "A" :prefixes (""))
+(define-letter-group "C" :after "B" :prefixes (""))
+(define-letter-group "D" :after "C" :prefixes (""))
+(define-letter-group "E" :after "D" :prefixes (""))
+(define-letter-group "F" :after "E" :prefixes (""))
+(define-letter-group "G" :after "F" :prefixes (""))
+(define-letter-group "H" :after "G" :prefixes (""))
+(define-letter-group "I" :after "H" :prefixes (""))
+(define-letter-group "J" :after "I" :prefixes (""))
+(define-letter-group "K" :after "J" :prefixes (""))
+(define-letter-group "L" :after "K" :prefixes (""))
+(define-letter-group "M" :after "L" :prefixes (""))
+(define-letter-group "N" :after "M" :prefixes (""))
+(define-letter-group "O" :after "N" :prefixes (""))
+(define-letter-group "P" :after "O" :prefixes (""))
+(define-letter-group "Q" :after "P" :prefixes (""))
+(define-letter-group "R" :after "Q" :prefixes (""))
+(define-letter-group "S" :after "R" :prefixes (""))
+(define-letter-group "T" :after "S" :prefixes (""))
+(define-letter-group "U" :after "T" :prefixes ("Ă"))
+(define-letter-group "V" :after "U" :prefixes ("ć"))
+(define-letter-group "W" :after "V" :prefixes ("Ĉ"))
+(define-letter-group "X" :after "W" :prefixes ("č"))
+(define-letter-group "Y" :after "X" :prefixes ("ď"))
+(define-letter-group "Z" :after "Y" :prefixes ("Ē"))
+(define-letter-group "Þ" :after "Z" :prefixes ("Ę"))
(define-rule-set "pe-alphabetize"
@@ -94,425 +94,427 @@
("ل" "" :string)
("م" "" :string)
("ن" "" :string)
- ("و" "" :string)
("ؤ" "" :string)
+ ("و" "" :string)
("ه" "" :string)
- ("ئ" "" :string)
("ی" "" :string)
- ("à" "" :string)
+ ("ئ" "" :string)
("À" "" :string)
- ("æ" "" :string)
- ("Æ" "" :string)
- ("ç" "" :string)
- ("Ç" "" :string)
- ("Ð" "" :string)
- ("ð" "" :string)
- ("ê" "" :string)
- ("è" "" :string)
- ("ë" "" :string)
- ("É" "" :string)
- ("é" "" :string)
- ("Ë" "" :string)
- ("È" "" :string)
- ("Ê" "" :string)
- ("ï" "" :string)
- ("Ï" "" :string)
- ("ñ" "" :string)
- ("Ñ" "" :string)
- ("Ô" "" :string)
- ("ô" "" :string)
- ("ö" "" :string)
- ("Ö" "" :string)
- ("Œ" "" :string)
- ("œ" "" :string)
- ("Þ" "" :string)
- ("þ" "" :string)
- ("A" "" :string)
+ ("à" "" :string)
+ ("æ" "" :string)
+ ("Æ" "" :string)
+ ("Ç" "" :string)
+ ("ç" "" :string)
+ ("ð" "" :string)
+ ("Ð" "" :string)
+ ("é" "" :string)
+ ("ë" "" :string)
+ ("ê" "" :string)
+ ("Ê" "" :string)
+ ("É" "" :string)
+ ("È" "" :string)
+ ("è" "" :string)
+ ("Ë" "" :string)
+ ("Ï" "" :string)
+ ("ï" "" :string)
+ ("Ñ" "" :string)
+ ("ñ" "" :string)
+ ("ö" "" :string)
+ ("Ö" "" :string)
+ ("Ô" "" :string)
+ ("ô" "" :string)
+ ("œ" "" :string)
+ ("Œ" "" :string)
+ ("Þ" "Ę" :string)
+ ("þ" "Ę" :string)
("a" "" :string)
- ("b" "" :string)
- ("B" "" :string)
- ("c" "" :string)
- ("C" "" :string)
- ("d" "" :string)
- ("D" "" :string)
- ("e" "" :string)
- ("E" "" :string)
- ("F" "" :string)
- ("f" "" :string)
- ("G" "" :string)
- ("g" "" :string)
- ("h" "" :string)
- ("H" "" :string)
- ("I" "" :string)
- ("i" "" :string)
- ("J" "" :string)
- ("j" "" :string)
- ("K" "" :string)
- ("k" "" :string)
- ("L" "" :string)
- ("l" "" :string)
- ("M" "" :string)
- ("m" "" :string)
- ("n" "" :string)
- ("N" "" :string)
- ("O" "" :string)
- ("o" "" :string)
- ("P" "" :string)
- ("p" "" :string)
- ("Q" "" :string)
- ("q" "" :string)
- ("r" "" :string)
- ("R" "" :string)
- ("s" "" :string)
- ("S" "" :string)
- ("t" "" :string)
- ("T" "" :string)
- ("u" "" :string)
- ("U" "" :string)
- ("V" "" :string)
- ("v" "" :string)
- ("w" "" :string)
- ("W" "" :string)
- ("X" "" :string)
- ("x" "" :string)
- ("y" "" :string)
- ("Y" "" :string)
- ("Z" "" :string)
- ("z" "" :string)
+ ("A" "" :string)
+ ("B" "" :string)
+ ("b" "" :string)
+ ("c" "" :string)
+ ("C" "" :string)
+ ("d" "" :string)
+ ("D" "" :string)
+ ("e" "" :string)
+ ("E" "" :string)
+ ("F" "" :string)
+ ("f" "" :string)
+ ("G" "" :string)
+ ("g" "" :string)
+ ("H" "" :string)
+ ("h" "" :string)
+ ("i" "" :string)
+ ("I" "" :string)
+ ("J" "" :string)
+ ("j" "" :string)
+ ("k" "" :string)
+ ("K" "" :string)
+ ("l" "" :string)
+ ("L" "" :string)
+ ("M" "" :string)
+ ("m" "" :string)
+ ("N" "" :string)
+ ("n" "" :string)
+ ("o" "" :string)
+ ("O" "" :string)
+ ("p" "" :string)
+ ("P" "" :string)
+ ("Q" "" :string)
+ ("q" "" :string)
+ ("R" "" :string)
+ ("r" "" :string)
+ ("s" "" :string)
+ ("S" "" :string)
+ ("T" "" :string)
+ ("t" "" :string)
+ ("u" "Ă" :string)
+ ("U" "Ă" :string)
+ ("v" "ć" :string)
+ ("V" "ć" :string)
+ ("W" "Ĉ" :string)
+ ("w" "Ĉ" :string)
+ ("X" "č" :string)
+ ("x" "č" :string)
+ ("Y" "ď" :string)
+ ("y" "ď" :string)
+ ("z" "Ē" :string)
+ ("Z" "Ē" :string)
))
(define-rule-set "pe-resolve-diacritics"
- :rules (("پ" "" :string)
- ("آ" "" :string)
- ("ئ" "" :string)
+ :rules (("ط" "" :string)
+ ("ص" "" :string)
("ی" "" :string)
- ("ه" "" :string)
- ("و" "" :string)
- ("ل" "" :string)
("م" "" :string)
- ("ن" "" :string)
- ("ؤ" "" :string)
("د" "" :string)
- ("ظ" "" :string)
- ("ض" "" :string)
- ("ث" "" :string)
- ("ق" "" :string)
- ("ذ" "" :string)
- ("س" "" :string)
- ("ج" "" :string)
- ("ع" "" :string)
("ژ" "" :string)
+ ("ل" "" :string)
+ ("أ" "" :string)
+ ("ز" "" :string)
("خ" "" :string)
- ("گ" "" :string)
- ("þ" "" :string)
+ ("ئ" "" :string)
("ر" "" :string)
+ ("ت" "" :string)
+ ("þ" "" :string)
+ ("ک" "" :string)
+ ("ؤ" "" :string)
+ ("ج" "" :string)
+ ("ن" "" :string)
+ ("ق" "" :string)
("ا" "" :string)
- ("ح" "" :string)
- ("ب" "" :string)
- ("ز" "" :string)
- ("ش" "" :string)
+ ("ض" "" :string)
+ ("ف" "" :string)
+ ("ظ" "" :string)
+ ("آ" "" :string)
+ ("ذ" "" :string)
+ ("ث" "" :string)
+ ("پ" "" :string)
+ ("س" "" :string)
("غ" "" :string)
- ("أ" "" :string)
("چ" "" :string)
- ("ک" "" :string)
- ("ف" "" :string)
- ("ط" "" :string)
- ("ت" "" :string)
+ ("ه" "" :string)
("Þ" "" :string)
- ("ص" "" :string)
+ ("ب" "" :string)
+ ("گ" "" :string)
+ ("و" "" :string)
+ ("ع" "" :string)
+ ("ش" "" :string)
+ ("ح" "" :string)
+ ("É" "" :string)
+ ("Ç" "" :string)
+ ("à" "" :string)
+ ("ç" "" :string)
("ð" "" :string)
- ("Ï" "" :string)
("Ð" "" :string)
- ("Ñ" "" :string)
- ("Ö" "" :string)
+ ("À" "" :string)
+ ("Ï" "" :string)
("ï" "" :string)
("é" "" :string)
("ö" "" :string)
- ("Ç" "" :string)
- ("à" "" :string)
- ("ç" "" :string)
- ("É" "" :string)
- ("À" "" :string)
+ ("Ñ" "" :string)
("ñ" "" :string)
- ("È" "" :string)
- ("è" "" :string)
+ ("Ö" "" :string)
("ô" "" :string)
("Ô" "" :string)
+ ("È" "" :string)
+ ("è" "" :string)
("Ë" "" :string)
("ë" "" :string)
("Ê" "" :string)
("ê" "" :string)
- ("œ" "" :string)
+ ("Œ" "" :string)
("Æ" "" :string)
+ ("œ" "" :string)
("æ" "" :string)
- ("Œ" "" :string)
- ("k" "" :string)
- ("R" "" :string)
+ ("V" "" :string)
+ ("X" "" :string)
+ ("Z" "" :string)
+ ("Q" "" :string)
("T" "" :string)
- ("o" "" :string)
- ("U" "" :string)
- ("D" "" :string)
- ("j" "" :string)
("z" "" :string)
- ("a" "" :string)
- ("p" "" :string)
+ ("H" "" :string)
+ ("j" "" :string)
+ ("m" "" :string)
+ ("o" "" :string)
+ ("W" "" :string)
("B" "" :string)
- ("f" "" :string)
- ("E" "" :string)
+ ("x" "" :string)
+ ("h" "" :string)
("g" "" :string)
- ("S" "" :string)
- ("K" "" :string)
- ("l" "" :string)
- ("v" "" :string)
- ("u" "" :string)
- ("i" "" :string)
+ ("w" "" :string)
+ ("G" "" :string)
+ ("f" "" :string)
+ ("q" "" :string)
("t" "" :string)
- ("O" "" :string)
- ("P" "" :string)
+ ("K" "" :string)
+ ("S" "" :string)
("s" "" :string)
+ ("r" "" :string)
+ ("P" "" :string)
+ ("b" "" :string)
+ ("O" "" :string)
+ ("F" "" :string)
("Y" "" :string)
- ("Z" "" :string)
+ ("i" "" :string)
+ ("a" "" :string)
+ ("R" "" :string)
+ ("p" "" :string)
+ ("I" "" :string)
+ ("e" "" :string)
("d" "" :string)
- ("q" "" :string)
+ ("k" "" :string)
+ ("U" "" :string)
+ ("u" "" :string)
("c" "" :string)
- ("J" "" :string)
- ("C" "" :string)
- ("m" "" :string)
+ ("N" "" :string)
+ ("l" "" :string)
+ ("M" "" :string)
("A" "" :string)
- ("F" "" :string)
- ("Q" "" :string)
("y" "" :string)
- ("r" "" :string)
- ("n" "" :string)
- ("M" "" :string)
- ("W" "" :string)
- ("x" "" :string)
- ("G" "" :string)
- ("N" "" :string)
- ("X" "" :string)
- ("w" "" :string)
- ("e" "" :string)
+ ("E" "" :string)
("L" "" :string)
- ("h" "" :string)
- ("b" "" :string)
- ("H" "" :string)
- ("I" "" :string)
- ("V" "" :string)
+ ("C" "" :string)
+ ("n" "" :string)
+ ("D" "" :string)
+ ("J" "" :string)
+ ("v" "" :string)
))
(define-rule-set "pe-resolve-case"
- :rules (("ی" "8" :string)
+ :rules (("Ñ" "8" :string)
("Ï" "8" :string)
- ("Ë" "8" :string)
- ("È" "8" :string)
- ("Ð" "8" :string)
+ ("À" "8" :string)
("و" "8" :string)
- ("Ñ" "8" :string)
("Ö" "8" :string)
+ ("Þ" "8" :string)
+ ("È" "8" :string)
+ ("Ô" "8" :string)
+ ("ی" "8" :string)
+ ("Ç" "8" :string)
("Ê" "8" :string)
("É" "8" :string)
- ("À" "8" :string)
- ("Ç" "8" :string)
- ("Ô" "8" :string)
- ("Þ" "8" :string)
- ("Æ" "89" :string)
+ ("Ë" "8" :string)
+ ("Ð" "8" :string)
("Œ" "89" :string)
- ("ئ" "9" :string)
- ("ه" "9" :string)
- ("ð" "9" :string)
+ ("Æ" "89" :string)
+ ("ث" "9" :string)
+ ("ذ" "9" :string)
("پ" "9" :string)
+ ("ö" "9" :string)
("آ" "9" :string)
- ("د" "9" :string)
+ ("ف" "9" :string)
+ ("é" "9" :string)
("ظ" "9" :string)
+ ("ë" "9" :string)
+ ("ï" "9" :string)
("ض" "9" :string)
- ("ث" "9" :string)
- ("é" "9" :string)
+ ("ا" "9" :string)
("ق" "9" :string)
- ("ذ" "9" :string)
- ("ö" "9" :string)
- ("س" "9" :string)
- ("ل" "9" :string)
- ("ï" "9" :string)
- ("م" "9" :string)
+ ("ج" "9" :string)
("ن" "9" :string)
+ ("ک" "9" :string)
("ؤ" "9" :string)
- ("à" "9" :string)
- ("ا" "9" :string)
- ("ر" "9" :string)
("ح" "9" :string)
- ("ç" "9" :string)
- ("ب" "9" :string)
- ("ز" "9" :string)
("ش" "9" :string)
- ("غ" "9" :string)
- ("ج" "9" :string)
+ ("ê" "9" :string)
("ع" "9" :string)
- ("ژ" "9" :string)
- ("خ" "9" :string)
("گ" "9" :string)
- ("þ" "9" :string)
- ("ط" "9" :string)
+ ("ب" "9" :string)
+ ("ه" "9" :string)
+ ("چ" "9" :string)
("ñ" "9" :string)
- ("ت" "9" :string)
+ ("غ" "9" :string)
+ ("س" "9" :string)
+ ("ژ" "9" :string)
+ ("ل" "9" :string)
+ ("ð" "9" :string)
+ ("د" "9" :string)
+ ("م" "9" :string)
+ ("à" "9" :string)
+ ("ç" "9" :string)
+ ("ô" "9" :string)
("ص" "9" :string)
- ("أ" "9" :string)
- ("چ" "9" :string)
- ("ê" "9" :string)
+ ("ط" "9" :string)
+ ("þ" "9" :string)
+ ("ت" "9" :string)
+ ("ر" "9" :string)
+ ("ئ" "9" :string)
+ ("خ" "9" :string)
+ ("ز" "9" :string)
("è" "9" :string)
- ("ô" "9" :string)
- ("ک" "9" :string)
- ("ف" "9" :string)
- ("ë" "9" :string)
- ("œ" "99" :string)
+ ("أ" "9" :string)
("æ" "99" :string)
+ ("œ" "99" :string)
+ ("U" "8" :string)
+ ("I" "8" :string)
+ ("R" "8" :string)
+ ("Y" "8" :string)
+ ("F" "8" :string)
("D" "8" :string)
- ("B" "8" :string)
+ ("J" "8" :string)
+ ("C" "8" :string)
+ ("L" "8" :string)
("E" "8" :string)
- ("R" "8" :string)
+ ("A" "8" :string)
+ ("M" "8" :string)
+ ("N" "8" :string)
+ ("G" "8" :string)
+ ("B" "8" :string)
+ ("W" "8" :string)
+ ("H" "8" :string)
+ ("Q" "8" :string)
("T" "8" :string)
- ("U" "8" :string)
+ ("X" "8" :string)
+ ("Z" "8" :string)
+ ("V" "8" :string)
("O" "8" :string)
("P" "8" :string)
("S" "8" :string)
("K" "8" :string)
- ("J" "8" :string)
- ("C" "8" :string)
- ("A" "8" :string)
- ("Z" "8" :string)
- ("Y" "8" :string)
- ("X" "8" :string)
- ("L" "8" :string)
- ("H" "8" :string)
- ("I" "8" :string)
- ("V" "8" :string)
- ("F" "8" :string)
- ("Q" "8" :string)
- ("M" "8" :string)
- ("W" "8" :string)
- ("G" "8" :string)
- ("N" "8" :string)
- ("j" "9" :string)
- ("z" "9" :string)
- ("a" "9" :string)
- ("p" "9" :string)
- ("f" "9" :string)
- ("k" "9" :string)
- ("o" "9" :string)
- ("l" "9" :string)
- ("v" "9" :string)
("u" "9" :string)
- ("t" "9" :string)
+ ("k" "9" :string)
+ ("d" "9" :string)
+ ("e" "9" :string)
+ ("p" "9" :string)
("i" "9" :string)
- ("s" "9" :string)
- ("g" "9" :string)
- ("q" "9" :string)
+ ("a" "9" :string)
+ ("v" "9" :string)
+ ("n" "9" :string)
+ ("y" "9" :string)
("c" "9" :string)
- ("m" "9" :string)
- ("d" "9" :string)
+ ("l" "9" :string)
("w" "9" :string)
- ("e" "9" :string)
("h" "9" :string)
+ ("g" "9" :string)
+ ("x" "9" :string)
+ ("o" "9" :string)
+ ("z" "9" :string)
+ ("j" "9" :string)
+ ("m" "9" :string)
("b" "9" :string)
- ("y" "9" :string)
("r" "9" :string)
- ("n" "9" :string)
- ("x" "9" :string)
+ ("s" "9" :string)
+ ("t" "9" :string)
+ ("q" "9" :string)
+ ("f" "9" :string)
))
(define-rule-set "pe-ignore-special"
:rules (("‌" "" :string)
- ("ٔ" "" :string)
- ("ء" "" :string)
- ("ُ" "" :string)
- ("ٍ" "" :string)
- ("ْ" "" :string)
- ("ّ" "" :string)
("«" "" :string)
- ("ً" "" :string)
- ("ٌ" "" :string)
- ("َ" "" :string)
("ـ" "" :string)
- ("»" "" :string)
+ ("ّ" "" :string)
("ِ" "" :string)
- ("{" "" :string)
+ ("ْ" "" :string)
+ ("؛" "" :string)
+ ("َ" "" :string)
+ ("ٍ" "" :string)
+ ("»" "" :string)
+ ("ٔ" "" :string)
+ ("ٌ" "" :string)
+ ("ً" "" :string)
+ ("،" "" :string)
+ ("ء" "" :string)
+ ("ُ" "" :string)
+ ("'" "" :string)
("." "" :string)
- ("-" "" :string)
("!" "" :string)
- ("'" "" :string)
- ("}" "" :string)
("?" "" :string)
+ ("-" "" :string)
+ ("}" "" :string)
+ ("{" "" :string)
))
(define-rule-set "pe-resolve-special"
:rules (("‌" "" :string)
- ("س" "" :string)
- ("é" "" :string)
- ("Ë" "" :string)
- ("ن" "" :string)
- ("م" "" :string)
- ("ï" "" :string)
- ("È" "" :string)
- ("ئ" "" :string)
- ("Ï" "" :string)
- ("آ" "" :string)
- ("پ" "" :string)
- ("ص" "" :string)
- ("ت" "" :string)
+ ("غ" "" :string)
("ñ" "" :string)
- ("Ô" "" :string)
- ("ë" "" :string)
- ("ف" "" :string)
- ("è" "" :string)
- ("ô" "" :string)
- ("ک" "" :string)
- ("أ" "" :string)
- ("ش" "" :string)
- ("ز" "" :string)
- ("ح" "" :string)
- ("ç" "" :string)
- ("É" "" :string)
+ ("چ" "" :string)
+ ("ب" "" :string)
+ ("ه" "" :string)
+ ("و" "" :string)
+ ("ع" "" :string)
("گ" "" :string)
- ("þ" "" :string)
- ("خ" "" :string)
- ("Ç" "" :string)
+ ("ê" "" :string)
+ ("ش" "" :string)
+ ("ن" "" :string)
("ج" "" :string)
+ ("À" "" :string)
+ ("Ï" "" :string)
+ ("ؤ" "" :string)
+ ("ا" "" :string)
("ق" "" :string)
- ("ذ" "" :string)
+ ("ظ" "" :string)
+ ("é" "" :string)
+ ("ف" "" :string)
+ ("ï" "" :string)
+ ("ë" "" :string)
+ ("Ñ" "" :string)
("ö" "" :string)
+ ("پ" "" :string)
+ ("ذ" "" :string)
("ث" "" :string)
+ ("è" "" :string)
+ ("خ" "" :string)
+ ("Ð" "" :string)
+ ("ر" "" :string)
+ ("ئ" "" :string)
+ ("þ" "" :string)
+ ("ت" "" :string)
+ ("É" "" :string)
("د" "" :string)
- ("ظ" "" :string)
+ ("م" "" :string)
+ ("س" "" :string)
+ ("Þ" "" :string)
+ ("Ö" "" :string)
+ ("ح" "" :string)
+ ("ک" "" :string)
("ض" "" :string)
+ ("آ" "" :string)
+ ("ز" "" :string)
+ ("أ" "" :string)
+ ("Ë" "" :string)
+ ("ص" "" :string)
("Ê" "" :string)
- ("ؤ" "" :string)
- ("Ñ" "" :string)
- ("Ö" "" :string)
- ("Ð" "" :string)
- ("و" "" :string)
- ("ل" "" :string)
- ("ه" "" :string)
- ("ی" "" :string)
- ("ð" "" :string)
- ("Þ" "" :string)
("ط" "" :string)
- ("ê" "" :string)
- ("چ" "" :string)
- ("غ" "" :string)
- ("ب" "" :string)
- ("À" "" :string)
+ ("Ô" "" :string)
+ ("ô" "" :string)
+ ("Ç" "" :string)
+ ("ی" "" :string)
("à" "" :string)
- ("ر" "" :string)
- ("ا" "" :string)
- ("ع" "" :string)
+ ("ç" "" :string)
("ژ" "" :string)
- ("Œ" "" :string)
+ ("ل" "" :string)
+ ("È" "" :string)
+ ("ð" "" :string)
+ ("œ" "" :string)
("æ" "" :string)
("Æ" "" :string)
- ("œ" "" :string)
+ ("Œ" "" :string)
("ّ" "" :string)
("َ" "" :string)
("ِ" "" :string)
@@ -526,61 +528,63 @@
("«" "" :string)
("»" "" :string)
("ـ" "" :string)
+ ("،" "" :string)
+ ("؛" "" :string)
("?" "" :string)
("!" "" :string)
("." "" :string)
- ("P" "" :string)
- ("t" "" :string)
- ("v" "" :string)
+ ("A" "" :string)
+ ("E" "" :string)
+ ("C" "" :string)
+ ("n" "" :string)
+ ("D" "" :string)
+ ("R" "" :string)
+ ("p" "" :string)
+ ("a" "" :string)
+ ("i" "" :string)
+ ("I" "" :string)
("u" "" :string)
- ("l" "" :string)
+ ("U" "" :string)
+ ("f" "" :string)
+ ("q" "" :string)
("K" "" :string)
("S" "" :string)
- ("B" "" :string)
- ("f" "" :string)
- ("p" "" :string)
- ("D" "" :string)
+ ("r" "" :string)
+ ("V" "" :string)
("j" "" :string)
- ("a" "" :string)
+ ("W" "" :string)
("o" "" :string)
- ("k" "" :string)
- ("I" "" :string)
- ("H" "" :string)
- ("e" "" :string)
- ("X" "" :string)
- ("G" "" :string)
- ("N" "" :string)
+ ("T" "" :string)
("x" "" :string)
+ ("w" "" :string)
+ ("g" "" :string)
+ ("h" "" :string)
("y" "" :string)
- ("n" "" :string)
+ ("N" "" :string)
+ ("l" "" :string)
+ ("c" "" :string)
("M" "" :string)
+ ("L" "" :string)
+ ("v" "" :string)
+ ("J" "" :string)
("F" "" :string)
- ("C" "" :string)
- ("q" "" :string)
+ ("Y" "" :string)
+ ("k" "" :string)
+ ("e" "" :string)
+ ("d" "" :string)
("s" "" :string)
- ("i" "" :string)
+ ("t" "" :string)
+ ("P" "" :string)
("O" "" :string)
- ("g" "" :string)
- ("E" "" :string)
- ("z" "" :string)
- ("T" "" :string)
- ("U" "" :string)
- ("R" "" :string)
- ("V" "" :string)
- ("h" "" :string)
("b" "" :string)
- ("w" "" :string)
- ("L" "" :string)
- ("W" "" :string)
- ("Q" "" :string)
- ("r" "" :string)
- ("A" "" :string)
- ("J" "" :string)
- ("m" "" :string)
- ("c" "" :string)
- ("d" "" :string)
- ("Y" "" :string)
("Z" "" :string)
+ ("X" "" :string)
+ ("m" "" :string)
+ ("z" "" :string)
+ ("H" "" :string)
+ ("Q" "" :string)
+ ("B" "" :string)
+ ("G" "" :string)
("-" "" :string)
("'" "" :string)
("{" "" :string)
diff --git a/indexing/xindy/contrib/xindy-persian/source/make-rules.pl b/indexing/xindy/contrib/xindy-persian/source/make-rules.pl
new file mode 100644
index 0000000000..c0f2f9c5ed
--- /dev/null
+++ b/indexing/xindy/contrib/xindy-persian/source/make-rules.pl
@@ -0,0 +1,269 @@
+#!/usr/bin/perl
+
+open XDY,">$ARGV[0].xdy";
+open DOC,">$ARGV[0]-doc.tex";
+open TEST,">$ARGV[0].raw";
+open TESTXDY,">$ARGV[0]-test.xdy";
+
+print XDY ";; Rules for xindy; generated by make-rules.pl\n";
+print XDY ";; language: $language\n\n";
+
+if ($prefix) {
+ $prefix = $prefix . '-';
+}
+
+print TESTXDY "(require \"lang/$ARGV[0].xdy\")\n";
+print TESTXDY "(define-sort-rule-orientations (forward backward forward forward))\n";
+print TESTXDY "(use-rule-set :run 0\n";
+print TESTXDY " :rule-set (\"".$prefix."alphabetize\" \"".$prefix."ignore-special\"))\n";
+print TESTXDY "(use-rule-set :run 1\n";
+print TESTXDY " :rule-set (\"".$prefix."resolve-diacritics\" \"".$prefix."ignore-special\"))\n";
+print TESTXDY "(use-rule-set :run 2\n";
+print TESTXDY " :rule-set (\"".$prefix."resolve-case\" \"".$prefix."ignore-special\"))\n";
+print TESTXDY "(use-rule-set :run 3\n";
+print TESTXDY " :rule-set (\"".$prefix."resolve-special\"))\n";
+close TESTXDY;
+
+$fn = "test.xdy";
+! -f $fn && -f "$INC[0]/$fn" and $fn = "$INC[0]/$fn";
+-f $fn or die "$fn: $!";
+system("cat $fn >> $ARGV[0]-test.xdy");
+
+$begin = 128;
+# $begin = 97 if ($script eq "cyrillic");
+# $begin = 150 if ($script eq "latin");
+# $begin = 65 if ($script eq "greek");
+
+if (!$begin) {
+ $begin = 65;
+}
+
+print "Alphabet has " . @{$alphabet} . " elements.\n";
+
+for ($i = 0; $i < @{$alphabet}; $i++) {
+ if (defined($alphabet->[$i][0])) {
+ $letter = $alphabet->[$i][0];
+ $lout = $letter;
+ $lout =~ s/\~/~~/g;
+ $lout =~ s/\"/~\"/g;
+ $token = chr($i+$begin);
+ $token =~ s/\~/~~/g;
+ $token =~ s/\"/~\"/g;
+ if ($after ne $lout) {
+ print XDY "\"))\n" if ($i);
+ print XDY "(define-letter-group \"$lout\"";
+ print XDY " :after \"$after\"" if ($i);
+ print XDY " :prefixes (\"";
+ } else {
+ print XDY "\" \"";
+ }
+ print XDY "$token";
+ $after = $lout;
+ }
+}
+
+print XDY "\"))\n\n";
+
+$ref = \$i;
+$offset = $begin;
+$f = 1;
+make_tokens();
+
+# print test raw file
+# alphabet
+ $p = 1;
+ foreach $letter (keys %tokens) {
+ print TEST "(indexentry :key (\"$letter\") :locref \"$p\")\n";
+ $p++;
+ }
+# end
+
+process_ligatures();
+
+print_tokens($prefix . "alphabetize");
+
+$ref = \$j;
+$offset = 161;
+$f = 1;
+make_tokens();
+
+for ($i = 0; $i < @{$ligatures}; $i++) {
+ if ($ligatures->[$i][1] eq "before") {
+ $token = chr(161);
+ } else {
+ $token = chr(255);
+ }
+ foreach $ligature_variant (@{$ligatures->[$i][0]}) {
+ $tokens{$ligature_variant} = $token;
+ }
+}
+
+print_tokens($prefix . "resolve-diacritics");
+
+$ref = \$k;
+$offset = 48;
+$f = 1;
+if ($sortcase eq "Aa") {
+ $offset = 57;
+ $f = -1;
+}
+
+make_tokens();
+
+process_ligatures();
+
+print_tokens($prefix . "resolve-case");
+
+foreach $character (@special) {
+ $tokens{$character} = "" unless ($character eq "letters");
+}
+
+print_tokens($prefix . "ignore-special");
+
+$offset = 161;
+$f = 1;
+
+for ($l = 0; $l < @special; $l++) {
+ if (@special[$l] eq "letters") {
+ $ref = \$l;
+ make_tokens();
+ process_ligatures();
+ } else {
+ $token = chr($l+$offset);
+ $tokens{@special[$l]} = $token;
+ }
+}
+
+print_tokens($prefix . "resolve-special");
+
+# print doc:
+# alphabet
+ for ($i = 0; $i < @{$alphabet}; $i++) {
+ for ($j = 1; $j < @{$alphabet->[$i]}; $j++) {
+ push @l,join("\\,", (@{$alphabet->[$i][$j]}));
+ }
+ if ((@l)) {
+ push @m, join(" & ", (@l));
+ }
+# push @m, "`".$alphabet->[$i][0]."':\\>".join(" -- ", (@l));
+ @l = ();
+ }
+ print DOC "\\subsection{$language";
+ print DOC " ($variant)" if ($variant);
+ print DOC "}\n\n";
+ print DOC "\\subsubsection{Alphabet}\n";
+ print DOC "\\icod\\fcod\n";
+ print DOC "\\begin{alphabet}\n";
+ print DOC join("\\\\\n", (@m));
+ print DOC "\n\\end{alphabet}\n";
+ print DOC "\\idef\\fdef\n";
+
+# ligatures
+ print DOC "\n\\subsubsection{Ligatures}\n";
+ print DOC "\\begin{flushleft}\n";
+ print DOC "None.\n" unless @{$ligatures};
+ @m = ();
+ for ($i = 0; $i < @{$ligatures}; $i++) {
+ for ($j = 0; $j < @{$ligatures->[$i][0]}; $j++) {
+ push @m, "`$ligatures->[$i][0][$j]' is sorted like `" .
+ join("\\,", (@{$ligatures->[$i][2][$j]})) .
+ "', but \\emph{$ligatures->[$i][1]} it in otherwise equal words.";
+ }
+ }
+ print DOC join("\\\\\n", (@m));
+ print DOC "\n\\end{flushleft}\n";
+
+# case
+ print DOC "\n\\subsubsection{Upper-/lowercase words}\n";
+ if ($sortcase eq "Aa") {
+ print DOC "Capitalized or uppercase words are sorted \\emph{before} ";
+ print DOC "otherwise equal lowercase words.\n";
+ } else {
+ print DOC "Capitalized or uppercase words are sorted \\emph{after} ";
+ print DOC "otherwise equal lowercase words.\n";
+ }
+
+# special
+print DOC "\n\\subsubsection{Special characters}\n";
+print DOC "The order of special characters and letters is:\n";
+print DOC "\\begin{flushleft}\n";
+print DOC join("\\hspace{4mm}", (@special));
+print DOC "\n\\end{flushleft}\n";
+print DOC "\\newpage\n";
+
+# end
+
+# print test raw file
+
+# for ($i = 0; $i < @{$alphabet}; $i++) {
+# for ($j = 1; $j < @{$alphabet->[$i]}; $j++) {
+# foreach $letter (@{$alphabet->[$i][$j]}) {
+# print TEST "(indexentry :key (\"$letter\") :locref \"$p\")\n";
+# $p++;
+# }
+# }
+# }
+
+# ligatures
+ for ($i = 0; $i < @{$ligatures}; $i++) {
+ for ($j = 0; $j < @{$ligatures->[$i][0]}; $j++) {
+ print TEST
+ "(indexentry :key (\"$ligatures->[$i][0][$j]\") :locref \"$p\")\n";
+ $p++;
+ print TEST "(indexentry :key (\"" .
+ join("", (@{$ligatures->[$i][2][$j]})) . "\") :locref \"$p\")\n";
+ $p++;
+ }
+ }
+
+# special
+foreach $letter (@special) {
+ if ($letter ne "letters") {
+ print TEST "(indexentry :key (\"$letter\") :locref \"$p\")\n";
+ $p++;
+ }
+}
+
+# end
+
+sub make_tokens {
+ for ($i = 0; $i < @{$alphabet}; $i++) {
+ for ($j = 1; $j < @{$alphabet->[$i]}; $j++) {
+ for ($k = 0; $k < @{$alphabet->[$i][$j]}; $k++) {
+ $token = chr($f*$$ref+$offset);
+ if ($alphabet->[$i][$j][$k]) {
+ $tokens{$alphabet->[$i][$j][$k]} = $token;
+ }
+ }
+ }
+ }
+}
+
+sub process_ligatures {
+ for ($i = 0; $i < @{$ligatures}; $i++) {
+ for ($j = 0; $j < @{$ligatures->[$i][0]}; $j++) {
+ $token = "";
+ foreach $ligature_component (@{$ligatures->[$i][2][$j]}) {
+ $token = $token.$tokens{$ligature_component};
+ }
+ $tokens{$ligatures->[$i][0][$j]} = $token;
+ }
+ }
+}
+
+sub print_tokens {
+ print XDY "(define-rule-set \"$_[0]\"\n\n :rules (";
+ foreach $letter (sort {
+ (length($b) <=> length($a)) || ($tokens{$a} cmp $tokens{$b})
+ } (keys %tokens)) {
+ $lout = $letter;
+ $lout =~ s/\~/~~/g;
+ $lout =~ s/\"/~\"/g;
+ $tout = $tokens{$letter};
+ $tout =~ s/\~/~~/g;
+ $tout =~ s/\"/~\"/g;
+ print XDY "(\"$lout\" \"$tout\" :string)\n ";
+ }
+ print XDY "))\n\n";
+ %tokens = ();
+}
diff --git a/indexing/xindy/contrib/xindy-persian/source/test.xdy b/indexing/xindy/contrib/xindy-persian/source/test.xdy
new file mode 100644
index 0000000000..a843dafb8d
--- /dev/null
+++ b/indexing/xindy/contrib/xindy-persian/source/test.xdy
@@ -0,0 +1,82 @@
+
+;; define other stuff
+(define-attributes ("default"))
+
+;; The description of the location-classes.
+;; Add more location classes as needed.
+
+(define-location-class "arabic-page-numbers" ("arabic-numbers"))
+(define-location-class "roman-page-numbers" ("roman-numbers-lowercase"))
+(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase"))
+(define-location-class "alpha-page-numbers" ("alpha"))
+(define-location-class "Alpha-page-numbers" ("ALPHA"))
+
+;; The most frequently used cross reference class "see". Add more, if
+;; necessary.
+
+(define-crossref-class "see")
+(markup-crossref-list :open "\see{" :close "}{}" :class "see")
+
+;; In makeindex: page_precedence <string> "rnaRA"
+;; List all location classes appearing in your document.
+
+(define-location-class-order ("roman-page-numbers"
+ "arabic-page-numbers"
+ "alpha-page-numbers"
+ "Roman-page-numbers"
+ "Alpha-page-numbers"
+ "see"))
+
+
+;; preamble <string> "\\begin{theindex}\n"
+;; postamble <string> "\n\n\\end{theindex}\n"
+
+(markup-index :open "\begin{theindex}~n"
+ :close "~n~n\end{theindex}~n"
+ :tree)
+
+;; These specifiers are not directly supported via a command-line
+;; switch as in makeindex. Add the appropriate markup-commands into
+;; the preamble.
+
+;; setpage_prefix <string> "~n \setcounter{page}{"
+;; setpage_suffix <string> "}~n"
+
+;; group_skip <string> "~n~n \indexspace~n"
+
+(markup-letter-group-list :sep "~n~n \indexspace~n")
+
+;; even though we comment out (%) the letter-group heading,
+;; the following is useful if you want to check the .ind-file
+(markup-letter-group :open-head "~n % ")
+
+;; The indexentries (item_<..> specifiers)
+
+(markup-indexentry :open "~n \item " :depth 0)
+(markup-indexentry :open "~n \subitem " :depth 1)
+(markup-indexentry :open "~n \subsubitem " :depth 2)
+
+;; Location-references
+
+;; delim_0 <string> ", "
+;; delim_1 <string> ", "
+;; delim_2 <string> ", "
+
+(markup-locclass-list :open ", " :sep ", ")
+
+;; delim_n <string> ", "
+
+(markup-locref-list :sep ", ")
+
+;; delim_r <string> "--"
+
+(markup-range :sep "--")
+
+;; That's all ;-)
+
+
+;; End
+
+;; Local Variables:
+;; mode: lisp
+;; End:
diff --git a/indexing/xindy/contrib/xindy-persian/source/variant1-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/source/variant1-utf8.pl.in
new file mode 100644
index 0000000000..87c79de1a3
--- /dev/null
+++ b/indexing/xindy/contrib/xindy-persian/source/variant1-utf8.pl.in
@@ -0,0 +1,181 @@
+#!/usr/bin/perl
+
+$language = "Persian";
+$variant = "One";
+$prefix = "pe";
+$script = "arabic";
+
+$alphabet = [
+['ا',['آ']],
+['ا',['أ']],
+['ا',['ا']],
+['ب',['ب']],
+['پ',['پ']],
+['ت',['ت']],
+['ث',['ث']],
+['ج',['ج']],
+['چ',['چ']],
+['ح',['ح']],
+['خ',['خ']],
+['د',['د']],
+['ذ',['ذ']],
+['ر',['ر']],
+['ز',['ز']],
+['ژ',['ژ']],
+['س',['س']],
+['ش',['ش']],
+['ص',['ص']],
+['ض',['ض']],
+['ط',['ط']],
+['ظ',['ظ']],
+['ع',['ع']],
+['غ',['غ']],
+['ف',['ف']],
+['ق',['ق']],
+['ک',['ک']],
+['گ',['گ']],
+['ل',['ل']],
+['م',['م']],
+['ن',['ن']],
+['و',['ؤ','و']],
+['ه',['ه']],
+['ی',['ئ','ی']],
+['A', ['a','A'],['à','À']],
+ [], # a with breve (romanian)
+ [], # a with circumflex (romanian)
+ [], # a with ogonek (polish)
+['B', ['b','B']],
+ [], # b with hook (hausa)
+['C', ['c','C'],['ç','Ç']],
+ [], # ch (spanish/traditional)
+ [], # cs (hungarian)
+ [], # c with caron (many)
+ [], # c with acute (croatian, lower sorbian, polish)
+ [], # c with circumflex (esperanto)
+ [], # c with cedilla (albanian, kurdish, turkish)
+['D', ['d','D'],['ð','Ð']],
+ [], # dh (albanian)
+ [], # dz (hungarian)
+ [], # dzs (hungarian)
+ [], # d+z with caron (croatian)
+ [], # d+z with acute (upper sorbian)
+ [], # d with caron (slovak/large)
+ [], # d with stroke (croatian)
+ [], # d with hook (hausa)
+ [], # eth (icelandic)
+['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']],
+ [], # e with caron (lower/upper sorbian)
+ [], # e with circumflex (kurdish)
+ [], # e with diaeresis (albanian)
+ [], # e with ogonek (polish)
+['F', ['f','F']],
+['G', ['g','G']],
+ [], # gj (albanian)
+ [], # gy (hungarian)
+ [], # g with circumflex (esperanto)
+ [], # g with breve (turkish)
+ [], # g with cedilla/comma (latvian)
+ [], # postpalatal fricative (gypsy/northrussian)
+['H', ['h','H']],
+ [], # h with circumflex (esperanto)
+ [], # ch (many)
+ [], # dotless i (turkish)
+['I', ['i','I'],['ï','Ï']],
+ [], # i with inverted breve below (gypsy/northrussian)
+ [], # i with circumflex (kurdish, romanian)
+ [], # i with diaeresis (gypsy/northrussian)
+['J', ['j','J']],
+ [], # j with circumflex (esperanto)
+['K', ['k','K']],
+ [], # kh (gypsy/northrussian)
+ [], # k with cedilla/comma (latvian)
+ [], # k with hook (hausa)
+ [], # x (gypsy/northrussian)
+ [], # l with stroke (lower/upper sorbian)
+['L', ['l','L']],
+ [], # lj (croatian)
+ [], # ll (albanian, spanish/traditional)
+ [], # ly (hungarian)
+ [], # l with cedilla/comma (latvian)
+ [], # l with stroke (polish)
+ [], # l with caron (slovak/large)
+['M', ['m','M']],
+['N', ['n','N'],['ñ','Ñ']],
+ [], # nj (albanian, croatian)
+ [], # ny (hungarian)
+ [], # n with caron (slovak/large)
+ [], # n with acute (lower/upper sorbian, polish)
+ [], # n with tilde (spanish/modern, spanish/traditional)
+ [], # n with cedilla/comma (latvian)
+['O', ['o','O'],['ö','Ö'],['ô','Ô']],
+ [], # o with acute (polish, upper sorbian)
+ [], # o with circumflex (vietnamese)
+ [], # o with horn (vietnamese)
+ [], # o with diaeresis (hungarian, turkish)
+['P', ['p','P']],
+ [], # ph (gypsy/northrussian)
+['Q', ['q','Q']],
+['R', ['r','R']],
+ [], # rr (albanian)
+ [], # r with caron (czech, slovak/large, upper sorbian)
+ [], # r with acute (lower sorbian)
+ [], # r with cedilla/comma (latvian)
+['S', ['s','S']],
+ [], # sh (albanian)
+ [], # sz (hungarian)
+ [], # s with caron (many)
+ [], # s with acute (lower sorbian, polish)
+ [], # s with circumflex (esperanto)
+ [], # s with comma below (romanian)
+ [], # s with cedilla (kurdish, turkish)
+ [], # z (estonian)
+ [], # z with caron (estonian)
+['T', ['t','T']],
+ [], # th (albanian)
+ [], # ty (hungarian)
+ [], # t with caron (slovak/large)
+ [], # t with comma below (romanian)
+ [], # c with acute (upper sorbian)
+['U', ['u','U']],
+ [], # u with breve (esperanto)
+ [], # u with circumflex (kurdish)
+ [], # u with horn (vietnamese)
+ [], # u with diaeresis (hungarian, turkish)
+['V', ['v','V']],
+['W', ['w','W']],
+ [], # o with tilde (estonian)
+ [], # a with diaeresis (estonian)
+ [], # o with diaeresis (estonian)
+ [], # u with diaeresis (estonian)
+['X', ['x','X']],
+ [], # xh (albanian)
+['Y', ['y','Y']],
+ [], # y preceded by apostrophe (hausa)
+[@u{'Ȝ', ['ȝ','Ȝ']}],
+['Z', ['z','Z']],
+ [], # zh (albanian)
+ [], # zs (hungarian)
+ [], # z with caron (many)
+ [], # z with acute (lower sorbian, polish)
+ [], # z with dot above (polish)
+['Þ', ['þ','Þ']],
+[@u{'ƿ', ['ƿ','Ƿ']}],
+ [], # ligature ae (danish, icelandic, norwegian)
+ [], # o with stroke (danish, norwegian)
+ [], # a with ring above (danish, norwegian, swedish)
+ [], # a with diaeresis (finnish, swedish)
+ [], # o with diaeresis (finnish, swedish)
+ [], # a with ring above (icelandic)
+];
+
+$sortcase = "Aa";
+#$sortcase = "aA";
+
+$ligatures = [
+[['æ','Æ'], 'after', [['a','e'], ['A','e']]],
+[['œ','Œ'], 'after', [['o','e'], ['O','e']]]
+];
+
+@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','‌','«','»','ـ', '،', '؛');
+
+do 'make-rules.pl';
diff --git a/indexing/xindy/contrib/xindy-persian/source/variant2-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/source/variant2-utf8.pl.in
new file mode 100644
index 0000000000..fe5c594262
--- /dev/null
+++ b/indexing/xindy/contrib/xindy-persian/source/variant2-utf8.pl.in
@@ -0,0 +1,181 @@
+#!/usr/bin/perl
+
+$language = "Persian";
+$variant = "Two";
+$prefix = "pe";
+$script = "arabic";
+
+$alphabet = [
+['آ',['آ']],
+['ا',['أ']],
+['ا',['ا']],
+['ب',['ب']],
+['پ',['پ']],
+['ت',['ت']],
+['ث',['ث']],
+['ج',['ج']],
+['چ',['چ']],
+['ح',['ح']],
+['خ',['خ']],
+['د',['د']],
+['ذ',['ذ']],
+['ر',['ر']],
+['ز',['ز']],
+['ژ',['ژ']],
+['س',['س']],
+['ش',['ش']],
+['ص',['ص']],
+['ض',['ض']],
+['ط',['ط']],
+['ظ',['ظ']],
+['ع',['ع']],
+['غ',['غ']],
+['ف',['ف']],
+['ق',['ق']],
+['ک',['ک']],
+['گ',['گ']],
+['ل',['ل']],
+['م',['م']],
+['ن',['ن']],
+['و',['ؤ','و']],
+['ه',['ه']],
+['ی',['ئ','ی']],
+['A', ['a','A'],['à','À']],
+ [], # a with breve (romanian)
+ [], # a with circumflex (romanian)
+ [], # a with ogonek (polish)
+['B', ['b','B']],
+ [], # b with hook (hausa)
+['C', ['c','C'],['ç','Ç']],
+ [], # ch (spanish/traditional)
+ [], # cs (hungarian)
+ [], # c with caron (many)
+ [], # c with acute (croatian, lower sorbian, polish)
+ [], # c with circumflex (esperanto)
+ [], # c with cedilla (albanian, kurdish, turkish)
+['D', ['d','D'],['ð','Ð']],
+ [], # dh (albanian)
+ [], # dz (hungarian)
+ [], # dzs (hungarian)
+ [], # d+z with caron (croatian)
+ [], # d+z with acute (upper sorbian)
+ [], # d with caron (slovak/large)
+ [], # d with stroke (croatian)
+ [], # d with hook (hausa)
+ [], # eth (icelandic)
+['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']],
+ [], # e with caron (lower/upper sorbian)
+ [], # e with circumflex (kurdish)
+ [], # e with diaeresis (albanian)
+ [], # e with ogonek (polish)
+['F', ['f','F']],
+['G', ['g','G']],
+ [], # gj (albanian)
+ [], # gy (hungarian)
+ [], # g with circumflex (esperanto)
+ [], # g with breve (turkish)
+ [], # g with cedilla/comma (latvian)
+ [], # postpalatal fricative (gypsy/northrussian)
+['H', ['h','H']],
+ [], # h with circumflex (esperanto)
+ [], # ch (many)
+ [], # dotless i (turkish)
+['I', ['i','I'],['ï','Ï']],
+ [], # i with inverted breve below (gypsy/northrussian)
+ [], # i with circumflex (kurdish, romanian)
+ [], # i with diaeresis (gypsy/northrussian)
+['J', ['j','J']],
+ [], # j with circumflex (esperanto)
+['K', ['k','K']],
+ [], # kh (gypsy/northrussian)
+ [], # k with cedilla/comma (latvian)
+ [], # k with hook (hausa)
+ [], # x (gypsy/northrussian)
+ [], # l with stroke (lower/upper sorbian)
+['L', ['l','L']],
+ [], # lj (croatian)
+ [], # ll (albanian, spanish/traditional)
+ [], # ly (hungarian)
+ [], # l with cedilla/comma (latvian)
+ [], # l with stroke (polish)
+ [], # l with caron (slovak/large)
+['M', ['m','M']],
+['N', ['n','N'],['ñ','Ñ']],
+ [], # nj (albanian, croatian)
+ [], # ny (hungarian)
+ [], # n with caron (slovak/large)
+ [], # n with acute (lower/upper sorbian, polish)
+ [], # n with tilde (spanish/modern, spanish/traditional)
+ [], # n with cedilla/comma (latvian)
+['O', ['o','O'],['ö','Ö'],['ô','Ô']],
+ [], # o with acute (polish, upper sorbian)
+ [], # o with circumflex (vietnamese)
+ [], # o with horn (vietnamese)
+ [], # o with diaeresis (hungarian, turkish)
+['P', ['p','P']],
+ [], # ph (gypsy/northrussian)
+['Q', ['q','Q']],
+['R', ['r','R']],
+ [], # rr (albanian)
+ [], # r with caron (czech, slovak/large, upper sorbian)
+ [], # r with acute (lower sorbian)
+ [], # r with cedilla/comma (latvian)
+['S', ['s','S']],
+ [], # sh (albanian)
+ [], # sz (hungarian)
+ [], # s with caron (many)
+ [], # s with acute (lower sorbian, polish)
+ [], # s with circumflex (esperanto)
+ [], # s with comma below (romanian)
+ [], # s with cedilla (kurdish, turkish)
+ [], # z (estonian)
+ [], # z with caron (estonian)
+['T', ['t','T']],
+ [], # th (albanian)
+ [], # ty (hungarian)
+ [], # t with caron (slovak/large)
+ [], # t with comma below (romanian)
+ [], # c with acute (upper sorbian)
+['U', ['u','U']],
+ [], # u with breve (esperanto)
+ [], # u with circumflex (kurdish)
+ [], # u with horn (vietnamese)
+ [], # u with diaeresis (hungarian, turkish)
+['V', ['v','V']],
+['W', ['w','W']],
+ [], # o with tilde (estonian)
+ [], # a with diaeresis (estonian)
+ [], # o with diaeresis (estonian)
+ [], # u with diaeresis (estonian)
+['X', ['x','X']],
+ [], # xh (albanian)
+['Y', ['y','Y']],
+ [], # y preceded by apostrophe (hausa)
+[@u{'Ȝ', ['ȝ','Ȝ']}],
+['Z', ['z','Z']],
+ [], # zh (albanian)
+ [], # zs (hungarian)
+ [], # z with caron (many)
+ [], # z with acute (lower sorbian, polish)
+ [], # z with dot above (polish)
+['Þ', ['þ','Þ']],
+[@u{'ƿ', ['ƿ','Ƿ']}],
+ [], # ligature ae (danish, icelandic, norwegian)
+ [], # o with stroke (danish, norwegian)
+ [], # a with ring above (danish, norwegian, swedish)
+ [], # a with diaeresis (finnish, swedish)
+ [], # o with diaeresis (finnish, swedish)
+ [], # a with ring above (icelandic)
+];
+
+$sortcase = "Aa";
+#$sortcase = "aA";
+
+$ligatures = [
+[['æ','Æ'], 'after', [['a','e'], ['A','e']]],
+[['œ','Œ'], 'after', [['o','e'], ['O','e']]]
+];
+
+@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','‌','«','»','ـ', '،', '؛');
+
+do 'make-rules.pl';
diff --git a/indexing/xindy/contrib/xindy-persian/source/variant3-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/source/variant3-utf8.pl.in
new file mode 100644
index 0000000000..3f3d32c94c
--- /dev/null
+++ b/indexing/xindy/contrib/xindy-persian/source/variant3-utf8.pl.in
@@ -0,0 +1,181 @@
+#!/usr/bin/perl
+
+$language = "Persian";
+$variant = "Three";
+$prefix = "pe";
+$script = "arabic";
+
+$alphabet = [
+['الف',['آ']],
+['الف',['أ']],
+['الف',['ا']],
+['ب',['ب']],
+['پ',['پ']],
+['ت',['ت']],
+['ث',['ث']],
+['ج',['ج']],
+['چ',['چ']],
+['ح',['ح']],
+['خ',['خ']],
+['د',['د']],
+['ذ',['ذ']],
+['ر',['ر']],
+['ز',['ز']],
+['ژ',['ژ']],
+['س',['س']],
+['ش',['ش']],
+['ص',['ص']],
+['ض',['ض']],
+['ط',['ط']],
+['ظ',['ظ']],
+['ع',['ع']],
+['غ',['غ']],
+['ف',['ف']],
+['ق',['ق']],
+['ک',['ک']],
+['گ',['گ']],
+['ل',['ل']],
+['م',['م']],
+['ن',['ن']],
+['و',['ؤ','و']],
+['ه',['ه']],
+['ی',['ئ','ی']],
+['A', ['a','A'],['à','À']],
+ [], # a with breve (romanian)
+ [], # a with circumflex (romanian)
+ [], # a with ogonek (polish)
+['B', ['b','B']],
+ [], # b with hook (hausa)
+['C', ['c','C'],['ç','Ç']],
+ [], # ch (spanish/traditional)
+ [], # cs (hungarian)
+ [], # c with caron (many)
+ [], # c with acute (croatian, lower sorbian, polish)
+ [], # c with circumflex (esperanto)
+ [], # c with cedilla (albanian, kurdish, turkish)
+['D', ['d','D'],['ð','Ð']],
+ [], # dh (albanian)
+ [], # dz (hungarian)
+ [], # dzs (hungarian)
+ [], # d+z with caron (croatian)
+ [], # d+z with acute (upper sorbian)
+ [], # d with caron (slovak/large)
+ [], # d with stroke (croatian)
+ [], # d with hook (hausa)
+ [], # eth (icelandic)
+['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']],
+ [], # e with caron (lower/upper sorbian)
+ [], # e with circumflex (kurdish)
+ [], # e with diaeresis (albanian)
+ [], # e with ogonek (polish)
+['F', ['f','F']],
+['G', ['g','G']],
+ [], # gj (albanian)
+ [], # gy (hungarian)
+ [], # g with circumflex (esperanto)
+ [], # g with breve (turkish)
+ [], # g with cedilla/comma (latvian)
+ [], # postpalatal fricative (gypsy/northrussian)
+['H', ['h','H']],
+ [], # h with circumflex (esperanto)
+ [], # ch (many)
+ [], # dotless i (turkish)
+['I', ['i','I'],['ï','Ï']],
+ [], # i with inverted breve below (gypsy/northrussian)
+ [], # i with circumflex (kurdish, romanian)
+ [], # i with diaeresis (gypsy/northrussian)
+['J', ['j','J']],
+ [], # j with circumflex (esperanto)
+['K', ['k','K']],
+ [], # kh (gypsy/northrussian)
+ [], # k with cedilla/comma (latvian)
+ [], # k with hook (hausa)
+ [], # x (gypsy/northrussian)
+ [], # l with stroke (lower/upper sorbian)
+['L', ['l','L']],
+ [], # lj (croatian)
+ [], # ll (albanian, spanish/traditional)
+ [], # ly (hungarian)
+ [], # l with cedilla/comma (latvian)
+ [], # l with stroke (polish)
+ [], # l with caron (slovak/large)
+['M', ['m','M']],
+['N', ['n','N'],['ñ','Ñ']],
+ [], # nj (albanian, croatian)
+ [], # ny (hungarian)
+ [], # n with caron (slovak/large)
+ [], # n with acute (lower/upper sorbian, polish)
+ [], # n with tilde (spanish/modern, spanish/traditional)
+ [], # n with cedilla/comma (latvian)
+['O', ['o','O'],['ö','Ö'],['ô','Ô']],
+ [], # o with acute (polish, upper sorbian)
+ [], # o with circumflex (vietnamese)
+ [], # o with horn (vietnamese)
+ [], # o with diaeresis (hungarian, turkish)
+['P', ['p','P']],
+ [], # ph (gypsy/northrussian)
+['Q', ['q','Q']],
+['R', ['r','R']],
+ [], # rr (albanian)
+ [], # r with caron (czech, slovak/large, upper sorbian)
+ [], # r with acute (lower sorbian)
+ [], # r with cedilla/comma (latvian)
+['S', ['s','S']],
+ [], # sh (albanian)
+ [], # sz (hungarian)
+ [], # s with caron (many)
+ [], # s with acute (lower sorbian, polish)
+ [], # s with circumflex (esperanto)
+ [], # s with comma below (romanian)
+ [], # s with cedilla (kurdish, turkish)
+ [], # z (estonian)
+ [], # z with caron (estonian)
+['T', ['t','T']],
+ [], # th (albanian)
+ [], # ty (hungarian)
+ [], # t with caron (slovak/large)
+ [], # t with comma below (romanian)
+ [], # c with acute (upper sorbian)
+['U', ['u','U']],
+ [], # u with breve (esperanto)
+ [], # u with circumflex (kurdish)
+ [], # u with horn (vietnamese)
+ [], # u with diaeresis (hungarian, turkish)
+['V', ['v','V']],
+['W', ['w','W']],
+ [], # o with tilde (estonian)
+ [], # a with diaeresis (estonian)
+ [], # o with diaeresis (estonian)
+ [], # u with diaeresis (estonian)
+['X', ['x','X']],
+ [], # xh (albanian)
+['Y', ['y','Y']],
+ [], # y preceded by apostrophe (hausa)
+[@u{'Ȝ', ['ȝ','Ȝ']}],
+['Z', ['z','Z']],
+ [], # zh (albanian)
+ [], # zs (hungarian)
+ [], # z with caron (many)
+ [], # z with acute (lower sorbian, polish)
+ [], # z with dot above (polish)
+['Þ', ['þ','Þ']],
+[@u{'ƿ', ['ƿ','Ƿ']}],
+ [], # ligature ae (danish, icelandic, norwegian)
+ [], # o with stroke (danish, norwegian)
+ [], # a with ring above (danish, norwegian, swedish)
+ [], # a with diaeresis (finnish, swedish)
+ [], # o with diaeresis (finnish, swedish)
+ [], # a with ring above (icelandic)
+];
+
+$sortcase = "Aa";
+#$sortcase = "aA";
+
+$ligatures = [
+[['æ','Æ'], 'after', [['a','e'], ['A','e']]],
+[['œ','Œ'], 'after', [['o','e'], ['O','e']]]
+];
+
+@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','‌','«','»','ـ', '،', '؛');
+
+do 'make-rules.pl';
diff --git a/indexing/xindy/contrib/xindy-persian/variant1-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/variant1-utf8.pl.in
deleted file mode 100644
index 9d14f9f37c..0000000000
--- a/indexing/xindy/contrib/xindy-persian/variant1-utf8.pl.in
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/perl
-
-$language = "Persian";
-$variant = "One";
-$prefix = "pe";
-$script = "arabic";
-
-$alphabet = [
-['ا',['آ']],
-['ا',['أ']],
-['ا',['ا']],
-['ب',['ب']],
-['پ',['پ']],
-['ت',['ت']],
-['ث',['ث']],
-['ج',['ج']],
-['چ',['چ']],
-['ح',['ح']],
-['خ',['خ']],
-['د',['د']],
-['ذ',['ذ']],
-['ر',['ر']],
-['ز',['ز']],
-['ژ',['ژ']],
-['س',['س']],
-['ش',['ش']],
-['ص',['ص']],
-['ض',['ض']],
-['ط',['ط']],
-['ظ',['ظ']],
-['ع',['ع']],
-['غ',['غ']],
-['ف',['ف']],
-['ق',['ق']],
-['ک',['ک']],
-['گ',['گ']],
-['ل',['ل']],
-['م',['م']],
-['ن',['ن']],
-['و',['ؤ','و']],
-['ه',['ه']],
-['ی',['ئ','ی']],
-['A', ['a','A'],['à','À']],
-['B', ['b','B']],
-['C', ['c','C'],['ç','Ç']],
-['D', ['d','D'],['ð','Ð']],
-['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']],
-['F', ['f','F']],
-['G', ['g','G']],
-['H', ['h','H']],
-['I', ['i','I'],['ï','Ï']],
-['J', ['j','J']],
-['K', ['k','K']],
-['L', ['l','L']],
-['M', ['m','M']],
-['N', ['n','N'],['ñ','Ñ']],
-['O', ['o','O'],['ö','Ö'],['ô','Ô']],
-['P', ['p','P']],
-['Q', ['q','Q']],
-['R', ['r','R']],
-['S', ['s','S']],
-['T', ['t','T']],
-['U', ['u','U']],
-['V', ['v','V']],
-['W', ['w','W']],
-['X', ['x','X']],
-['Y', ['y','Y']],
-['Z', ['z','Z']],
-['Þ', ['þ','Þ']],
-];
-
-$sortcase = "Aa";
-#$sortcase = "aA";
-
-$ligatures = [
-[['æ','Æ'], 'after', [['a','e'], ['A','e']]],
-[['œ','Œ'], 'after', [['o','e'], ['O','e']]]
-];
-
-@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','‌','«','»','ـ');
-
-do 'make-rules.pl';
diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/variant2-utf8.pl.in
deleted file mode 100644
index 9c7fdfaa29..0000000000
--- a/indexing/xindy/contrib/xindy-persian/variant2-utf8.pl.in
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/perl
-
-$language = "Persian";
-$variant = "Two";
-$prefix = "pe";
-$script = "arabic";
-
-$alphabet = [
-['آ',['آ']],
-['ا',['أ']],
-['ا',['ا']],
-['ب',['ب']],
-['پ',['پ']],
-['ت',['ت']],
-['ث',['ث']],
-['ج',['ج']],
-['چ',['چ']],
-['ح',['ح']],
-['خ',['خ']],
-['د',['د']],
-['ذ',['ذ']],
-['ر',['ر']],
-['ز',['ز']],
-['ژ',['ژ']],
-['س',['س']],
-['ش',['ش']],
-['ص',['ص']],
-['ض',['ض']],
-['ط',['ط']],
-['ظ',['ظ']],
-['ع',['ع']],
-['غ',['غ']],
-['ف',['ف']],
-['ق',['ق']],
-['ک',['ک']],
-['گ',['گ']],
-['ل',['ل']],
-['م',['م']],
-['ن',['ن']],
-['و',['ؤ','و']],
-['ه',['ه']],
-['ی',['ئ','ی']],
-['A', ['a','A'],['à','À']],
-['B', ['b','B']],
-['C', ['c','C'],['ç','Ç']],
-['D', ['d','D'],['ð','Ð']],
-['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']],
-['F', ['f','F']],
-['G', ['g','G']],
-['H', ['h','H']],
-['I', ['i','I'],['ï','Ï']],
-['J', ['j','J']],
-['K', ['k','K']],
-['L', ['l','L']],
-['M', ['m','M']],
-['N', ['n','N'],['ñ','Ñ']],
-['O', ['o','O'],['ö','Ö'],['ô','Ô']],
-['P', ['p','P']],
-['Q', ['q','Q']],
-['R', ['r','R']],
-['S', ['s','S']],
-['T', ['t','T']],
-['U', ['u','U']],
-['V', ['v','V']],
-['W', ['w','W']],
-['X', ['x','X']],
-['Y', ['y','Y']],
-['Z', ['z','Z']],
-['Þ', ['þ','Þ']],
-];
-
-$sortcase = "Aa";
-#$sortcase = "aA";
-
-$ligatures = [
-[['æ','Æ'], 'after', [['a','e'], ['A','e']]],
-[['œ','Œ'], 'after', [['o','e'], ['O','e']]]
-];
-
-@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','‌','«','»','ـ');
-
-do 'make-rules.pl';
diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/variant3-utf8.pl.in
deleted file mode 100644
index 4f4d091451..0000000000
--- a/indexing/xindy/contrib/xindy-persian/variant3-utf8.pl.in
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/perl
-
-$language = "Persian";
-$variant = "Three";
-$prefix = "pe";
-$script = "arabic";
-
-$alphabet = [
-['الف',['آ']],
-['الف',['أ']],
-['الف',['ا']],
-['ب',['ب']],
-['پ',['پ']],
-['ت',['ت']],
-['ث',['ث']],
-['ج',['ج']],
-['چ',['چ']],
-['ح',['ح']],
-['خ',['خ']],
-['د',['د']],
-['ذ',['ذ']],
-['ر',['ر']],
-['ز',['ز']],
-['ژ',['ژ']],
-['س',['س']],
-['ش',['ش']],
-['ص',['ص']],
-['ض',['ض']],
-['ط',['ط']],
-['ظ',['ظ']],
-['ع',['ع']],
-['غ',['غ']],
-['ف',['ف']],
-['ق',['ق']],
-['ک',['ک']],
-['گ',['گ']],
-['ل',['ل']],
-['م',['م']],
-['ن',['ن']],
-['و',['ؤ','و']],
-['ه',['ه']],
-['ی',['ئ','ی']],
-['A', ['a','A'],['à','À']],
-['B', ['b','B']],
-['C', ['c','C'],['ç','Ç']],
-['D', ['d','D'],['ð','Ð']],
-['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']],
-['F', ['f','F']],
-['G', ['g','G']],
-['H', ['h','H']],
-['I', ['i','I'],['ï','Ï']],
-['J', ['j','J']],
-['K', ['k','K']],
-['L', ['l','L']],
-['M', ['m','M']],
-['N', ['n','N'],['ñ','Ñ']],
-['O', ['o','O'],['ö','Ö'],['ô','Ô']],
-['P', ['p','P']],
-['Q', ['q','Q']],
-['R', ['r','R']],
-['S', ['s','S']],
-['T', ['t','T']],
-['U', ['u','U']],
-['V', ['v','V']],
-['W', ['w','W']],
-['X', ['x','X']],
-['Y', ['y','Y']],
-['Z', ['z','Z']],
-['Þ', ['þ','Þ']],
-];
-
-$sortcase = "Aa";
-#$sortcase = "aA";
-
-$ligatures = [
-[['æ','Æ'], 'after', [['a','e'], ['A','e']]],
-[['œ','Œ'], 'after', [['o','e'], ['O','e']]]
-];
-
-@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','‌','«','»','ـ');
-
-do 'make-rules.pl';