From 6c7f24a5336de85c7db50c5037772288964c607b Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 4 Apr 2021 03:01:17 +0000 Subject: CTAN sync 202104040301 --- indexing/xindy/contrib/xindy-persian/README | 9 +- .../xindy-persian/doc/variant1-utf8-doc.tex | 88 +++ .../xindy-persian/doc/variant2-utf8-doc.tex | 88 +++ .../xindy-persian/doc/variant3-utf8-doc.tex | 88 +++ .../xindy-persian/persian/variant1-utf8-lang.xdy | 10 + .../xindy-persian/persian/variant1-utf8-test.xdy | 92 ++++ .../xindy-persian/persian/variant1-utf8.xdy | 593 ++++++++++++++++++++ .../xindy-persian/persian/variant2-utf8-lang.xdy | 10 + .../xindy-persian/persian/variant2-utf8-test.xdy | 92 ++++ .../xindy-persian/persian/variant2-utf8.xdy | 594 +++++++++++++++++++++ .../xindy-persian/persian/variant3-utf8-lang.xdy | 10 + .../xindy-persian/persian/variant3-utf8-test.xdy | 92 ++++ .../xindy-persian/persian/variant3-utf8.xdy | 593 ++++++++++++++++++++ .../contrib/xindy-persian/source/make-rules.pl | 269 ++++++++++ .../xindy/contrib/xindy-persian/source/test.xdy | 82 +++ .../xindy-persian/source/variant1-utf8.pl.in | 181 +++++++ .../xindy-persian/source/variant2-utf8.pl.in | 181 +++++++ .../xindy-persian/source/variant3-utf8.pl.in | 181 +++++++ .../contrib/xindy-persian/variant1-utf8-lang.xdy | 10 - .../contrib/xindy-persian/variant1-utf8-test.xdy | 92 ---- .../contrib/xindy-persian/variant1-utf8.pl.in | 82 --- .../xindy/contrib/xindy-persian/variant1-utf8.xdy | 589 -------------------- .../contrib/xindy-persian/variant2-utf8-lang.xdy | 10 - .../contrib/xindy-persian/variant2-utf8-test.xdy | 92 ---- .../contrib/xindy-persian/variant2-utf8.pl.in | 82 --- .../xindy/contrib/xindy-persian/variant2-utf8.xdy | 590 -------------------- .../contrib/xindy-persian/variant3-utf8-lang.xdy | 10 - .../contrib/xindy-persian/variant3-utf8-test.xdy | 92 ---- .../contrib/xindy-persian/variant3-utf8.pl.in | 82 --- .../xindy/contrib/xindy-persian/variant3-utf8.xdy | 589 -------------------- 30 files changed, 3248 insertions(+), 2325 deletions(-) create mode 100644 indexing/xindy/contrib/xindy-persian/doc/variant1-utf8-doc.tex create mode 100644 indexing/xindy/contrib/xindy-persian/doc/variant2-utf8-doc.tex create mode 100644 indexing/xindy/contrib/xindy-persian/doc/variant3-utf8-doc.tex create mode 100644 indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-lang.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-test.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/persian/variant1-utf8.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-lang.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-test.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/persian/variant2-utf8.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-lang.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-test.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/persian/variant3-utf8.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/source/make-rules.pl create mode 100644 indexing/xindy/contrib/xindy-persian/source/test.xdy create mode 100644 indexing/xindy/contrib/xindy-persian/source/variant1-utf8.pl.in create mode 100644 indexing/xindy/contrib/xindy-persian/source/variant2-utf8.pl.in create mode 100644 indexing/xindy/contrib/xindy-persian/source/variant3-utf8.pl.in delete mode 100644 indexing/xindy/contrib/xindy-persian/variant1-utf8-lang.xdy delete mode 100644 indexing/xindy/contrib/xindy-persian/variant1-utf8-test.xdy delete mode 100644 indexing/xindy/contrib/xindy-persian/variant1-utf8.pl.in delete mode 100644 indexing/xindy/contrib/xindy-persian/variant1-utf8.xdy delete mode 100644 indexing/xindy/contrib/xindy-persian/variant2-utf8-lang.xdy delete mode 100644 indexing/xindy/contrib/xindy-persian/variant2-utf8-test.xdy delete mode 100644 indexing/xindy/contrib/xindy-persian/variant2-utf8.pl.in delete mode 100644 indexing/xindy/contrib/xindy-persian/variant2-utf8.xdy delete mode 100644 indexing/xindy/contrib/xindy-persian/variant3-utf8-lang.xdy delete mode 100644 indexing/xindy/contrib/xindy-persian/variant3-utf8-test.xdy delete mode 100644 indexing/xindy/contrib/xindy-persian/variant3-utf8.pl.in delete mode 100644 indexing/xindy/contrib/xindy-persian/variant3-utf8.xdy (limited to 'indexing/xindy') 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: - + 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/persian/variant1-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-lang.xdy new file mode 100644 index 0000000000..94e9bed54a --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-lang.xdy @@ -0,0 +1,10 @@ +(require "lang/persian/variant1-utf8.xdy") +(define-sort-rule-orientations (forward backward forward forward)) +(use-rule-set :run 0 + :rule-set ("pe-alphabetize" "pe-ignore-special")) +(use-rule-set :run 1 + :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) +(use-rule-set :run 2 + :rule-set ("pe-resolve-case" "pe-ignore-special")) +(use-rule-set :run 3 + :rule-set ("pe-resolve-special")) diff --git a/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-test.xdy new file mode 100644 index 0000000000..19c4790669 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-test.xdy @@ -0,0 +1,92 @@ +(require "lang/persian/variant1-utf8.xdy") +(define-sort-rule-orientations (forward backward forward forward)) +(use-rule-set :run 0 + :rule-set ("pe-alphabetize" "pe-ignore-special")) +(use-rule-set :run 1 + :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) +(use-rule-set :run 2 + :rule-set ("pe-resolve-case" "pe-ignore-special")) +(use-rule-set :run 3 + :rule-set ("pe-resolve-special")) + +;; 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 "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 "\\begin{theindex}\n" +;; postamble "\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 "~n \setcounter{page}{" +;; setpage_suffix "}~n" + +;; group_skip "~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 ", " +;; delim_1 ", " +;; delim_2 ", " + +(markup-locclass-list :open ", " :sep ", ") + +;; delim_n ", " + +(markup-locref-list :sep ", ") + +;; delim_r "--" + +(markup-range :sep "--") + +;; That's all ;-) + + +;; End + +;; Local Variables: +;; mode: lisp +;; End: diff --git a/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8.xdy new file mode 100644 index 0000000000..bfb5dcc058 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8.xdy @@ -0,0 +1,593 @@ +;; Rules for xindy; generated by make-rules.pl +;; language: Persian + +(define-letter-group "ا" :prefixes ("" "" "")) +(define-letter-group "ب" :after "ا" :prefixes ("")) +(define-letter-group "پ" :after "ب" :prefixes ("")) +(define-letter-group "ت" :after "پ" :prefixes ("")) +(define-letter-group "ث" :after "ت" :prefixes ("")) +(define-letter-group "ج" :after "ث" :prefixes ("")) +(define-letter-group "چ" :after "ج" :prefixes ("")) +(define-letter-group "ح" :after "چ" :prefixes ("")) +(define-letter-group "خ" :after "ح" :prefixes ("")) +(define-letter-group "د" :after "خ" :prefixes ("")) +(define-letter-group "ذ" :after "د" :prefixes ("")) +(define-letter-group "ر" :after "ذ" :prefixes ("")) +(define-letter-group "ز" :after "ر" :prefixes ("")) +(define-letter-group "ژ" :after "ز" :prefixes ("")) +(define-letter-group "س" :after "ژ" :prefixes ("")) +(define-letter-group "ش" :after "س" :prefixes ("")) +(define-letter-group "ص" :after "ش" :prefixes ("")) +(define-letter-group "ض" :after "ص" :prefixes ("")) +(define-letter-group "ط" :after "ض" :prefixes ("")) +(define-letter-group "ظ" :after "ط" :prefixes ("")) +(define-letter-group "ع" :after "ظ" :prefixes ("")) +(define-letter-group "غ" :after "ع" :prefixes ("")) +(define-letter-group "ف" :after "غ" :prefixes ("")) +(define-letter-group "ق" :after "ف" :prefixes ("")) +(define-letter-group "ک" :after "ق" :prefixes ("")) +(define-letter-group "گ" :after "ک" :prefixes ("")) +(define-letter-group "ل" :after "گ" :prefixes ("")) +(define-letter-group "م" :after "ل" :prefixes ("")) +(define-letter-group "ن" :after "م" :prefixes ("")) +(define-letter-group "و" :after "ن" :prefixes ("")) +(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-rule-set "pe-alphabetize" + + :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) + ("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) + )) + +(define-rule-set "pe-resolve-diacritics" + + :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) + ("p" "" :string) + ("x" "" :string) + ("Q" "" :string) + ("C" "" :string) + ("X" "" :string) + ("o" "" :string) + ("K" "" :string) + ("g" "" :string) + ("V" "" :string) + ("z" "" :string) + ("J" "" :string) + ("c" "" :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) + ("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) + ("h" "" :string) + ("T" "" :string) + ("Y" "" :string) + ("t" "" :string) + ("I" "" :string) + ("F" "" :string) + ("A" "" :string) + ("Z" "" :string) + ("l" "" :string) + )) + +(define-rule-set "pe-resolve-case" + + :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) + ("Æ" "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) + ("æ" "99" :string) + ("œ" "99" :string) + ("R" "8" :string) + ("E" "8" :string) + ("U" "8" :string) + ("O" "8" :string) + ("S" "8" :string) + ("H" "8" :string) + ("D" "8" :string) + ("L" "8" :string) + ("Q" "8" :string) + ("X" "8" :string) + ("C" "8" :string) + ("J" "8" :string) + ("V" "8" :string) + ("K" "8" :string) + ("G" "8" :string) + ("Y" "8" :string) + ("T" "8" :string) + ("W" "8" :string) + ("N" "8" :string) + ("F" "8" :string) + ("I" "8" :string) + ("Z" "8" :string) + ("A" "8" :string) + ("M" "8" :string) + ("P" "8" :string) + ("B" "8" :string) + ("d" "9" :string) + ("y" "9" :string) + ("i" "9" :string) + ("f" "9" :string) + ("a" "9" :string) + ("r" "9" :string) + ("e" "9" :string) + ("j" "9" :string) + ("x" "9" :string) + ("p" "9" :string) + ("o" "9" :string) + ("c" "9" :string) + ("z" "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) + )) + +(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) + ("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) + ("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) + ("T" "" :string) + ("h" "" :string) + ("N" "" :string) + ("l" "" :string) + ("Z" "" :string) + ("C" "" :string) + ("m" "" :string) + ("G" "" :string) + ("q" "" :string) + ("J" "" :string) + ("c" "" :string) + ("g" "" :string) + ("O" "" :string) + ("d" "" :string) + ("y" "" :string) + ("R" "" :string) + ("U" "" :string) + ("r" "" :string) + ("e" "" :string) + ("f" "" :string) + ("S" "" :string) + ("i" "" :string) + ("-" "" :string) + ("'" "" :string) + ("{" "" :string) + ("}" "" :string) + )) + diff --git a/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-lang.xdy new file mode 100644 index 0000000000..54153d737f --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-lang.xdy @@ -0,0 +1,10 @@ +(require "lang/persian/variant2-utf8.xdy") +(define-sort-rule-orientations (forward backward forward forward)) +(use-rule-set :run 0 + :rule-set ("pe-alphabetize" "pe-ignore-special")) +(use-rule-set :run 1 + :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) +(use-rule-set :run 2 + :rule-set ("pe-resolve-case" "pe-ignore-special")) +(use-rule-set :run 3 + :rule-set ("pe-resolve-special")) diff --git a/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-test.xdy new file mode 100644 index 0000000000..d6d1878f59 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-test.xdy @@ -0,0 +1,92 @@ +(require "lang/persian/variant2-utf8.xdy") +(define-sort-rule-orientations (forward backward forward forward)) +(use-rule-set :run 0 + :rule-set ("pe-alphabetize" "pe-ignore-special")) +(use-rule-set :run 1 + :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) +(use-rule-set :run 2 + :rule-set ("pe-resolve-case" "pe-ignore-special")) +(use-rule-set :run 3 + :rule-set ("pe-resolve-special")) + +;; 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 "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 "\\begin{theindex}\n" +;; postamble "\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 "~n \setcounter{page}{" +;; setpage_suffix "}~n" + +;; group_skip "~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 ", " +;; delim_1 ", " +;; delim_2 ", " + +(markup-locclass-list :open ", " :sep ", ") + +;; delim_n ", " + +(markup-locref-list :sep ", ") + +;; delim_r "--" + +(markup-range :sep "--") + +;; That's all ;-) + + +;; End + +;; Local Variables: +;; mode: lisp +;; End: diff --git a/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8.xdy new file mode 100644 index 0000000000..ce90a86b19 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8.xdy @@ -0,0 +1,594 @@ +;; Rules for xindy; generated by make-rules.pl +;; language: Persian + +(define-letter-group "آ" :prefixes ("")) +(define-letter-group "ا" :after "آ" :prefixes ("" "")) +(define-letter-group "ب" :after "ا" :prefixes ("")) +(define-letter-group "پ" :after "ب" :prefixes ("")) +(define-letter-group "ت" :after "پ" :prefixes ("")) +(define-letter-group "ث" :after "ت" :prefixes ("")) +(define-letter-group "ج" :after "ث" :prefixes ("")) +(define-letter-group "چ" :after "ج" :prefixes ("")) +(define-letter-group "ح" :after "چ" :prefixes ("")) +(define-letter-group "خ" :after "ح" :prefixes ("")) +(define-letter-group "د" :after "خ" :prefixes ("")) +(define-letter-group "ذ" :after "د" :prefixes ("")) +(define-letter-group "ر" :after "ذ" :prefixes ("")) +(define-letter-group "ز" :after "ر" :prefixes ("")) +(define-letter-group "ژ" :after "ز" :prefixes ("")) +(define-letter-group "س" :after "ژ" :prefixes ("")) +(define-letter-group "ش" :after "س" :prefixes ("")) +(define-letter-group "ص" :after "ش" :prefixes ("")) +(define-letter-group "ض" :after "ص" :prefixes ("")) +(define-letter-group "ط" :after "ض" :prefixes ("")) +(define-letter-group "ظ" :after "ط" :prefixes ("")) +(define-letter-group "ع" :after "ظ" :prefixes ("")) +(define-letter-group "غ" :after "ع" :prefixes ("")) +(define-letter-group "ف" :after "غ" :prefixes ("")) +(define-letter-group "ق" :after "ف" :prefixes ("")) +(define-letter-group "ک" :after "ق" :prefixes ("")) +(define-letter-group "گ" :after "ک" :prefixes ("")) +(define-letter-group "ل" :after "گ" :prefixes ("")) +(define-letter-group "م" :after "ل" :prefixes ("")) +(define-letter-group "ن" :after "م" :prefixes ("")) +(define-letter-group "و" :after "ن" :prefixes ("")) +(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-rule-set "pe-alphabetize" + + :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) + ("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) + )) + +(define-rule-set "pe-resolve-diacritics" + + :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) + ("L" "" :string) + ("z" "" :string) + ("y" "" :string) + ("D" "" :string) + ("X" "" :string) + ("k" "" :string) + ("f" "" :string) + ("S" "" :string) + ("v" "" :string) + ("M" "" :string) + ("a" "" :string) + ("U" "" :string) + ("T" "" :string) + ("H" "" :string) + ("p" "" :string) + ("e" "" :string) + ("C" "" :string) + ("t" "" :string) + ("r" "" :string) + ("b" "" :string) + ("h" "" :string) + ("R" "" :string) + ("i" "" :string) + ("I" "" :string) + ("F" "" :string) + ("W" "" :string) + ("O" "" :string) + ("J" "" :string) + ("j" "" :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) + ("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) + ("ی" "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) + ("œ" "99" :string) + ("æ" "99" :string) + ("T" "8" :string) + ("H" "8" :string) + ("U" "8" :string) + ("C" "8" :string) + ("R" "8" :string) + ("L" "8" :string) + ("X" "8" :string) + ("D" "8" :string) + ("M" "8" :string) + ("S" "8" :string) + ("A" "8" :string) + ("K" "8" :string) + ("Y" "8" :string) + ("Q" "8" :string) + ("Z" "8" :string) + ("N" "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) + ("B" "8" :string) + ("t" "9" :string) + ("e" "9" :string) + ("p" "9" :string) + ("b" "9" :string) + ("r" "9" :string) + ("i" "9" :string) + ("h" "9" :string) + ("z" "9" :string) + ("y" "9" :string) + ("v" "9" :string) + ("k" "9" :string) + ("f" "9" :string) + ("a" "9" :string) + ("o" "9" :string) + ("u" "9" :string) + ("l" "9" :string) + ("q" "9" :string) + ("n" "9" :string) + ("s" "9" :string) + ("x" "9" :string) + ("w" "9" :string) + ("j" "9" :string) + ("m" "9" :string) + ("d" "9" :string) + ("c" "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) + )) + +(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) + ("j" "" :string) + ("J" "" :string) + ("W" "" :string) + ("c" "" :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) + ("r" "" :string) + ("R" "" :string) + ("h" "" :string) + ("I" "" :string) + ("O" "" :string) + ("F" "" :string) + ("g" "" :string) + ("B" "" :string) + ("K" "" :string) + ("u" "" :string) + ("A" "" :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) + ("a" "" :string) + ("H" "" :string) + ("U" "" :string) + ("C" "" :string) + ("b" "" :string) + ("i" "" :string) + ("-" "" :string) + ("'" "" :string) + ("{" "" :string) + ("}" "" :string) + )) + diff --git a/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-lang.xdy new file mode 100644 index 0000000000..7f44812017 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-lang.xdy @@ -0,0 +1,10 @@ +(require "lang/persian/variant3-utf8.xdy") +(define-sort-rule-orientations (forward backward forward forward)) +(use-rule-set :run 0 + :rule-set ("pe-alphabetize" "pe-ignore-special")) +(use-rule-set :run 1 + :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) +(use-rule-set :run 2 + :rule-set ("pe-resolve-case" "pe-ignore-special")) +(use-rule-set :run 3 + :rule-set ("pe-resolve-special")) diff --git a/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-test.xdy new file mode 100644 index 0000000000..ad7cbf91dd --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-test.xdy @@ -0,0 +1,92 @@ +(require "lang/persian/variant3-utf8.xdy") +(define-sort-rule-orientations (forward backward forward forward)) +(use-rule-set :run 0 + :rule-set ("pe-alphabetize" "pe-ignore-special")) +(use-rule-set :run 1 + :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) +(use-rule-set :run 2 + :rule-set ("pe-resolve-case" "pe-ignore-special")) +(use-rule-set :run 3 + :rule-set ("pe-resolve-special")) + +;; 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 "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 "\\begin{theindex}\n" +;; postamble "\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 "~n \setcounter{page}{" +;; setpage_suffix "}~n" + +;; group_skip "~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 ", " +;; delim_1 ", " +;; delim_2 ", " + +(markup-locclass-list :open ", " :sep ", ") + +;; delim_n ", " + +(markup-locref-list :sep ", ") + +;; delim_r "--" + +(markup-range :sep "--") + +;; That's all ;-) + + +;; End + +;; Local Variables: +;; mode: lisp +;; End: diff --git a/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8.xdy new file mode 100644 index 0000000000..90048616d8 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8.xdy @@ -0,0 +1,593 @@ +;; Rules for xindy; generated by make-rules.pl +;; language: Persian + +(define-letter-group "الف" :prefixes ("" "" "")) +(define-letter-group "ب" :after "الف" :prefixes ("")) +(define-letter-group "پ" :after "ب" :prefixes ("")) +(define-letter-group "ت" :after "پ" :prefixes ("")) +(define-letter-group "ث" :after "ت" :prefixes ("")) +(define-letter-group "ج" :after "ث" :prefixes ("")) +(define-letter-group "چ" :after "ج" :prefixes ("")) +(define-letter-group "ح" :after "چ" :prefixes ("")) +(define-letter-group "خ" :after "ح" :prefixes ("")) +(define-letter-group "د" :after "خ" :prefixes ("")) +(define-letter-group "ذ" :after "د" :prefixes ("")) +(define-letter-group "ر" :after "ذ" :prefixes ("")) +(define-letter-group "ز" :after "ر" :prefixes ("")) +(define-letter-group "ژ" :after "ز" :prefixes ("")) +(define-letter-group "س" :after "ژ" :prefixes ("")) +(define-letter-group "ش" :after "س" :prefixes ("")) +(define-letter-group "ص" :after "ش" :prefixes ("")) +(define-letter-group "ض" :after "ص" :prefixes ("")) +(define-letter-group "ط" :after "ض" :prefixes ("")) +(define-letter-group "ظ" :after "ط" :prefixes ("")) +(define-letter-group "ع" :after "ظ" :prefixes ("")) +(define-letter-group "غ" :after "ع" :prefixes ("")) +(define-letter-group "ف" :after "غ" :prefixes ("")) +(define-letter-group "ق" :after "ف" :prefixes ("")) +(define-letter-group "ک" :after "ق" :prefixes ("")) +(define-letter-group "گ" :after "ک" :prefixes ("")) +(define-letter-group "ل" :after "گ" :prefixes ("")) +(define-letter-group "م" :after "ل" :prefixes ("")) +(define-letter-group "ن" :after "م" :prefixes ("")) +(define-letter-group "و" :after "ن" :prefixes ("")) +(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-rule-set "pe-alphabetize" + + :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) + ("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) + )) + +(define-rule-set "pe-resolve-diacritics" + + :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) + ("V" "" :string) + ("X" "" :string) + ("Z" "" :string) + ("Q" "" :string) + ("T" "" :string) + ("z" "" :string) + ("H" "" :string) + ("j" "" :string) + ("m" "" :string) + ("o" "" :string) + ("W" "" :string) + ("B" "" :string) + ("x" "" :string) + ("h" "" :string) + ("g" "" :string) + ("w" "" :string) + ("G" "" :string) + ("f" "" :string) + ("q" "" :string) + ("t" "" :string) + ("K" "" :string) + ("S" "" :string) + ("s" "" :string) + ("r" "" :string) + ("P" "" :string) + ("b" "" :string) + ("O" "" :string) + ("F" "" :string) + ("Y" "" :string) + ("i" "" :string) + ("a" "" :string) + ("R" "" :string) + ("p" "" :string) + ("I" "" :string) + ("e" "" :string) + ("d" "" :string) + ("k" "" :string) + ("U" "" :string) + ("u" "" :string) + ("c" "" :string) + ("N" "" :string) + ("l" "" :string) + ("M" "" :string) + ("A" "" :string) + ("y" "" :string) + ("E" "" :string) + ("L" "" :string) + ("C" "" :string) + ("n" "" :string) + ("D" "" :string) + ("J" "" :string) + ("v" "" :string) + )) + +(define-rule-set "pe-resolve-case" + + :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) + ("Æ" "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) + ("æ" "99" :string) + ("œ" "99" :string) + ("U" "8" :string) + ("I" "8" :string) + ("R" "8" :string) + ("Y" "8" :string) + ("F" "8" :string) + ("D" "8" :string) + ("J" "8" :string) + ("C" "8" :string) + ("L" "8" :string) + ("E" "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) + ("X" "8" :string) + ("Z" "8" :string) + ("V" "8" :string) + ("O" "8" :string) + ("P" "8" :string) + ("S" "8" :string) + ("K" "8" :string) + ("u" "9" :string) + ("k" "9" :string) + ("d" "9" :string) + ("e" "9" :string) + ("p" "9" :string) + ("i" "9" :string) + ("a" "9" :string) + ("v" "9" :string) + ("n" "9" :string) + ("y" "9" :string) + ("c" "9" :string) + ("l" "9" :string) + ("w" "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) + ("r" "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) + )) + +(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) + ("A" "" :string) + ("E" "" :string) + ("C" "" :string) + ("n" "" :string) + ("D" "" :string) + ("R" "" :string) + ("p" "" :string) + ("a" "" :string) + ("i" "" :string) + ("I" "" :string) + ("u" "" :string) + ("U" "" :string) + ("f" "" :string) + ("q" "" :string) + ("K" "" :string) + ("S" "" :string) + ("r" "" :string) + ("V" "" :string) + ("j" "" :string) + ("W" "" :string) + ("o" "" :string) + ("T" "" :string) + ("x" "" :string) + ("w" "" :string) + ("g" "" :string) + ("h" "" :string) + ("y" "" :string) + ("N" "" :string) + ("l" "" :string) + ("c" "" :string) + ("M" "" :string) + ("L" "" :string) + ("v" "" :string) + ("J" "" :string) + ("F" "" :string) + ("Y" "" :string) + ("k" "" :string) + ("e" "" :string) + ("d" "" :string) + ("s" "" :string) + ("t" "" :string) + ("P" "" :string) + ("O" "" :string) + ("b" "" :string) + ("Z" "" :string) + ("X" "" :string) + ("m" "" :string) + ("z" "" :string) + ("H" "" :string) + ("Q" "" :string) + ("B" "" :string) + ("G" "" :string) + ("-" "" :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 "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 "\\begin{theindex}\n" +;; postamble "\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 "~n \setcounter{page}{" +;; setpage_suffix "}~n" + +;; group_skip "~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 ", " +;; delim_1 ", " +;; delim_2 ", " + +(markup-locclass-list :open ", " :sep ", ") + +;; delim_n ", " + +(markup-locref-list :sep ", ") + +;; delim_r "--" + +(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-lang.xdy b/indexing/xindy/contrib/xindy-persian/variant1-utf8-lang.xdy deleted file mode 100644 index 94e9bed54a..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant1-utf8-lang.xdy +++ /dev/null @@ -1,10 +0,0 @@ -(require "lang/persian/variant1-utf8.xdy") -(define-sort-rule-orientations (forward backward forward forward)) -(use-rule-set :run 0 - :rule-set ("pe-alphabetize" "pe-ignore-special")) -(use-rule-set :run 1 - :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) -(use-rule-set :run 2 - :rule-set ("pe-resolve-case" "pe-ignore-special")) -(use-rule-set :run 3 - :rule-set ("pe-resolve-special")) diff --git a/indexing/xindy/contrib/xindy-persian/variant1-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/variant1-utf8-test.xdy deleted file mode 100644 index 19c4790669..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant1-utf8-test.xdy +++ /dev/null @@ -1,92 +0,0 @@ -(require "lang/persian/variant1-utf8.xdy") -(define-sort-rule-orientations (forward backward forward forward)) -(use-rule-set :run 0 - :rule-set ("pe-alphabetize" "pe-ignore-special")) -(use-rule-set :run 1 - :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) -(use-rule-set :run 2 - :rule-set ("pe-resolve-case" "pe-ignore-special")) -(use-rule-set :run 3 - :rule-set ("pe-resolve-special")) - -;; 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 "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 "\\begin{theindex}\n" -;; postamble "\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 "~n \setcounter{page}{" -;; setpage_suffix "}~n" - -;; group_skip "~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 ", " -;; delim_1 ", " -;; delim_2 ", " - -(markup-locclass-list :open ", " :sep ", ") - -;; delim_n ", " - -(markup-locref-list :sep ", ") - -;; delim_r "--" - -(markup-range :sep "--") - -;; That's all ;-) - - -;; End - -;; Local Variables: -;; mode: lisp -;; End: 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/variant1-utf8.xdy b/indexing/xindy/contrib/xindy-persian/variant1-utf8.xdy deleted file mode 100644 index 8654e2b473..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant1-utf8.xdy +++ /dev/null @@ -1,589 +0,0 @@ -;; Rules for xindy; generated by make-rules.pl -;; language: Persian - -(define-letter-group "ا" :prefixes ("" "" "")) -(define-letter-group "ب" :after "ا" :prefixes ("")) -(define-letter-group "پ" :after "ب" :prefixes ("")) -(define-letter-group "ت" :after "پ" :prefixes ("")) -(define-letter-group "ث" :after "ت" :prefixes ("")) -(define-letter-group "ج" :after "ث" :prefixes ("")) -(define-letter-group "چ" :after "ج" :prefixes ("")) -(define-letter-group "ح" :after "چ" :prefixes ("")) -(define-letter-group "خ" :after "ح" :prefixes ("")) -(define-letter-group "د" :after "خ" :prefixes ("")) -(define-letter-group "ذ" :after "د" :prefixes ("")) -(define-letter-group "ر" :after "ذ" :prefixes ("")) -(define-letter-group "ز" :after "ر" :prefixes ("")) -(define-letter-group "ژ" :after "ز" :prefixes ("")) -(define-letter-group "س" :after "ژ" :prefixes ("")) -(define-letter-group "ش" :after "س" :prefixes ("")) -(define-letter-group "ص" :after "ش" :prefixes ("")) -(define-letter-group "ض" :after "ص" :prefixes ("")) -(define-letter-group "ط" :after "ض" :prefixes ("")) -(define-letter-group "ظ" :after "ط" :prefixes ("")) -(define-letter-group "ع" :after "ظ" :prefixes ("")) -(define-letter-group "غ" :after "ع" :prefixes ("")) -(define-letter-group "ف" :after "غ" :prefixes ("")) -(define-letter-group "ق" :after "ف" :prefixes ("")) -(define-letter-group "ک" :after "ق" :prefixes ("")) -(define-letter-group "گ" :after "ک" :prefixes ("")) -(define-letter-group "ل" :after "گ" :prefixes ("")) -(define-letter-group "م" :after "ل" :prefixes ("")) -(define-letter-group "ن" :after "م" :prefixes ("")) -(define-letter-group "و" :after "ن" :prefixes ("")) -(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-rule-set "pe-alphabetize" - - :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) - ("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) - )) - -(define-rule-set "pe-resolve-diacritics" - - :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) - ("z" "" :string) - ("C" "" :string) - ("r" "" :string) - ("R" "" :string) - ("Z" "" :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) - ("o" "" :string) - ("N" "" :string) - ("M" "" :string) - ("l" "" :string) - ("D" "" :string) - ("c" "" :string) - ("A" "" :string) - ("H" "" :string) - ("U" "" :string) - ("S" "" :string) - ("v" "" :string) - ("f" "" :string) - ("B" "" :string) - ("W" "" :string) - ("n" "" :string) - ("L" "" :string) - ("I" "" :string) - ("F" "" :string) - ("E" "" :string) - ("K" "" :string) - ("O" "" :string) - ("G" "" :string) - ("w" "" :string) - ("Y" "" :string) - ("k" "" :string) - )) - -(define-rule-set "pe-resolve-case" - - :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) - ("Æ" "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) - ("œ" "99" :string) - ("æ" "99" :string) - ("Y" "8" :string) - ("G" "8" :string) - ("O" "8" :string) - ("F" "8" :string) - ("K" "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) - ("D" "8" :string) - ("N" "8" :string) - ("J" "8" :string) - ("V" "8" :string) - ("Q" "8" :string) - ("T" "8" :string) - ("P" "8" :string) - ("X" "8" :string) - ("R" "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) - ("d" "9" :string) - ("x" "9" :string) - ("a" "9" :string) - ("i" "9" :string) - ("e" "9" :string) - ("j" "9" :string) - ("s" "9" :string) - ("b" "9" :string) - ("p" "9" :string) - ("z" "9" :string) - ("r" "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) - )) - -(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) - ("H" "" :string) - ("S" "" :string) - ("l" "" :string) - ("M" "" :string) - ("B" "" :string) - ("W" "" :string) - ("v" "" :string) - ("F" "" :string) - ("K" "" :string) - ("I" "" :string) - ("R" "" :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) - ("O" "" :string) - ("w" "" :string) - ("z" "" :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) - ("-" "" :string) - ("'" "" :string) - ("{" "" :string) - ("}" "" :string) - )) - diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/variant2-utf8-lang.xdy deleted file mode 100644 index 54153d737f..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant2-utf8-lang.xdy +++ /dev/null @@ -1,10 +0,0 @@ -(require "lang/persian/variant2-utf8.xdy") -(define-sort-rule-orientations (forward backward forward forward)) -(use-rule-set :run 0 - :rule-set ("pe-alphabetize" "pe-ignore-special")) -(use-rule-set :run 1 - :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) -(use-rule-set :run 2 - :rule-set ("pe-resolve-case" "pe-ignore-special")) -(use-rule-set :run 3 - :rule-set ("pe-resolve-special")) diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/variant2-utf8-test.xdy deleted file mode 100644 index d6d1878f59..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant2-utf8-test.xdy +++ /dev/null @@ -1,92 +0,0 @@ -(require "lang/persian/variant2-utf8.xdy") -(define-sort-rule-orientations (forward backward forward forward)) -(use-rule-set :run 0 - :rule-set ("pe-alphabetize" "pe-ignore-special")) -(use-rule-set :run 1 - :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) -(use-rule-set :run 2 - :rule-set ("pe-resolve-case" "pe-ignore-special")) -(use-rule-set :run 3 - :rule-set ("pe-resolve-special")) - -;; 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 "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 "\\begin{theindex}\n" -;; postamble "\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 "~n \setcounter{page}{" -;; setpage_suffix "}~n" - -;; group_skip "~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 ", " -;; delim_1 ", " -;; delim_2 ", " - -(markup-locclass-list :open ", " :sep ", ") - -;; delim_n ", " - -(markup-locref-list :sep ", ") - -;; delim_r "--" - -(markup-range :sep "--") - -;; That's all ;-) - - -;; End - -;; Local Variables: -;; mode: lisp -;; End: 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/variant2-utf8.xdy b/indexing/xindy/contrib/xindy-persian/variant2-utf8.xdy deleted file mode 100644 index e0e73044c4..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant2-utf8.xdy +++ /dev/null @@ -1,590 +0,0 @@ -;; Rules for xindy; generated by make-rules.pl -;; language: Persian - -(define-letter-group "آ" :prefixes ("")) -(define-letter-group "ا" :after "آ" :prefixes ("" "")) -(define-letter-group "ب" :after "ا" :prefixes ("")) -(define-letter-group "پ" :after "ب" :prefixes ("")) -(define-letter-group "ت" :after "پ" :prefixes ("")) -(define-letter-group "ث" :after "ت" :prefixes ("")) -(define-letter-group "ج" :after "ث" :prefixes ("")) -(define-letter-group "چ" :after "ج" :prefixes ("")) -(define-letter-group "ح" :after "چ" :prefixes ("")) -(define-letter-group "خ" :after "ح" :prefixes ("")) -(define-letter-group "د" :after "خ" :prefixes ("")) -(define-letter-group "ذ" :after "د" :prefixes ("")) -(define-letter-group "ر" :after "ذ" :prefixes ("")) -(define-letter-group "ز" :after "ر" :prefixes ("")) -(define-letter-group "ژ" :after "ز" :prefixes ("")) -(define-letter-group "س" :after "ژ" :prefixes ("")) -(define-letter-group "ش" :after "س" :prefixes ("")) -(define-letter-group "ص" :after "ش" :prefixes ("")) -(define-letter-group "ض" :after "ص" :prefixes ("")) -(define-letter-group "ط" :after "ض" :prefixes ("")) -(define-letter-group "ظ" :after "ط" :prefixes ("")) -(define-letter-group "ع" :after "ظ" :prefixes ("")) -(define-letter-group "غ" :after "ع" :prefixes ("")) -(define-letter-group "ف" :after "غ" :prefixes ("")) -(define-letter-group "ق" :after "ف" :prefixes ("")) -(define-letter-group "ک" :after "ق" :prefixes ("")) -(define-letter-group "گ" :after "ک" :prefixes ("")) -(define-letter-group "ل" :after "گ" :prefixes ("")) -(define-letter-group "م" :after "ل" :prefixes ("")) -(define-letter-group "ن" :after "م" :prefixes ("")) -(define-letter-group "و" :after "ن" :prefixes ("")) -(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-rule-set "pe-alphabetize" - - :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) - ("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) - )) - -(define-rule-set "pe-resolve-diacritics" - - :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) - ("d" "" :string) - ("i" "" :string) - ("K" "" :string) - ("I" "" :string) - ("l" "" :string) - ("M" "" :string) - ("D" "" :string) - ("O" "" :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) - ("p" "" :string) - ("W" "" :string) - ("B" "" :string) - ("c" "" :string) - ("z" "" :string) - ("Q" "" :string) - ("h" "" :string) - ("r" "" :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) - ("j" "" :string) - ("X" "" :string) - ("Z" "" :string) - ("b" "" :string) - ("P" "" :string) - )) - -(define-rule-set "pe-resolve-case" - - :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) - ("Œ" "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) - ("œ" "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) - ("M" "8" :string) - ("I" "8" :string) - ("K" "8" :string) - ("D" "8" :string) - ("R" "8" :string) - ("P" "8" :string) - ("Z" "8" :string) - ("X" "8" :string) - ("N" "8" :string) - ("L" "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) - ("e" "9" :string) - ("n" "9" :string) - ("s" "9" :string) - ("y" "9" :string) - ("m" "9" :string) - ("u" "9" :string) - ("q" "9" :string) - ("v" "9" :string) - ("a" "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) - ("x" "9" :string) - ("k" "9" :string) - ("o" "9" :string) - ("r" "9" :string) - ("h" "9" :string) - ("c" "9" :string) - ("z" "9" :string) - ("p" "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) - )) - -(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) - ("c" "" :string) - ("p" "" :string) - ("Q" "" :string) - ("C" "" :string) - ("r" "" :string) - ("x" "" :string) - ("k" "" :string) - ("o" "" :string) - ("w" "" :string) - ("t" "" :string) - ("N" "" :string) - ("R" "" :string) - ("j" "" :string) - ("Z" "" :string) - ("P" "" :string) - ("d" "" :string) - ("I" "" :string) - ("M" "" :string) - ("l" "" :string) - ("a" "" :string) - ("U" "" :string) - ("F" "" :string) - ("v" "" :string) - ("T" "" :string) - ("Y" "" :string) - ("z" "" :string) - ("B" "" :string) - ("W" "" :string) - ("h" "" :string) - ("A" "" :string) - ("G" "" :string) - ("S" "" :string) - ("f" "" :string) - ("E" "" :string) - ("g" "" :string) - ("L" "" :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) - ("}" "" :string) - )) - diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/variant3-utf8-lang.xdy deleted file mode 100644 index 7f44812017..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant3-utf8-lang.xdy +++ /dev/null @@ -1,10 +0,0 @@ -(require "lang/persian/variant3-utf8.xdy") -(define-sort-rule-orientations (forward backward forward forward)) -(use-rule-set :run 0 - :rule-set ("pe-alphabetize" "pe-ignore-special")) -(use-rule-set :run 1 - :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) -(use-rule-set :run 2 - :rule-set ("pe-resolve-case" "pe-ignore-special")) -(use-rule-set :run 3 - :rule-set ("pe-resolve-special")) diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/variant3-utf8-test.xdy deleted file mode 100644 index ad7cbf91dd..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant3-utf8-test.xdy +++ /dev/null @@ -1,92 +0,0 @@ -(require "lang/persian/variant3-utf8.xdy") -(define-sort-rule-orientations (forward backward forward forward)) -(use-rule-set :run 0 - :rule-set ("pe-alphabetize" "pe-ignore-special")) -(use-rule-set :run 1 - :rule-set ("pe-resolve-diacritics" "pe-ignore-special")) -(use-rule-set :run 2 - :rule-set ("pe-resolve-case" "pe-ignore-special")) -(use-rule-set :run 3 - :rule-set ("pe-resolve-special")) - -;; 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 "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 "\\begin{theindex}\n" -;; postamble "\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 "~n \setcounter{page}{" -;; setpage_suffix "}~n" - -;; group_skip "~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 ", " -;; delim_1 ", " -;; delim_2 ", " - -(markup-locclass-list :open ", " :sep ", ") - -;; delim_n ", " - -(markup-locref-list :sep ", ") - -;; delim_r "--" - -(markup-range :sep "--") - -;; That's all ;-) - - -;; End - -;; Local Variables: -;; mode: lisp -;; End: 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'; diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8.xdy b/indexing/xindy/contrib/xindy-persian/variant3-utf8.xdy deleted file mode 100644 index b611539a13..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant3-utf8.xdy +++ /dev/null @@ -1,589 +0,0 @@ -;; Rules for xindy; generated by make-rules.pl -;; language: Persian - -(define-letter-group "الف" :prefixes ("" "" "")) -(define-letter-group "ب" :after "الف" :prefixes ("")) -(define-letter-group "پ" :after "ب" :prefixes ("")) -(define-letter-group "ت" :after "پ" :prefixes ("")) -(define-letter-group "ث" :after "ت" :prefixes ("")) -(define-letter-group "ج" :after "ث" :prefixes ("")) -(define-letter-group "چ" :after "ج" :prefixes ("")) -(define-letter-group "ح" :after "چ" :prefixes ("")) -(define-letter-group "خ" :after "ح" :prefixes ("")) -(define-letter-group "د" :after "خ" :prefixes ("")) -(define-letter-group "ذ" :after "د" :prefixes ("")) -(define-letter-group "ر" :after "ذ" :prefixes ("")) -(define-letter-group "ز" :after "ر" :prefixes ("")) -(define-letter-group "ژ" :after "ز" :prefixes ("")) -(define-letter-group "س" :after "ژ" :prefixes ("")) -(define-letter-group "ش" :after "س" :prefixes ("")) -(define-letter-group "ص" :after "ش" :prefixes ("")) -(define-letter-group "ض" :after "ص" :prefixes ("")) -(define-letter-group "ط" :after "ض" :prefixes ("")) -(define-letter-group "ظ" :after "ط" :prefixes ("")) -(define-letter-group "ع" :after "ظ" :prefixes ("")) -(define-letter-group "غ" :after "ع" :prefixes ("")) -(define-letter-group "ف" :after "غ" :prefixes ("")) -(define-letter-group "ق" :after "ف" :prefixes ("")) -(define-letter-group "ک" :after "ق" :prefixes ("")) -(define-letter-group "گ" :after "ک" :prefixes ("")) -(define-letter-group "ل" :after "گ" :prefixes ("")) -(define-letter-group "م" :after "ل" :prefixes ("")) -(define-letter-group "ن" :after "م" :prefixes ("")) -(define-letter-group "و" :after "ن" :prefixes ("")) -(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-rule-set "pe-alphabetize" - - :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) - ("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) - )) - -(define-rule-set "pe-resolve-diacritics" - - :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) - ("k" "" :string) - ("R" "" :string) - ("T" "" :string) - ("o" "" :string) - ("U" "" :string) - ("D" "" :string) - ("j" "" :string) - ("z" "" :string) - ("a" "" :string) - ("p" "" :string) - ("B" "" :string) - ("f" "" :string) - ("E" "" :string) - ("g" "" :string) - ("S" "" :string) - ("K" "" :string) - ("l" "" :string) - ("v" "" :string) - ("u" "" :string) - ("i" "" :string) - ("t" "" :string) - ("O" "" :string) - ("P" "" :string) - ("s" "" :string) - ("Y" "" :string) - ("Z" "" :string) - ("d" "" :string) - ("q" "" :string) - ("c" "" :string) - ("J" "" :string) - ("C" "" :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) - ("L" "" :string) - ("h" "" :string) - ("b" "" :string) - ("H" "" :string) - ("I" "" :string) - ("V" "" :string) - )) - -(define-rule-set "pe-resolve-case" - - :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) - ("Œ" "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) - ("œ" "99" :string) - ("æ" "99" :string) - ("D" "8" :string) - ("B" "8" :string) - ("E" "8" :string) - ("R" "8" :string) - ("T" "8" :string) - ("U" "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) - ("i" "9" :string) - ("s" "9" :string) - ("g" "9" :string) - ("q" "9" :string) - ("c" "9" :string) - ("m" "9" :string) - ("d" "9" :string) - ("w" "9" :string) - ("e" "9" :string) - ("h" "9" :string) - ("b" "9" :string) - ("y" "9" :string) - ("r" "9" :string) - ("n" "9" :string) - ("x" "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) - )) - -(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) - ("P" "" :string) - ("t" "" :string) - ("v" "" :string) - ("u" "" :string) - ("l" "" :string) - ("K" "" :string) - ("S" "" :string) - ("B" "" :string) - ("f" "" :string) - ("p" "" :string) - ("D" "" :string) - ("j" "" :string) - ("a" "" :string) - ("o" "" :string) - ("k" "" :string) - ("I" "" :string) - ("H" "" :string) - ("e" "" :string) - ("X" "" :string) - ("G" "" :string) - ("N" "" :string) - ("x" "" :string) - ("y" "" :string) - ("n" "" :string) - ("M" "" :string) - ("F" "" :string) - ("C" "" :string) - ("q" "" :string) - ("s" "" :string) - ("i" "" :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) - ("-" "" :string) - ("'" "" :string) - ("{" "" :string) - ("}" "" :string) - )) - -- cgit v1.2.3