pax_global_header00006660000000000000000000000064126423542110014512gustar00rootroot0000000000000052 comment=33f63d27c6e773b7be2cdd53658f8de17fadf18c xindy-2.5.1.20160104/000077500000000000000000000000001264235421100135465ustar00rootroot00000000000000xindy-2.5.1.20160104/AUTHORS000066400000000000000000000051711264235421100146220ustar00rootroot00000000000000 AUTHORS OF XINDY ================ The xindy base system (CLISP plugins and kernel) was written by Roger Kehr, under supervision of Joachim Schrod as a student project in 1995. It used an architectural design from Joachim that was prototyped in his research work on International Makeindex and STIL (SGML Transformations In Lisp). Roger continued to work on xindy until 2000, but is not involved in xindy development any more. In these years he especially designed and realized the current sort-rules framework. Having been involved as the project's supervisor from the start, Joachim Schrod is xindy's lead maintainer since 2000. Together with Christine Detig, he wrote the LaTeX Companion (2nd ed.) chapter on indexing where xindy is presented. As part of that work, he designed and realized user commands and xindy base modules. Ordrules, the basic rule evaluation facility, is also his work. In 2009, he moved xindy to a pure Lisp implementation, making compilation much easier and the overall system much more portable. Joachim also creates the `official' releases, eventually, after some time, well, after a long time. Thomas Henlich wrote the make-rules package that generates xindy sort-rules for many languages, with special support for LaTeX Internal Character Representations (the markup that appears in *.idx files). Martin Vermeer contributed many improvements to this package. Gour took over the herculian task to create a source distribution from the shattered source parts, i.e., this current distribution form that uses autoconf/automake and can be installed with the canonical "./configure ; make ; make install" procedure. He also maintains the Gentoo ebuild package of xindy. Jörg Sommer chimed in and improved Gour's installation process by enabling to use an already installed CLISP. He is also the Debian package maintainer of xindy. Vladimir Volovich changed xindy's compilation and install process to fit into TeX-Live, first for TL 2008. He also created the first Windows and Mac OS X versions that way. He is also the TeX Live package maintainer of xindy. Peter Breitenlohner improved xindy's autoconf mechanism for better integration in TeX-Live 2010 and better maintainability. Akira Kakuto was instrumental in getting Windows support into shape into the hands of many people. Ulrike Fisher pushes for inclusion in MikTeX. Several people contributed whole language modules or fixes for existing modules: Claudio Beccari, Vafa Khalighi, Dohyun Kim, Kihwang Lee, Pavel Striz, Apostolos Syropoulos. Email addresses for the authors are best looked up in the mailing list archives; for spam-protection reasons I don't want to list them here. xindy-2.5.1.20160104/COPYING000066400000000000000000000431031264235421100146020ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. xindy-2.5.1.20160104/ChangeLog.Gour000066400000000000000000000246201264235421100162370ustar00rootroot00000000000000Fri Jul 8 13:26:54 CEST 2005 dev@atmarama.org tagged xindy-0.8.0 (aka xindy-2.2-beta2) Fri Jul 8 13:24:33 CEST 2005 dev@atmarama.org * added setup.sh script to fix-perms script Fri Jul 8 11:32:18 CEST 2005 dev@atmarama.org * bump version to xindy-2.2-beta2 Fri Jul 8 11:31:06 CEST 2005 dev@atmarama.org * applied changes for BUILDRULES (Makefile.ins) Fri Jul 8 11:19:55 CEST 2005 dev@atmarama.org * added yindy.ebuild to the repo Fri Jul 8 11:16:12 CEST 2005 dev@atmarama.org * added 'build make-rules' as a FEATURE Fri Jul 8 09:39:04 CEST 2005 dev@atmarama.org * moving to beta2 target Fri Jul 8 09:38:11 CEST 2005 dev@atmarama.org * added setup.sh to EXTRA_DIST Fri Jul 8 08:33:05 CEST 2005 dev@atmarama.org * replaced iconv .. -t LATIN? --> iconv .. -t ISO8859-? to make Solaris & co. happy Fri Jul 8 07:57:26 CEST 2005 dev@atmarama.org * replaced iconv --from-code .. to iconv -f .. Fri Jul 8 07:42:15 CEST 2005 dev@atmarama.org * applied Joachim's clisp patch Thu Jul 7 21:41:13 CEST 2005 dev@atmarama.org * added setup.sh script for handling binary distribution Thu Jul 7 21:40:14 CEST 2005 dev@atmarama.org * removed some confusing trailing spaces in ../alphabets/Makefile.am and made BUILDDOCS=yes Mon Jul 4 15:18:04 CEST 2005 dev@atmarama.org * removed some extra trailing spaces which confuse some 'make' program(s) Sun Jul 3 12:02:10 CEST 2005 dev@atmarama.org tagged xindy-0.7.0 (aka xindy-2.2-beta1) Sun Jul 3 11:48:48 CEST 2005 dev@atmarama.org * added some missing (& obscure) .* clisp files Sun Jul 3 11:32:48 CEST 2005 dev@atmarama.org * $(clispdir)/src/.gdbinit added to fix-perms script Sun Jul 3 11:27:50 CEST 2005 dev@atmarama.org * clisp's configure --> fix-perms Sun Jul 3 11:20:44 CEST 2005 dev@atmarama.org * added clisp's configure to fix-perms #$:#"#!%&$#!! Sun Jul 3 11:11:39 CEST 2005 dev@atmarama.org * added ../user-commands/texindy to fix-perms script Sun Jul 3 11:05:28 CEST 2005 dev@atmarama.org * added modified fix-perms script Sun Jul 3 11:03:31 CEST 2005 dev@atmarama.org * fix for xindy.in Sun Jul 3 10:20:24 CEST 2005 dev@atmarama.org * new Makefile.am rule for xindy.in --> xindy Sun Jul 3 10:17:42 CEST 2005 dev@atmarama.org * removing some generated files in $clispdir Sun Jul 3 10:14:46 CEST 2005 dev@atmarama.org * 'xindy' script is not built via configure.ac any longer Sun Jul 3 08:08:24 CEST 2005 dev@atmarama.org * we're up(de)grading to 2.2-beta1 :-) Sun Jul 3 08:07:23 CEST 2005 dev@atmarama.org * include modified clisp's configure in the DIST rule Sat Jul 2 22:32:23 CEST 2005 dev@atmarama.org tagged xindy-0.6.0 Sat Jul 2 22:31:38 CEST 2005 dev@atmarama.org * 'darcs dist' is used for creating xindy distribution! Sat Jul 2 22:28:45 CEST 2005 dev@atmarama.org * added (fixed) 'fix-perms' script Sat Jul 2 22:25:17 CEST 2005 dev@atmarama.org * new fix-perms script Sat Jul 2 22:21:15 CEST 2005 dev@atmarama.org * new fix-perms script Sat Jul 2 22:14:34 CEST 2005 dev@atmarama.org * removed old fix-perms script Sat Jul 2 22:09:00 CEST 2005 dev@atmarama.org tagged xindy-0.5.3 Sat Jul 2 22:08:04 CEST 2005 dev@atmarama.org * added 'fix-perms' script to handle 'darcs dist' rule Sat Jul 2 21:00:37 CEST 2005 dev@atmarama.org * remove some additional files in 'clispdir' to match pristine source Sat Jul 2 20:10:58 CEST 2005 dev@atmarama.org tagged xindy-0.5.2 Sat Jul 2 20:09:51 CEST 2005 dev@atmarama.org * some typos and added 'clisp-test.c' to distclean rule Sat Jul 2 19:47:48 CEST 2005 dev@atmarama.org * always clean docs in ../make-rules/alphabets Sat Jul 2 18:36:11 CEST 2005 dev@atmarama.org tagged xindy-0.5.1 Sat Jul 2 18:34:48 CEST 2005 dev@atmarama.org * install doc in the $(PACKAGE_NAME)-$(PACKAGE_VERSION) Sat Jul 2 18:12:08 CEST 2005 dev@atmarama.org * added 'build docs' as a FEATURE, removed generated file 'clisp-test.c' & removed 'clisp-distribution' from rte/Makefile.am Sat Jul 2 10:50:53 CEST 2005 dev@atmarama.org tagged xindy-0.5.0 (aka alpha5) Sat Jul 2 10:49:40 CEST 2005 dev@atmarama.org * we're ready for alpha5 Sat Jul 2 10:46:52 CEST 2005 dev@atmarama.org * changed class of alphabets-doc.tex article --> report and some cosmetic changes Sat Jul 2 10:44:06 CEST 2005 dev@atmarama.org * more alphabets enabled in generated aplhabets-doc.pdf Sat Jul 2 08:22:07 CEST 2005 dev@atmarama.org * patch to test Mac OS X and compile clisp without faulty readline (rte/configure) Sat Jul 2 08:08:14 CEST 2005 dev@atmarama.org * ordrules patch applied Fri Jul 1 23:13:09 CEST 2005 dev@atmarama.org tagged xindy-0.4.3 Fri Jul 1 23:09:48 CEST 2005 dev@atmarama.org * (final ?) fix for xindy.run perm & some fixes for alphabets' docs Fri Jul 1 18:19:45 CEST 2005 dev@atmarama.org * removed make-rules/alphabets lambda-related scripts Fri Jul 1 18:14:39 CEST 2005 dev@atmarama.org tagged xindy-0.4.2 Fri Jul 1 18:13:37 CEST 2005 dev@atmarama.org * we're going into xindy-2.3-alpha5 version Fri Jul 1 18:12:40 CEST 2005 dev@atmarama.org * modules/ord & modules/rules incorporated, fixed perms for xindy.mem Fri Jul 1 17:35:32 CEST 2005 dev@atmarama.org * added modules/ord files Fri Jul 1 17:32:10 CEST 2005 dev@atmarama.org * added modules/rules files Fri Jul 1 17:29:07 CEST 2005 dev@atmarama.org * changed perms for the whole package 755/644 Fri Jul 1 15:20:00 CEST 2005 dev@atmarama.org * added m4/ac_prog_pdflatex.m4 macro Fri Jul 1 15:16:40 CEST 2005 dev@atmarama.org * back to old rte/configure Fri Jul 1 12:17:46 CEST 2005 dev@atmarama.org * fix for rte/configure enabling one to pass arguments to clisp's configure Fri Jul 1 11:43:01 CEST 2005 dev@atmarama.org tagged xindy-0.4.1 Fri Jul 1 11:40:39 CEST 2005 dev@atmarama.org * modified rule for ../inputenc/latin.xdy Fri Jul 1 11:02:56 CEST 2005 dev@atmarama.org * added rules for latin.xdy in ..make-rules/inputenc Fri Jul 1 10:44:46 CEST 2005 dev@atmarama.org * added isolatin*.xdy files in ..modules/tex folder Fri Jul 1 10:09:51 CEST 2005 dev@atmarama.org * only xindy.run requires +x attribute Thu Jun 30 20:36:04 CEST 2005 dev@atmarama.org tagged xindy-0.4.0 (aka alpha4) Thu Jun 30 20:35:03 CEST 2005 dev@atmarama.org * polishing distribution (TODO 'clisp' distribution!) Thu Jun 30 10:36:31 CEST 2005 dev@atmarama.org tagged xindy-0.3.4 Thu Jun 30 10:35:59 CEST 2005 dev@atmarama.org * polishing distribution (make-rules, modules) Thu Jun 30 09:57:57 CEST 2005 dev@atmarama.org tagged xindy-0.3.3 Thu Jun 30 09:56:28 CEST 2005 dev@atmarama.org * polishing distribution (binaries, doc, user-commands, src, tex2xindy) Thu Jun 30 08:27:02 CEST 2005 dev@atmarama.org * introduced rule for *.fas (binaries/Makefile.am) Thu Jun 30 07:12:38 CEST 2005 dev@atmarama.org tagged xindy-0.3.2 Thu Jun 30 07:08:25 CEST 2005 dev@atmarama.org * fixed mechanism for handling $lib_dir & $modules_dir in 'xindy' script Wed Jun 29 17:50:17 CEST 2005 dev@atmarama.org * typo in ..alphabets/slovak/Makefile.am Wed Jun 29 17:48:05 CEST 2005 dev@atmarama.org * fixed typo in ..alphabets/russian/Makefile.am Wed Jun 29 17:44:52 CEST 2005 dev@atmarama.org * some fixes in binaries/Makefile.am Tue Jun 28 14:10:52 CEST 2005 dev@atmarama.org tagged xindy-0.3.1 (aka alpha3 - fixed) Tue Jun 28 14:08:58 CEST 2005 dev@atmarama.org * obsolete comments about building clisp are commented & replaced with relevant info (it got lost :-o Tue Jun 28 13:31:36 CEST 2005 dev@atmarama.org tagged xindy-0.3.0 (aka alpha3) Tue Jun 28 13:30:52 CEST 2005 dev@atmarama.org * make-rules module completed (alpha3 release) Tue Jun 28 13:28:59 CEST 2005 dev@atmarama.org * new tex2xindy.l Tue Jun 28 13:27:34 CEST 2005 dev@atmarama.org * added creation of *-utf8.pl scripts Tue Jun 28 12:04:52 CEST 2005 dev@atmarama.org * turkish, ukrainian, upper-sorbian & vietnamese Tue Jun 28 11:49:41 CEST 2005 dev@atmarama.org * romanian, russian, serbian, slovak, slovenian, spanish & swedish Tue Jun 28 10:48:17 CEST 2005 dev@atmarama.org * macedonian, mongolian, norwegian, polish & portuguese Tue Jun 28 10:31:45 CEST 2005 dev@atmarama.org * klingon, kurdish, latin, latvian, lithuanian & lower-sorbian Tue Jun 28 08:58:50 CEST 2005 dev@atmarama.org * icelandic & italian Mon Jun 27 20:19:39 CEST 2005 dev@atmarama.org * hausa, hebrew & hungarian Mon Jun 27 20:09:09 CEST 2005 dev@atmarama.org * general, georgian, german, greek & gypsy Mon Jun 27 19:02:41 CEST 2005 dev@atmarama.org * finnish & french Mon Jun 27 18:40:34 CEST 2005 dev@atmarama.org * esperanto & estonian Mon Jun 27 18:21:47 CEST 2005 dev@atmarama.org * dutch & english Mon Jun 27 17:31:11 CEST 2005 dev@atmarama.org * czech & danish Mon Jun 27 16:29:56 CEST 2005 dev@atmarama.org * bulgarian & croatian Mon Jun 27 15:49:50 CEST 2005 dev@atmarama.org * albanian & belarusian Fri Jun 24 14:05:00 CEST 2005 dev@atmarama.org * adde m4/ac_prog_latex.m4 macro for checking 'latex' Thu Jun 23 13:37:15 CEST 2005 dev@atmarama.org tagged xindy-0.2.0 Thu Jun 23 13:36:12 CEST 2005 dev@atmarama.org * finished 'styles' & 'inputenc' modules in make-rules Thu Jun 23 10:21:25 CEST 2005 dev@atmarama.org * removed obsolete Makefiles & prepared 'inputenc' module Wed Jun 22 22:39:03 CEST 2005 dev@atmarama.org * preparation for inclusion of 'make-rules' module Wed Jun 22 09:56:50 CEST 2005 dev@atmarama.org tagged xindy-0.1.4 Wed Jun 22 09:55:58 CEST 2005 dev@atmarama.org * removed ChangeLog from repo Wed Jun 22 09:53:00 CEST 2005 dev@atmarama.org * removed make-rules/xorty Wed Jun 22 09:45:11 CEST 2005 dev@atmarama.org tagged xindy-0.1.3 Wed Jun 22 09:20:24 CEST 2005 dev@atmarama.org * xindy.in mechanism for handling 'lib_dir' & 'modules_dir' added Wed Jun 22 08:48:19 CEST 2005 dev@atmarama.org tagged xindy-0.1.2 Wed Jun 22 08:46:36 CEST 2005 dev@atmarama.org * obsolete comments about building clisp are commented & replaced with relevant info Wed Jun 22 08:21:58 CEST 2005 dev@atmarama.org * removed 'mkdir -p' & added 'dist-hook' in top-level Makefile.am to preserve scripts' perms Tue Jun 21 16:12:50 CEST 2005 dev@atmarama.org tagged xindy-0.1.1 Tue Jun 21 16:12:05 CEST 2005 dev@atmarama.org * added missing *.in files Mon Jun 20 15:20:59 CEST 2005 dev@atmarama.org tagged xindy-0.1.0 (aka xindy-2.3-alpha2) Mon Jun 20 15:17:00 CEST 2005 dev@atmarama.org * xindy-2.3-alpha2 xindy-2.5.1.20160104/INSTALL000066400000000000000000000246621264235421100146110ustar00rootroot00000000000000Installation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation, Inc. Copyright (C) 2008-2014 Joachim Schrod This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Additions by Joachim Schrod, giving the same permissions. xindy Specifics =============== CLISP is required. Often, it's available prepackaged from your distribution, otherwise download and install it from http://clisp.cons.org/. The command clisp must be found at build and run time. clisp's version at build and run time must be the same. Perl is required. GNU Make is required. E.g., on FreeBSD or Solaris, this means to install an appropriate package and use the command `gmake' instead of `make'. An installed LaTeX system is required. It is needed to create the LaTeX-specific part of the sort rules that knows how to handle LaTeX Internal Character Encodings from *.idx files. Basic Installation ================== These are generic installation instructions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. (Caching is disabled by default to prevent problems with accidental use of stale cache files.) If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You only need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. If you're using `csh' on an old version of System V, you might need to type `sh ./configure' instead to prevent `csh' from trying to execute `configure' itself. Running `configure' takes awhile. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you must use a version of `make' that supports the `VPATH' variable, such as GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. If you have to use a `make' that does not support the `VPATH' variable, you have to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. Installation Names ================== By default, `make install' will install the package's files in `/usr/local/bin', `/usr/local/man', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you give `configure' the option `--exec-prefix=PREFIX', the package will use PREFIX as the prefix for installing programs and libraries. Documentation and other data files will still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the `--target=TYPE' option to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Here is a another example: /bin/bash ./configure CONFIG_SHELL=/bin/bash Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent configuration-related scripts to be executed by `/bin/bash'. `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of the options to `configure', and exit. `--disable-make-rules' Don't create xindy's language modules. Only sensible if you don't have LaTeX on your build system and get the language modules from elsewhere (they are system-independent). `--disable-docs' Don't create make-rules documentation. Only sensible if you don't have pdfLaTeX on your build system. (Should probably combined with --disable-make-rules, or should not install other docs either.) `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. xindy-2.5.1.20160104/Makefile.am000066400000000000000000000025151264235421100156050ustar00rootroot00000000000000## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `automake Makefile' to create only Makefile.in. # Makefile for xindy ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2008,2009 by Joachim Schrod. ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. ## Global options ACLOCAL_AMFLAGS = -I m4 SUBDIRS = src tex2xindy modules user-commands # do we build make-rules? if BUILDRULES SUBDIRS += make-rules endif # do we build docs? if BUILDDOCS SUBDIRS += doc endif EXTRA_DIST = ChangeLog.Gour VERSION TODO.autoconf versiondir = ${pkglibdir} version_DATA = VERSION distclean-local: rm -rf autom4te.cache xindy-2.5.1.20160104/Makefile.in000066400000000000000000000505451264235421100156240ustar00rootroot00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # Makefile for xindy VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ # do we build make-rules? @BUILDRULES_TRUE@am__append_1 = make-rules # do we build docs? @BUILDDOCS_TRUE@am__append_2 = doc subdir = xindy-2.5.1 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ $(top_srcdir)/../../m4/kpse-progs.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 $(top_srcdir)/version.ac \ $(top_srcdir)/ac/xindy.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(versiondir)" DATA = $(version_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = src tex2xindy modules user-commands make-rules doc am__DIST_COMMON = $(srcdir)/Makefile.in AUTHORS COPYING INSTALL NEWS \ README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" pkglibdir = @pkglibdir@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLISP = @CLISP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LISP_RUN = @LISP_RUN@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PERL = @PERL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WARNING_CFLAGS = @WARNING_CFLAGS@ WIN_WRAPPER = @WIN_WRAPPER@ XINDY_RUN = @XINDY_RUN@ XINDY_TREE = @XINDY_TREE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ memdir = @memdir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = src tex2xindy modules user-commands $(am__append_1) \ $(am__append_2) EXTRA_DIST = ChangeLog.Gour VERSION TODO.autoconf versiondir = ${pkglibdir} version_DATA = VERSION all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xindy-2.5.1/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign xindy-2.5.1/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-versionDATA: $(version_DATA) @$(NORMAL_INSTALL) @list='$(version_DATA)'; test -n "$(versiondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(versiondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(versiondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(versiondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(versiondir)" || exit $$?; \ done uninstall-versionDATA: @$(NORMAL_UNINSTALL) @list='$(version_DATA)'; test -n "$(versiondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(versiondir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(versiondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-versionDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-versionDATA .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-local distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip install-versionDATA installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am \ uninstall-versionDATA .PRECIOUS: Makefile distclean-local: rm -rf autom4te.cache # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xindy-2.5.1.20160104/NEWS000066400000000000000000000034351264235421100142520ustar00rootroot00000000000000 XINDY RELEASE NOTES =================== Version Date Remarks 2.5.0 2014-04-19 `TeX Live 2014 Release'. Patches from TeX Live. Support for MikTeX. New languages: Persian, Korean. Corrected sorting: Polytonik Greek, Vietnamese. Language modules may be in modules/contrib/lang/. By default, make-rules documentation is not created. texindy utf8 codepage for Latin scripts supported. 2.4 2010-05-11 `TUG30 Release'. Pure Lisp implementation, needs an installed CLISP. Easy compilation and installation, first official Mac OS X support. Bug fixes in user commands. xindy progress messages to stdout, not stderr. Changes from TeX-Live (TL2010), for better autoconf and draft Windows support. (Thanks to Peter Breitenlohner for that contribution.) 2.3.1 2008-01-14 Downgraded to CLISP 2.42; there are many reports of 2.43 compilation problems on AMD64 systems. 2.3 2008-01-09 `Gour and Jörg Waited Too Long For It Release'. Source distribution with canonical install procedure. Includes UTF-8 and Omega support. Bug fixes in base modules and *.idx parsing. 2.2 rc2 2005-05-10 2nd release candidate for `LaTeX Companion Release'. Resolved issues: -- Linux release works on glibc 2.3 -- Two double quotes in index key are supported -- Options are checked carefully and errors are reported -- Structured version numbers -- Style file tutorial commands work 2.2 rc1 2004-05-28 First release candidate for `LaTeX Companion Release'. New command interface, new distribution strategy (ready-to-run), consolidated distribution of run time engine, kernel, and language modules. xindy-2.5.1.20160104/README000066400000000000000000000077461264235421100144440ustar00rootroot00000000000000 xindy (`fleXible INDexing sYstem') is a flexible index processor that creates tagged index for publication system. xindy merges, sorts, and outputs markup for raw index entries. It is highly configurable. It supports many languages. This is the source distribution of xindy, Release notes are available in the file NEWS, in this directory. The original source is available from Sourceforge, see http://www.xindy.org/ for more information. This Web Site should contain also the most up-to-date information about xindy. Sadly, it hasn't. Nowadays, TeX Live and CTAN are the source of the most current distribution; sources are available over Joachim's Github account, https://github.com/jschrod/xindy.ctan. INSTALLATION (Short Version) ------------ Unpack the distribution archive, a directory xindy- will be created. Usual steps follow: $ cd xindy- $ ./configure $ make $ make install You need to use GNU make; e.g., on FreeBSD or on Solaris, you need to install it and use the command gmake instead of make. By default, installation will be done in the /usr/local/ tree. You can change that with the configure option `--prefix'. The long version of the installation instructions are in the file INSTALL. Please note: The xindy modules directory location (currently, $prefix/lib/xindy/modules/) is bound to be changed in future distributions. This only matters if you install additional modules there, at future updates. UPDATE INSTALLATION ------------------- There is no specific update installation procedure, sorry. You need to install xindy anew. If you had installed xindy 2.2 RC1 (the LaTeX Companion Release) and you had additional xindy module files installed in the system-wide directories, you need to move them manually to the new modules tree. That is located in $prefix/lib/xindy/modules/ ($prefix is /usr/local/ by default). USAGE ----- There are two main commands: -- texindy, for creation of indexes for LaTeX documents -- xindy, for generic index creation Manuals for these commands are installed in appropriate man directories and additionally supplied in PDF format, in the /doc/ subdirectory of the distribution, which gets installed as $prefix/share/doc/xindy-/. This documentation directory has more documentation. Technical reports are on our Web Site, http://www.xindy.org/. KNOWN ISSUES ------------ Known problems and wanted enhancements of xindy are documented in our SourceForge tracker system, accessible on the Web at https://sourceforge.net/tracker/?group_id=10646 FEEDBACK / MAILING LIST ----------------------- Everybody is encouraged to port xindy to new platforms. For any kind of suggestions, helpful comments, questions, bug reports and such, please mail to the xindy mailing list xindy-discuss@lists.sourceforge.net This is a low-volume mailing list; with a few emails per month. You can subscribe to the list by visiting http://lists.sourceforge.net/lists/listinfo/xindy-discuss Mailing list archives are public and can be read at http://sourceforge.net/mailarchive/forum.php?forum=xindy-discuss DISTRIBUTION CONTENT -------------------- This distribution contains -- xindy kernel (src/, tex2xindy/, user-commands/) -- sort-rules for many languages (make-rules/) -- base xindy styles, as described in the LaTeX Companion (modules/) LEGALESE -------- This package is freely distributable software; you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation. This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License in the file COPYING along with this package; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The xindy index processor is released under GPL version 2 or later. xindy-2.5.1.20160104/TODO.autoconf000066400000000000000000000024441264235421100160570ustar00rootroot00000000000000 [Check] FIXMEs in configure.ac -- flex for tex2indy? -- latex must be available Sat Mar 28 18:07:07 2009 schrod ---------------------------------------------------------------------- [Problem] abort while building documentation Folks on Mac OS X had aborts while make-rules documentation should have been created. There exists a ticket from Yannis with logs. Tue May 11 02:08:07 2010 schrod ---------------------------------------------------------------------- [Missing] Changes from Vladimir/Peter for TeX Live TL install dirs Reorg of alphabets Makefile.am Sun Mar 29 13:50:45 2009 schrod ---------------------------------------------------------------------- [Change] strtoul() might not exist Replace it with function from gnulib. AC_REPLACE_FUNCS Sun Mar 29 13:46:35 2009 schrod ---------------------------------------------------------------------- [Change] No need to insist on GNU make any more pattern rules variable subtitutions OK: src user-commands tex2xindy TBD: make-rules Sat Mar 28 18:18:03 2009 schrod ---------------------------------------------------------------------- [Change] Use maintainer mode autoconf builds are triggered too often without reason... Tue May 11 02:06:04 2010 schrod ---------------------------------------------------------------------- xindy-2.5.1.20160104/VERSION000066400000000000000000000000061264235421100146120ustar00rootroot000000000000002.5.1 xindy-2.5.1.20160104/configure.ac000066400000000000000000000075471264235421100160510ustar00rootroot00000000000000## -*- Autoconf -*- ## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `autoconf' to create only configure. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2008-2014 by Joachim Schrod. ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. AC_PREREQ(2.68) dnl Get version string from file; need to discard training newline. m4_define([XINDY_VERSION], m4_chomp(m4_include([VERSION]))) AC_INIT([xindy], XINDY_VERSION, [xindy-discuss@lists.sourceforge.net]) # Automake's dist target needs all to-be-distributed files flagged in # Makefile.am files; we have not done that yet. Since we don't do C # programs, automake's defaults are not usable for us, too. # # FIXME: Now make dist works, thanks to Peter's patches. Shouldn't I # need to change here now? AM_INIT_AUTOMAKE([foreign no-define]) # Installation directory for standalone xindy, different when part of TeX Live. memdir='$(pkglibdir)' AC_SUBST([memdir]) AM_CONDITIONAL([TEXLIVE_BUILD], [false]) # Test for building make-rules AC_ARG_ENABLE([make-rules], AS_HELP_STRING([--enable-make-rules], [build and install make-rules package (default is YES)]), [BUILDRULES=$enableval], [BUILDRULES=yes]) AS_IF([test "$BUILDRULES" = "yes"], [AC_PROG_LATEX]) AM_CONDITIONAL([BUILDRULES], [test "x$BUILDRULES" = xyes]) # Test for building Documentation AC_ARG_ENABLE([docs], AS_HELP_STRING([--enable-docs], [build and install documentation (default is NO)]), [BUILDDOCS=$enableval], [BUILDDOCS=no]) AS_IF([test "$BUILDDOCS" = "yes"], [AC_PROG_PDFLATEX]) AM_CONDITIONAL([BUILDDOCS], [test "x$BUILDDOCS" = xyes]) # Checks for programs: # make and install are needed in all Makefiles. AC_PROG_MAKE_SET AC_PROG_INSTALL # CLISP for src/ AC_ARG_VAR([CLISP], [Common Lisp interpreter and compiler command]) AC_PATH_PROGS([CLISP], [clisp], [no]) AC_ARG_VAR([PERL], [Perl interpreter command]) AC_PATH_PROGS([PERL], [perl perl5], [no]) # flex for tex2xindy # FIXME: lex actually must really be flex. But there is no AC_PROG_FLEX!? AC_PROG_LEX AC_PROG_CC AC_PROG_LN_S # Check system type. This is needed to detect mingw32 environment, # then CLISP .mem files must not be compressed. AC_CANONICAL_HOST # Check that CLISP was found. if test "x$CLISP" = xno; then AC_MSG_ERROR([CLISP is needed to build and run xindy]) fi # Check that PERL was found. if test "x$PERL" = xno; then AC_MSG_ERROR([PERL is needed to build and run xindy]) fi # No checks for header files. We use stdio.h, unistd.h, and string.h. # Today, they are universally available if a C compiler is installed. # Checks for typedefs, structures, and compiler characteristics. # Checks for library functions. # The code in tex2indy.l simply assumes that strtoul() is there, would # need a replacement. AC_CHECK_FUNCS([strtoul],[],AC_MSG_ERROR([strtoul() is needed])) AC_CONFIG_FILES([Makefile \ src/Makefile \ tex2xindy/Makefile \ modules/Makefile \ user-commands/Makefile \ make-rules/Makefile \ make-rules/alphabets/Makefile \ make-rules/inputenc/Makefile \ doc/Makefile \ ]) AC_OUTPUT xindy-2.5.1.20160104/doc/000077500000000000000000000000001264235421100143135ustar00rootroot00000000000000xindy-2.5.1.20160104/doc/Makefile.am000066400000000000000000000030721264235421100163510ustar00rootroot00000000000000## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `automake Makefile' to create only Makefile.in. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_doc_DATA = \ dataflow.gif \ faq-1.html \ faq-2.html \ faq-3.html \ faq-4.html \ faq.html \ index.gif \ makeindex4.pdf \ manual-1.html \ manual-2.html \ manual-3.html \ manual-4.html \ manual-5.html \ manual-6.html \ manual-7.html \ manual.html \ mappings.gif \ next.gif \ prev.gif \ README \ style-tutorial-1.html \ style-tutorial-2.html \ style-tutorial-3.html \ style-tutorial-4.html \ style-tutorial.html \ tex2xindy.pdf \ texindy.pdf \ toc.gif \ xindy.pdf EXTRA_DIST = $(nobase_doc_DATA) ## Include all Makefile.am fragments. ## include style-tutorial/Makefile.am xindy-2.5.1.20160104/doc/Makefile.in000066400000000000000000000352261264235421100163700ustar00rootroot00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = xindy-2.5.1/doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ $(top_srcdir)/../../m4/kpse-progs.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 $(top_srcdir)/version.ac \ $(top_srcdir)/ac/xindy.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(docdir)" DATA = $(nobase_doc_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in \ $(srcdir)/style-tutorial/Makefile.am README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibdir = @pkglibdir@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLISP = @CLISP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LISP_RUN = @LISP_RUN@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PERL = @PERL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WARNING_CFLAGS = @WARNING_CFLAGS@ WIN_WRAPPER = @WIN_WRAPPER@ XINDY_RUN = @XINDY_RUN@ XINDY_TREE = @XINDY_TREE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ memdir = @memdir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ nobase_doc_DATA = dataflow.gif faq-1.html faq-2.html faq-3.html \ faq-4.html faq.html index.gif makeindex4.pdf manual-1.html \ manual-2.html manual-3.html manual-4.html manual-5.html \ manual-6.html manual-7.html manual.html mappings.gif next.gif \ prev.gif README style-tutorial-1.html style-tutorial-2.html \ style-tutorial-3.html style-tutorial-4.html \ style-tutorial.html tex2xindy.pdf texindy.pdf toc.gif \ xindy.pdf style-tutorial/ex1.raw style-tutorial/ex1.tex \ style-tutorial/ex2.raw style-tutorial/ex2.tex \ style-tutorial/index.tex style-tutorial/style1.xdy \ style-tutorial/style2.xdy EXTRA_DIST = $(nobase_doc_DATA) tutorialdir = $(docdir)/style-tutorial all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/style-tutorial/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xindy-2.5.1/doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign xindy-2.5.1/doc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(srcdir)/style-tutorial/Makefile.am $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-nobase_docDATA: $(nobase_doc_DATA) @$(NORMAL_INSTALL) @list='$(nobase_doc_DATA)'; test -n "$(docdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(docdir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(docdir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(docdir)/$$dir" || exit $$?; }; \ done uninstall-nobase_docDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_doc_DATA)'; test -n "$(docdir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(docdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nobase_docDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_docDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-nobase_docDATA install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-nobase_docDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xindy-2.5.1.20160104/doc/README000066400000000000000000000011431264235421100151720ustar00rootroot00000000000000$Id: README.distrib,v 1.3 2008/01/09 11:11:46 jschrod Exp $ ------------------------------------------------------------ This directory contains documentation of `xindy'. Manual pages for the commands are created during installation and are placed in appropriate man directories. PDF versions of the manual pages have been added here for your convenience. The subdirectory ./style-tutorial/ contains the examples that are used in the xindy style tutorial. FAQ and style tutorial are out of date. (Updates are welcome, of course.) You find more documentation at the xindy Web Site, at http://www.xindy.org/. xindy-2.5.1.20160104/doc/dataflow.gif000066400000000000000000000037041264235421100166070ustar00rootroot00000000000000GIF87aT×ðÿÿÿ,T×þ„©Ëí£œ´Ú‹³Þ¼û†âH–扦êʶî ÇòL×öçúÎ÷þ ‡Ä¢ñˆL*—̦ó¹ H§ÔªõŠÍj·Ü®W 3¿ä²ùŒ‹×G){ä~˃ñ¹§nÏçðú ¿óH1Hx˜bˆø ¸èÒø¨)Yé`A™É)±iùÙ)Ê*Y:ŠjpŠ`¥ƒ ²š*«šðzs{—+ËKº[8y@Å:%ÌZ{›;ŒWüAÛ[ ýûª\k `Y\}¼ý»ý8œý-®]í®)^Þ{n{}½þÞúž/ž@Uó4¡c·!¿vË>+8p”½}ÑUl†ï[Åþ‡éMÄç°Ÿ0wÿ‰„ bGNÓªØrFO·|î¶Õa§²¹•}vòÉÓP=Cƒ¾)*4§QGHç4] åéQ¥N`2¢šÐ V©‚°Ú´º"Y‹M`Û»ÐL,£¨^wy½ÓÕÁ%¡hi3™•íYx ÅZ]–®oL0¹ äoÌH‚Äð¦eüòeû‘”r 'JškÖì§v\25#Ëö°Æ-Üh€ù„¾[²M[— Õ…¦xïßçÝÀÐ.ÍU„L’ØjWÎ[ùõë$—ë¦M¹¡dÏ«s¸‰¥jcp7Uoo{añvtÛ’~´3eÒ7žÌxÉ×\Ë=«Ÿ”ósàúÁþÚOXœFï½ço&½å Î]f‹Á‡ŒEÞ³„–ýg‘fîQ·™”Å'Ú°í·Ÿaµ¥ö HìC^ b˜[L~ §Õ3Å؇øÔßuÝ%§\‹ŽÙ”âq4.Ñ£…Fðˆ 9y$é¢l> Ô¤”(T¹–EÊ‚bR‰4e&aÖ0æZB%W¿Mp& e¢9„T˜í…ÛpÒÑ&€zVpÆÜV‚wŠ˜'rgg3Àä U Þ¡ÞF’~p´)¨£ÂAš uüÖ^xnbÊ©¦0@É¡‘èUªdJSöT*rÆhérYºé«DźƬõgëE¸4P¦/Ž þ–k+Êè]”ÄRÉ«v«µF3íµÅFÆ›Ü^ù­¬á>ʸ&4 +¶æ’bºõ¬ &©?Á[žGòºË‹µD »«ºiü pÀG¤/žŒpÂóAkjÃS9 q·ôFLq Wï¼o«ñÆöv챺 ‡œïÅ2LrÊr™¼ÊpºÌ°Ê®Ö(³0¥•‰5²£9º³&=«pó¨Ü M0ÒàîúsО(Í(Ô‰¬éôUNI î‚Uƒ‡µÑLÊÏ]ã¬õÖ5m¶Í¦¥ÍÚló<6—&‚ÝÑÚoCwÒqË]6»L¿-ŸÝf²7ß‚#Yx €s}x½?-x⺢þ¥på–_ž(3…yçž+,fÞdJî¸4¢Óp:s¤—›úÉ«kkúëqiÚzXWW+û’¹™¦–µëÎÒí ú¼{˾'ò2µ9Ð@óû±ô8^Ò®<Ð…Ö•ýŽÝ:ýx(jH«ÜE¶Ð÷ßEêÉ%}ïÛdón¦HžLÔW×¥%u™ñZíï#Ø)hacqN°~´¾ýH9zñŸa–¥ý̉/Ìò“ã¼9«S+£Ú vÃ@ñHè14Ì —Ÿäðé@‰¢^‹Bâ!`-ƒŒÜ縧žW#zNŸÐg*È:‚ b~C) …dR¸yÚtnHCáˆB$âþc|¨Ä ~ðxCd¡cš5%1J`tKtZÅ5¢lNõ{!F4¾Q‡®Ã]a¸¼ûHèW›!FŽÌ()-rqï› ä¬ÂÐ/H* "ˆÞocÔûøè'>-1ã$;Ä› *©’‘ÜHª¤IDM”@䢾Qê/´+(HCurt¦ZeÍ|)`ªL˜ÏSdž7(bÖí‘ÄÛ¥'½×KcÆ šØs¦.ìXMk¢NšQàfÅ”épzLœ< 'ÆÌé oR YÒæäÔÅxʳ îl—÷æ‰Ï|²ž5ä§?WöÏ€êR -¨AŠÐ„*T\ å';þúP«5q#›¨•úeQÕU4£ðÛ(Gï¦Î>L¤‹(I%vÒÅ™´ +dJÁ‡¯—£2é“BzЖ´¦AÓ)O/úÓžâ4¨%ªPÚM"u>m—ZG/¹ ª³»ÝT©ºÅ› «çìÆP¹ÚÍ}‚õek4ågV²¡5­ÏLJSúUù°5«°Šk@ßúù²n^vÕký±¾uƒ-¬aKSGâðRY¡ ^›Y§ñðnþ+,ÝÊtD6 6šåÌ {ÌHQÒ¢Eß¡zÙ[‘63/äÌžJÔ,>±D›`u#Y@Ižªû”•¬Qm¸Â-npª Üä‚V¹Ol®™N+bR-õÓmgª+Y퉸È]®w‹ð.O¼_ùîsÍÞó’·¬‘åmš¥Höv…Dº%mkK+ü€Ö…[’ƒIÅû–KµÖ í„R#J¿¨(0sÌ¥€{ó‡ôW2ô£0}KxÚͦôЧ}0—Jéá|¹±¿!žE-5\â«xÅ,n±‹_ ãËxÆ4®±oŒãëxÇ<î± ä€;xindy-2.5.1.20160104/doc/faq-1.html000066400000000000000000000163231264235421100161130ustar00rootroot00000000000000 XINDY FAQ: General Questions Next Previous Contents

1. General Questions

1.1 Why a completely new indexing tool? makeindex works fine!

With the International MakeIndex project, Joachim Schrod and Gabor Herr have shown that adding extensions to makeindex is a difficult job. Thus we have decided to develop a new indexing tool from scratch. The new tool is based on a new requirements analysis and offers very interesting features for processing very complex indexing schemes. The resulting index model is described in:

  1. Roger Kehr, xindy -- A Flexible Indexing System, Proceedings of the EuroTeX'98, St. Malo, France, March 1998
  2. Roger Kehr, xindy -- A Flexible Indexing System, Technical Report No. 11/1997, Computer Science Department, Darmstadt University of Technology, 1997. Also accessible from the xindy homepage.
  3. Roger Kehr, xindy Ein Flexibles Indexierungssystem, Studienarbeit FB Informatik, TH-Darmstadt, November 1995.
  4. Joachim Schrod, An International Version of MakeIndex, Cahiers GUTenberg, 10, p81-90, 1991
  5. Joachim Schrod and Gabor Herr, MakeIndex Version 3.0, Technical University of Darmstadt, 1991

1.2 I'm an old makeindex wizard. What does xindy offer that makeindex doesn't?

Here are the most important differences between xindy and makeindex:

Internationalization

xindy can be configured to process indexes for many languages with different letter sets and different sorting rules. For example, many roman languages such as Italian, French, Portuguese or Spanish contain accentuated letters such as À, Á, ñ. Other languages from northern Europe have letters like Ä, Ø, æ or ß which often can't be processed by many index processors not talking about sorting them correctly into an index. The xindy-system can be configured to process these alphabets by defining sort and merge-rules that allow expressing of language specific rules. One example of such a rule would be

(sort-rule "ä" "ae")

defining that a word containing the umlaut-a will be sorted as if it contained the letters ae instead. This is one form of how the umlaut-a is sorted into german indexes. With an appropriate set of rules one can express the complete rules of a specific language.

Location classes.

makeindex is able to recognize and process arabic numbers, roman numerals and letter-based alphabets as specifiers for the indexed location. Simple composite structures of these are also possible to process. This implicit recognition scheme has completely been dropped in favour of a well-defined and very powerful declaration scheme called location-classes. Thus, xindy initally does not know any location-class by default and must be instructed to accept certain location-classes. A typical declaration might look like:

(define-location-class "page-numbers" ("arabic-numbers"))

This declares that page numbers consist of the enumeration of the arabic numbers. The arabic numbers are referred to as alphabets. Users may use the pre-defined alphabets arabic numbers, roman numerals, etc. or define new alphabets as needed. See the tutorial that comes with this distribution for some examples.

The concept of attributes.

With makeindex one can assign a markup to each index entry using the encapsulators (usually following the vertical bar sign in an index entry command). For example in the specification

\index{xindy|bold}

the encapsulator is bold which encapsulates the page-numbers in the markup-phase. An additional TeX-macro must be supplied to assign some markup with the page number. This concept has completely been dropped in xindy in favour of a more powerful scheme called attributes. Attributes can be used to (i) define several grouping and ordering rules with locations and we can define (ii) markup-tags for the document preparation system.

The result of this design decision is that the user is required to define the attributes in the style file and not in the document preparation system. The reasons lie in the more powerful markup scheme of xindy which can't be specified in the document processor anymore. In fact, the makeindex-like markup is only a small subset of xindys features.

Cross references.

Cross-references were implemented in makeindex with the encapsulation mechanism, which only served for markup purposes. This has been completely separated in xindy. Here we distinguish cleanly between attributes and cross references. This makes it possible to implement checked cross references, i.e. cross-refernces that can be checked if they point to an existing index entry instead of somewhere ``behind-the-moon''.

Less command-line options.

xindy has dropped the usage of command-line options in favour of a well-defined indexstyle description language. Thus, options that could be activated at the command-line level of makeindex must now be specified in the indexstyle file. This sounds more restrictive than it is, because the indexstyle files can be composed from several modules which makes it possible to write style files in just a few lines of code.

Raw index parser.

The parser built into makeindex has completely been separated from the core xindy system. xindy understands a well-defined specification language for the raw index that is completely different from makeindex, but in our opinion more maintainable than the makeindex format. This requires a separate filter that transforms arbitrary indexes to the xindy format. An example filter is the program tex2xindy that comes with this distribution.

Summed up, some of the implicit assumptions made by makeindex have been replaced and now burdend to the user. The reason is that many of makeindex's assumptions were no longer valid in multi-language environments or documents with arbitrary location structures. This also characterizes xindy more as a framework instead of a end-user-tailored product. One should notice that writing an appropriate index style is an essential part of the document preparation process and should be tailored to each document anew.


Next Previous Contents xindy-2.5.1.20160104/doc/faq-2.html000066400000000000000000000071211264235421100161100ustar00rootroot00000000000000 XINDY FAQ: xindy Usage Next Previous Contents

2. xindy Usage

2.1 I don't want to write style files. How can I proceed?

You can use the wrapper program makeindex4. It tries to do it's very best to make xindy behave as makeindex does. But if you ever need to use some of the features of xindy you should learn how to write an index style. Its easy!

2.2 How do I use makeindex4?

Process your document as usual. Then run makeindex4 on the index file. It produces an index that should equal the one you would get with an ordinary makeindex run. As far as you are satisfied with the default behaviour of makeindex, makeindex4 will produce comparable results.

Some of the command-line options of makeindex are accepted by makeindex4, others aren't. This may change in future releases, but we recommend using plain xindy after a phase of investigation, since one cannot use all of its features with makeindex4. You will be informed about unsupported command-line arguments when running makeindex4.

If you have written special style files for makeindex they will no longer work with makeindex4. Go ahead and write a new style file for xindy.

2.3 How works makeindex4?

This job is now done automatically by makeindex4. It calls tex2xindy to transform the raw-index into the format suitable for xindy. tex2xindy emits some information about the attributes (aka. encapsulators in makeindex) and the usage of cross-references into a file, which has the extension `.sta'. The makeindex4 program, written in perl, parses this statistics-file and generates the above presented indexstyle commands for you automatically including the required declaration of all attributes in the whole index and their markup.

Another problem is the automatic detection of cross-references. As noted above, makeindex handles cross-references with its encapsulation mechanism, a scheme which has been dropped in xindy and replaced by a more powerful mechanism. To implement a simple plug-in mechanism we have extended the syntax of the tex2xindy filter to identify encapsulators of the form

\indexentry{...|encap{...}}{...}

as a cross-reference, whereas encapsulators of the form

\indexentry{...|encap}{...}

are treated as ordinary attributes. This is standard practice defining cross-references in makeindex. Thus, tex2xindy distinguishes these two forms of encapsulators as opposed to makeindex and our plug-in makeindex4 generates the appropriate definitions of the cross-reference classes as well.


Next Previous Contents xindy-2.5.1.20160104/doc/faq-3.html000066400000000000000000000057441264235421100161220ustar00rootroot00000000000000 XINDY FAQ: xindy and LaTeX Next Previous Contents

3. xindy and LaTeX

3.1 What is tex2xindy?

tex2xindy is a filter that parses `.idx' or similar files and converts the \indexentry macros into a form readable by xindy.

The parser of makeindex can be configured to recognize different quoting characters, etc. (see the man-page for makeindex, section input style specifiers for further details). We have tried to extract the parser from makeindex but due to several probems we have finally rewritten the parser using lex. Scanners written with lex are usually fixed to a specific character set used in the regular expressions. Our parser, tex2xindy is therefore not configurable. If one uses a different configuration of the makeindex input style specifiers, one can change the source (tex2xindy.l) to generate a completely new parser. From our personal experience we have rarely used more than two different parsers in practice so we have written tex2xindy in a form that is easily maintainable. The input specifiers are stored symbolically in the source. The definiton section looks like this:

KEYWORD  \\indexentry
ENCAP    \|
ACTUAL   @
ESCAPE   \\
LEVEL    !
QUOTE    \"
ROPEN    \(
RCLOSE   \)
ARGOPEN  \{
ARGCLOSE \}

These definitions are essentially the input style specifiers as can be found in the man-page of makeindex. Changing this section according to your needs and recompiling tex2xindy should be an easy task. Maybe we will include more pre-defined parsers in future releases if necessary.

3.2 What LaTeX-package should I use in conjunction with xindy?

We strongly recommend using the LaTeX2e-package index written by David M. Jones, which is available at CTAN. It supports multiple indexes as well as several shortcuts to easily index terms in a document. Multiple indexes support the generation of several indexes for one document. For instance, one can make an author or command index in addition to a global index.

Another option is to use the xindy.sty from Andreas Schlechte that comes with the xindy distribution. Take a look at the contrib directory that should contain a version.


Next Previous Contents xindy-2.5.1.20160104/doc/faq-4.html000066400000000000000000000541071264235421100161200ustar00rootroot00000000000000 XINDY FAQ: Style Files Next Previous Contents

4. Style Files

4.1 Eventually, I decided to write my first index style. How can I start?

Congratulations! You have made a good decision, indeed.

For a first impression, how a style file can be written from scratch reference the tutorial that comes with this distribution. It is written as a guided step-by-step practicing exercise and you can learn the basic concepts quite easily.

Afterwards, the best starting point is to make a copy of the template file that contains all the necessary commands that are needed to make a makeindex-like index. You can find it in the subdirectory markup/tex of the module library. Starting from this template you can remove or add commands as necessary.

Additionally, consult the library of predefined index style modules that comes with this distribution. Solutions for most of the typical problems can be found there, such as a module for doing case-insensitive sorting rules, or a typical TeX-like markup. Most of the time is is enough to include some of these modules and add a few additional commands.

Maybe some of the examples coming with the test-suite are good examples of how unusual index style files can be written.

Thus, there are many ways to learn writing an index style file. But it is very easy and after some experience you can process indexes your friends will be jealous of.

4.2 How to write my first index style?

Copy the file tex/makeidx.xdy from the library to your local directory. It is documented in in a way that should make it easy to fill in new commands or remove or modify others.

4.3 How works the actual key feature of makeindex with xindy?

The treatment of the actual key (usually denoted with @, the at-sign) has changed with xindy. Specifying index entries with a specific markup can be done in makeindex with the actual key. The makeindex-3 system and xindy offer the merge- and sort-rules to transform a key into different representations, limiting the need to specify an actual key. For example they support a style of writing

\index{\bf{VIP}}

which can be transformed with a rule like

(merge-rule "\bf{\(.*\)}" "\1" :again :bregexp)

which removes the macro definition for merging and sorting keywords, but keeping the original definition for markup purposes. Therefore we don't need any actual keys for all keywords written in boldface.

The makeindex behaviour, that the two keywords

\index{VIP}
\index{VIP@\bf{VIP}}

are seen as two distinct index entries, can be simulated using the following definition:

(merge-rule "\bf{\(.*\)}" "\1~e" :again :bregexp)

This rule tells xindy to remove the boldface macro for merging and sorting purposes but defines the replacement to include the special character ~e, which is the last character in the alphabet (ISO-Latin in our case). This makes xindy treat them as different keywords and positions the boldface keyword right behind the one without any markup. Thus we receive the following mapping:

Keyword:    Merged and sorted as:   Appears in the index as:
VIP              VIP                     VIP
\bf{VIP}         VIP~e                   \bf{VIP}

With this new style of writing keywords and defining their markup, the need to explicitly specifying the print key (aka. actual key) has convinced us to remove the makeindex way of defining keywords.

4.4 I want to process an index for my native language. What must I do?

What makes makeindex hardly usable in non-English speaking countries is its lack of support of language specific alphabets and sort orderings. For example, many roman languages such as Italian, French, Portuguese or Spanish contain accented letters such as À, Á, ñ. Other languages from northern Europe have letters like Ä, Ø, æ or ß which often can't even be processed by many index processors let alone sorting them correctly into an index.

Two problems must be solved when processing indexes with a new languages:

  1. The sort ordering of the indexed terms must be specified in an appropriate manner. This problem can be solved using the so-called keyword mappings.
  2. The letter groups that partition the indexed terms into separate sections must be specified.

The xindy system can be configured to process these alphabets by defining sort and merge rules that allow expressing language specific rules.

The keyword mappings are as follows: The merge key is generated from the main key with the so called merge mapping. The merge mapping can be specified with the command merge-rule. The sort key is derived from the merge key using the sort mapping specified with the sort-rule command. The following scheme shows this mapping process:

The index style commands accomplishing this task are sort-rule and merge-rule. One example of such a rule would be

(sort-rule "ä" "ae")

defining that a word containing the umlaut-a will be sorted as if it contained the letters ae instead. This is one form of how the umlaut-a (ä) is sorted into german indexes. With an appropriate set of rules on can express the complete rules of a specific language.

An example of how an appropriate mapping for some of the Roman languages could look like is:

(sort-rule "à" "a")
(sort-rule "á" "a")
(sort-rule "ã" "a")
(sort-rule "è" "e")
(sort-rule "é" "e")
(sort-rule "ç" "c")

This makes the accented letters be sorted as their unaccented counterparts, yielding the desired sort ordering.

Sometimes it is necessary to specify keyword mappings that tell the system to put something behind something else. For instance, we'd like to map the character ö behind the letter o. No problem if you use the special characters ~b and ~e which are called the beginning and ending characters. The first letter lexicographically precedes all other letters whereas the latter one comes after all others. Our mapping problem can now be specified as follows.

(sort-rule "ö" "o~e")

Now the ö is directly positioned after the o but before p.

See the manual for a detailed description of this feature. Also be informed that the keyword mappings can be specified with regular expressions. Rules of the form

(merge-rule "[-$()]" "")

are possible. This on removes all letters of the defined letter class. Regular expression substitutions are possible as well. Refer to the manual for an exact description.

4.5 In my index the capitalized words appear after the lowercase words. Why?

The default sort ordering sorts letters according to their ordinal number in the ISO Latin alphabet. As a consequence the lowercase letters appear before the uppercase letters. To sort them case-insensitively use the command

(require "lang/latin/caseisrt.xdy")

This module defines the appropriate sort rules for the letters `A-Z' for latin-based alphabets. If your language has more letters simply add the missing ones into your style file. Have a look at the module to see how to the sort rules are defined.

4.6 In my index there are no letter groups, yet!

Letter groups for latin based alphabets can be defined with the command

(require "lang/latin/letgroup.xdy")

If your language needs additional letter groups you can insert them into the previously defined letter group with inserting definitions of the following form:

(define-letter-group "ly" :after "l" :before "m")
(define-letter-group "ny" :after "n" :before "o")

This adds two more letter groups to the latin alphabet. Group ly is inserted between l and m, and ny is inserted between n and o. This is how two additional letters of the Hungarian alphabet can be inserted.

4.7 How can I get rid of any formatting information in the keyword?

Assume you have index entries containing arbitrary formatting information. For example you write your index entries in TeX in the following form:

\index{\bf{In boldface please}}

To avoid specifying for each index entry the print key separately as can be done with the following command

\index{In boldface please@\bf{In boldface please}}

you can instead define a rule doing this task for you:

(merge-rule "\\bf *{(.*)}" "\1" :eregexp :again)

This extended regular expression matches all strings that are surrounded by this formatting command and in the merge phase the formatting command is simply stripped off. Thus, you don't need to write an explicit print key anymore.

If for some reason the same word appears more than once in the index, each time having another markup tag as in the following example

index
{\tt index}

you must be warned that a rule like

(merge-rule "{\\tt *(.*)}" "\1" :eregexp :again)

is probably not correct. In this case the above strings are both mapped into the string index thus joining their location references into one index entry. This happens because the result of the merge mapping is used as the equality citerium which views both keywords as equal. To avoid this you should specify instead

(merge-rule "{\\tt *(.*)}" "\1~e" :eregexp :again)

With the additional meta character ~e the substitution of the second key word is placed after the first one making them different index entries. If the second keyword should appear first, use ~b instead.

4.8 In my index the word -foo appears before bar. What must I do?

Especially for hierarchical indexes sometimes the result is not as expected due to special characters appearing in the keyword. In the following example the word `card' should appear before `-eyed' since the hyphen should not count as an ordinary character by means of sorting.

  green
     -eyed  12
     card   15

This is especially problematic if the list of words on the second level is very long. To make the hyphen be simply ignored during the sorting process you should specify the following command in the index style:

  (sort-rule "-" "")

This makes `-eyed' be sorted as `eyed' thus making it appear after `card' as desired.

4.9 I want to use letter ordering instead of word ordering in my index.

According to the Chicago Manual of Style there exist two different schemes of sorting word lists. In word ordering a blank precedes any letter in the alphabet, whereas in letter ordering it does not count at all. The following example borrowed from the makeindex man-page illustrates the difference:

 Word Order:         Letter Order:
  sea lion            seal
  seal                sea lion

By default, xindy uses word ordering. To use letter ordering include the appropriate module with the following command:

(require "ord/letorder.xdy")

It actually defines the following command:

(sort-rule " " "")

This simply removes all blanks from the keyword resulting in the desired behaviour.

4.10 My document does not have page numbers, but a different scheme. What must I do?

The ability to deal with user-definable location structures is one of the most important new features of xindy. Many documents have a document structure that is not based on page numbers. Typical examples are manuals or appendices that come with a chapter/page-per-chapter numbering scheme, URLs, Bible verses, etc. One can even imagine the Greek alphabet as possibly appearing in a location reference. In our analysis we have found many interesting examples of location references that made us to develop the concept of location classes.

A location class is defined by a sequence of alphabets. An alphabet can be the set of arabic numbers (0, 1, 2, ...) or the roman numerals (i, ii, iii, ...). These are built-in alphabets in xindy. Addtionally, one can define more alphabets in the index style with a command like

  (define-alphabet "weekdays"
         ("mon" "tue" "wed" "thu" "fri" "sat" "sun"))

Based on alphabets one can now compose a location class as follows:

  (define-location-class "weekday-hours"
         ("weekday" :sep ":" "arabic-numbers"))

This class description indicates that all location refernces matching this template are viewed as correct instances of this class. Here :sep makes the dot serving as a separation string separation the alphabets from each other. Example instances of this class are:

mon:23, thu:45, sun:17

For more detailed information consult the description of the command define-location-class in the reference manual.

4.11 I don't want to have ranges in my index. What can I do?

By default, xindy joins three successive location references into a range. Ranges are used as an abbrevation for a long sequence of location references. For exmaple the sequence

12, 13, 14, 15, 16

would be shorter represented as

12-16

If you don't want to have ranges, simply define your location class in the form

  (define-location-class ... :min-range-length none)

The argument :min-range-length none avoids forming of ranges. Arbitrary numbers instead of none define the minimum length of a sequence of location references that are needed to form a range. xindys default value is 2.

4.12 I want to markup ranges of different length differently. How do I accomplish this?

A common way of tagging ranges is as follows: a range of length 1 is printed with the starting page number and the suffix `f.', those of length 2 with suffix `ff.', and all others in the form `X--Y'.

Assume we want to do this for the location class pagenums we can specify the markup as follows:

(markup-range :class "pagenums" :close "f."  :length 1 :ignore-end)
(markup-range :class "pagenums" :close "ff." :length 2 :ignore-end)
(markup-range :class "pagenums" :sep "--")

The first command indicates that a range (X,Y) of length 1 should be printed in the form Xf., a range of length 2 as Xff. and all others in the form X--Y. The switch :ignore-end causes the end of range location reference Y to be suppressed in the resulting output.

4.13 I need to suppress some of the markup tags. How can I do this?

Sometimes it is necessary to hide some of the parts of the index. If you have a text formatter that allows comments or macros that possibly expand to nothing, just define appropriate markup that makes things invisible to the formatter. For example, with TeX you can define a macro like this

\def\ignore#1{}

If you additionally define markup like this

(markup-index :open "\ignore{" :close "}")

you can throw away the complete index if you like, which would be a real pity!

4.14 Whats it all about those cross references?

Cross references are references pointing to an item in the index itself. Typical examples are:

foo-bar see baz

With makeindex cross references could be specified with the encapsulation mechanism. This has completely been removed in xindy and we have made cross references real first-class objects.

In xindy one can declare different cross reference classes, whose purpose is (a) to make all instances of a certain class appear next to each other, and (b) to specify appropriate markup with them.

@begin-comment One very interesting feature is the ability to check the validity of cross-references. @end-comment

tex2xindy recognises all index entries of the form

  \index{...|\macro{where}}

as cross references. Here macro stands for an arbitrary macro name and where is interpreted as the target keyword of the cross references.

If you want to use these cross references with xindy; add the following line to your style file.

  (define-crossref-class "macro")

Additionally, you can assign specific markup to cross references using the markup-crossref-commands.

4.15 The keyword mappings don't work as expected!

Sometimes the keyword mappings don't work as expected. Especially in cases with several regular expressions one might get confused about what rule matches exactly when. We have incorporated a detailed logging mechanism that lets one step by step follow the rules that accomplish the keyword mapping.

When running xindy you can turn on this feature with the command line option `-L'. This option followed by one of the numbers 1, 2, or 3 turns on the appropriate debugging level. Turning on level 2 or 3 and specifying a log-file with the command line option `-l' a trace of the mappings is recorded in the log-file. A sample output looks like the following:

Mappings: (add (merge-rule :eregexp `^\\bf{(.*)}' `\1' :again)).
Mappings: (add (merge-rule :eregexp `^\\"([AEOUaeou])' `\1')).
 ...
Mappings: (compare `\"A\"a' :eregexp `^\\bf{(.*)}')
Mappings: (compare `\"A\"a' :eregexp `^\\"([AEOUaeou])') match!
Mappings: (compare `\"a' :eregexp `^\\bf{(.*)}')
Mappings: (compare `\"a' :eregexp `^\\"([AEOUaeou])') match!
Mappings: (merge-mapping `\"A\"a') -> `Aa'.

This trace shows that initially two regular expression mappings have been added to the rule set. The second section shows how the keyword `\"A\"a' is compared to these rules and substitutions are applied as matches are found. In the last line the result of the keyword mapping is reported.

4.16 I'm totally confused by the markup scheme!

A very important feature is the ability to trace all markup tags xindy emits in the markup phase. Simply use the command line switch -t or insert the command

(markup-trace :on)

into the index style. This informs xindy to emit additional pseudo markup that can be used to understand and debug the markup phase. An example output might look like the following:

<INDEX:OPEN>
  <LETTER-GROUP-LIST:OPEN>
    <LETTER-GROUP:OPEN ["a"]>
      <INDEXENTRY-LIST:OPEN [0]>
        <INDEXENTRY:OPEN [0]>
          <KEYWORD-LIST:OPEN [0]>
            <KEYWORD:OPEN [0]>
 ...

The symbolic tags directly lead one to the command that is responsible for the definition of that markup tag. For example, the tag LETTER-GROUP-LIST:OPEN indicates that the command markup-letter-group-list is responsible for replacing this symbolic tag by a real one. Give it a try if you find yourself confused by your own markup specification.

4.17 What editor should I use when writing xindy style files?

Use Emacs or XEmacs. Turn on the Lisp-mode with

M-x lisp-mode

and you can properly indent commands using M-q. To enter this mode automatically add the following lines to the end of the style file:

^L
;; Local Variables:
;; mode: lisp
;; End:

The ^L (Control-L) can be entered with C-q C-l.


Next Previous Contents xindy-2.5.1.20160104/doc/faq.html000066400000000000000000000103451264235421100157530ustar00rootroot00000000000000 XINDY FAQ Next Previous Contents

XINDY FAQ

Or: xindy by Topic

Roger Kehr

Computer Science Department, Technical University of Darmstadt

and

Joachim Schrod

Joachim Schrod Net & Publication Consultance GmbH

$Revision: 1.2 $, $Date: 2004/05/24 21:43:16 $, for xindy version 2.2


The xindy FAQ presents answers to questions that are not adequately covered in other parts of the documentation, or are hard to find. The FAQ has been constructed from the xindy by Topic manual. The most up-to-date version of this FAQ can be obtained from the xindy homepage at http://www.xindy.org/doc/faq.html.

While the content of this document is still valid, it has not been updated in years and doesn't describe new developments. In particular, it doesn't mention the many languages that are supported by Thomas Henlich's make-rules system, and also doesn't know anything about the new commands that got introduced with the "LaTeX Companion Release". So, caveat. We don't want to throw out the document, though, since it still contains lots of useful information that's not available elsewhere.


1. General Questions

2. xindy Usage

3. xindy and LaTeX

4. Style Files


Next Previous Contents xindy-2.5.1.20160104/doc/index.gif000066400000000000000000000215521264235421100161160ustar00rootroot00000000000000GIF87aÌŠðÿÿÿ,ÌŠþ„©Ëí£œ´Ú‹³Þ¼û†âH–扦êʶî ÇòL×öçúÎ÷þ ‡Ä¢ñˆL*—̦ó J§ÔªõŠÍj·Ü®÷ ‹Çä²ùŒN«×ì¶û ËçôºýŽÏë÷ü¾ÿ(8x0aH˜¨¸ÈHƒñØ(9IY™i™©¹Y‰© àÉIZjº‡hú*ʺjÐêzJ[k–š‹ ;+z0z+ïÚîßË×¾']‹r _Á… µ$<øä!¶†+B‘(« Fþ…;z¼±LÈ$K¾i¥É•,9¨dó²¥Ì™ì0â‰I3gGœyxêü Ïç¡@‹:#š©Ñ¥›”´É4ª&§œ¨J½jÇj-­X»¢áZ ¬×±¡2K6m´îت}ûÃí>¹pëÆ Û¯Ý½#ô~ôË7pÀ- > Ì,âÄ;¾`øjäÇK'§µL™%æ½›3çUìDçÐïF“6MêÔ5³þ úµ·Ø²ã­®Má6n@ºwcèí›ðà.iÏ4üxˆäÊ»0o^â9t„ƧO‘nÝöì.¶s×áýûl×âÅ„/²:zêä×Ã9ï>üøAæÓo`ÿ~‘üñþùëWâßtþ‘zŠfàŒ ˜ƒ –ÕÞƒ‡$(a)Žua…edX‡ªááJ!~øÆˆ;AD¢E(¦Èb‹.¾cŒ2ÎHc6ÞˆcŽ:îÈc>þdBId‘F‘Iú±äMÊñdQb1%U"ƒ_67)©¥”\®Ó†B¬x™%˜]¤˜]fõe5s¨iæpºéÆœWqçyÆK„Âáçg˜€>Tâ  Ê…L쉣¯È2&ccf´,ÇØ)–ªPª§¤Ù„3ѦXº ¦‘‚ãxž2ÃK¨%Ê¥¹djMª5ÛêµÖÒ£i@<ôRϧà&iµôÌSn£Ú²ºî«°¶{î:ãÞÚn®óŽzo¼tæëM½â (¼é†ðÃÚ í¾ì*Lg™¨6Ë0Á> kl­H,ñÃ7숼 c ‰¦XnÜO¿W¼±Ã¾Ž¼²Å|¶@ñÂ-*2Ä ¯ íZ÷ ‘½=û³Ë' }° ³bã3Ò@+MtÍ$çpt¸Ìº/¡C{|5Ç'ñÌtµTëôÓM3þ1&æzžË÷?%ÙoU<# »$w@}¡¨p Œ ²ÒU<`%F[ ˜ø,«‚unBP´&rþÆVæ aÜPÈB†…Îqá ±eâqN;ïCTÎ@ÔC2$,%Aô€wýå0LJL ›˜›1`p…-,àþ —S^&Z\âq(!vщRc„Æ4þdEu2£wd¢KXí:ŠãIæHÇÙñVxÌ£†ö¨§>úñ>€¬ ÉBâéˆ$Ž¢:ÁÈF¦æ‘¤”$CI[Dò’uÉäQ¨ÆI¸x’› %PFÙPšr–„ WYTR¤”°œK+O©ÊZêC–3¡¥.ŸÁËåò—Ÿôe'‡IÌSS-ÆL¦"–É—f:³ÐÄ$2§IÍ[ZGšØä"7·yÍnz3œú¦8!DΙóœìIç‹ÖÉN$T³BðŒgë)#|Ú“ú¼Q?÷¹‚yÂÑ œ6%ùÏ‚¦é °L¨Bþ!ÁPg:ô¡Ks#@'ºO&£ÓÔè99ºJ¤ƒ)EÑvD5šô¤°zå/WÊRˆºô’0i j¤šÚÔ`8õ‘NwŠ ™öè§@NOßÑ¢–ð¨ôLªR)Ô¦’ô©Œ*!JU)L•2DÍêR­ªœ®zU;[½ VÇÚB¦"F‘hUÁYE)Ö¶Zá­Xa«\ù ÖºÆõ®¸(+AìÊW+ù5•t ¬ ;˼9`\¬c ÙÈJv²”­¬e/‹ÙÌjv³œí¬g? ÚЊ¶MÓS^aÔnáI)˜jñTŽ)±6:Ñz­Z+ÛbjºÍ­ªÂˆàö™´ ®sŠþ[[ãʹËU.s£Q¥dÙp9­¾þAÝÆšlPÎ[¨vzÝîʧºçS vƒ:\ñjÒ‹›Ú¤æ^WÑoY”J¯æœßU½÷€í5 íû¥þ ¾Ô }çö_«ÀïÅ ³ðëßú–WÀúÒà~ LáIIx„Ðeo™gö¹wqAŸÓ&â{Àe:^ˆÕ—âða‚Åàø0úbœ¾†Ñ¸Æ1%¨b0 ±Ãd\]æþadÊùnIÎ’ewºÓñ®É#{òØ¢|;ãRÙ¿Às™“‡9²YYwGv )Ù eU‚­yg[òo›¬æŠbê5ÚœC,?9_íË ¾sóŒþR?ó¹ÏaÆãšÿ6èùŒ[®Üäf6ãß°Ñ ë—I¼ãÊQšÄn³Ð.ág¶qÚÒ‹t}»éà9Ò˜6ó6¢jÁ)CÊ‚Æ]¦s–êR½Îi‘¾µãr½¬]_·ŸÆ¬j%ÏzÊPN­÷lëû¾Í/2»\\êh[7b"®6›w^f{ÛÇ'F´¶ ±nÿøÛÊÖ5˜Ó]¾kÛ¸ÝÁvµ6`-fö,¾ ´–'¾Ë9'ë›ÀÄò´þíëV‹ É÷ŸÁgðwWyà>§kE·™âyp¾9pÒ.:"¼Leïi#¤ädâÉS®òh%ü:3'BÈW[óþ‰ +ç4¹y¥Äó@rq´D÷§ÏåIÞ¢{±Ò¬ÒuÂt¤«õérºÎ§NõÊ`JVϺ-+Æ­{Ý•IQ×Ç]±åìh¿Û³õ¶“Ríoz»Ü%a÷2Òýî´ÈûÚ÷ÎwÆ‚Ý~<”߈Â> qŸ âï$Å3éñ/‘äqùÊ·³ì¥¡¼æE’yHþó) }GOz/4þ¯žO=€LO ػޭ­?êg/uÎKEö¸çéí»ÂûÞOè÷̬½ðJ|Îÿøš[>Y‚ŸzèÆùÌ7¯îƒ#ý±g_ëɯ¾¡®/žísvõÙeÉó;ýWí~àÙ¯ õþ?þê¤>féï"ù_TÿÍá?6ýŸHö7V¸ØHØ~àXhO XîÇR˜XK8#Ø"htøRøQ X$($$øøGU&V*øF,((¸X0H#¸Y2è}$bƒ7øG.¨ƒÑă=h9„ (‚C˜€ ¨¡„KÈ„MØ„òà„Q(…SX„Ç!„¸A…Y¨…K…[è…_8T?HGwMB†$WgxGPhsAjølØf‡n8‚b8¿"iÂ¥@xxjÏõ t¨GzÄsbb‡Y¦qx‡'hˆæà-‰ø‡ň æˆy$‡^±þ-Œs2T€ølÈ×]Ú£R‘¨F=Úó?ç,V)‹¸Š+ö9qPÄ`…б§Šõ¶.3†`ù‚7ƒ(ŠUsp¡È*óCgïˆyX…kÔ‹Øe8c&Þ£ˆÅˆ7gƒ`¹Sв¦‹ÏØKÑŒa3 åÈ×h‰Vd5‘bŽaö;¦J›(苉ӎí(6€ó]»²;-sç@ͨ‰»8Ñè‰îlídú(‹¬F7“Ro Ù}ÈIòø¹n98†‹ÄŒJæ`bÆ`éБÔM™xùgÀXe÷#d‡Œõc3ÿ•h¶ˆ?ÒE‘º„’Äå‘À¥` IF0nŽþ•q½%\@yFB)U”»Ô“2É”é8¾†„õ”¶q%„JI•S9Yy_H–[Ø…e‰–NˆV;Ùié–Lx–o)—bÙ‚ti„Hƒw¹v©——}Ù ˜V(˜ƒ‰}…i˜»Á–‰ uˆÉ˜/è˜É‹)™ó™•¹†—‰™ ¢™›9‡é™‹A™¡9† y•fDŸˆr¾%ˆ$צ9«6Béõˆ¼%mM¹”×a!°yˆ¨©hªùr0ggg¢L¼[©S0¹[rÒ|ÊÉšTP›aw•’œf6é5ÈBA­ˆBòC^äpÀ3ÓãÅaõÃæÙßéBþ¿‚+“tÑYzy uÈ©ŒÖ’íãARƒm×c"´[ùi ãF ýãŸó6ŒÄXaÿÉ/*# £É$øy9Jfï(›)““î îs[¡†¡Ú £&lµc[~k¥Æ9¡#*jhsmiö5ŽJå‰+k£¢Ú"*£ I£a3q¡Òž &¤;*‘ L.Úw0ê´ÂŽÜ¸¡rGZH*¥!š5ªØfIê›Tj¥ý³=³cl¦5wö¹Nº¢@ú8«†¤Ö]¶¦%ŠjÍ6l^:joŠ¢&ZiXÚ¦Õ[LZš†c(fb8™<ê=nÊ=ñ¢Z¨]:oýYŽ §±¦þn}HŸ‘‡¦ è BðÉpý¦ž>ž D©/Éž Y’ö†£7©  J§.™§AÌÈŠEZn,Úy›‡7”Q4ž7ᜨõ A¡Œç$ETÌ*r¬ç«mtG™›ŒE­H©¤g!¨Š9ž›Cݺ{ÉJša‘㊅âj®Úº­éʉèʮЭï‡îº ôjYåJv€Õvøú4ɯƒù¯»dUúêu;–¨·W9¬šá~ +¯¸´°Å•[uû}K±Â„±2µ®»Û•öê±–7±ÙÕ±#›x {[‹²[²?)²ħÙ:WØêš¼ú[ û²e³ø¥€ºœêþâ“ZšAf´ÎJ®*[6»!ÂI,ÆÐš®å\H«®ÞŠ^'[B4;@­¯[ÔR¸YªE‹ÁšœEcµ‡¥´W׳H»`& ÆBfjàu`#©_ü&·6·Z·×p—a³¶aF‹¬iÛt,‹&øÉ  T¨¹x©=*AÝcŽŠb+œŠ¹yc–‹³_w¶…¸P«¦îˆlææfÃIiYh燫ËesʺC»‡†+s¡ËC£›n€¦6¦{—¤æ©gÓØ’¾{eqhÐvº?Û«Ÿû-¶»mšf§ŒÚ§àÖ¡©éºÒ›§Ô ¶ªl*¼ú¬Ë;ykû2eú©ôVkÄ&nþzn{êËÖºÀ†lrÚkÕJXÌ UXµ$š©äö¾‰n’«Ÿìh©B¶½Ü+Àª¹È ¿²+‰´[Ÿúûœ 75£ê·ü5qUº¾µŠžŸþæ Ä[ÁÙyÁpû/aÚ¹¯Árâ¼w‘øË;Mk³ªÑµu·˜0¬¼B”Bö›v+œ-Œ‰ûÃ?Yz3{5<¾ CPLŒNlÃ;ûä‹™J zT °H,xX܃VÌÂ@ܲUéÚĴaÜœ=7Æf¬ÆkÌÆmìÆo Çq,ÇsLÇulÇwŒÇy¬Ç…û«+»Ç`ÖÇüÇ> •D;È´ŧ•]ul‹wòåŠâž€+þ2i|\¡ªa^²¢É¨bÉã'Œüc™›ª¹S„$”[Â𨠫Œ.­}Ø£pŠ8Ò›kŠy>J¦*:¸ì}î+p«e5 :j¾œÊ[Ê=AãY¦7̨Ã)ì6³ÉvË<Êrµ¼¨¼œ$ú¸®çÌSÊ:ÉØ<°+lczÍx*|*Êì@¶ÜʇšªÜ¨&9½Æ8Àß Îó…É´:Ž£h·:¦«ÊrÜAñ‹ñ\ž»zÈc{À&°dFŸ,¯C–Tûа赳{­¼Ñ­±sý:Ò!mÒ'-GÒ9A°+]L\ìÒCQÆ1­³0­N_ ÒbtÅ^ŒFRþ,X9ÝWҩŘȾçÓ?÷E<ý#GýULmvã4ÔìÔxUÔoH²J]#N-ÄSÍuQÕÈx_]CœŠÕ,¢Õ¹WÕ=pÖ…Æi˜ÖÈ·Öª÷ÖTÍÕyøbÍÖhkÓÖ¬q wsݼ{~½x­U€}Oe€?\ׯ'zн‚mÙØ‹ôš‚-ˆ}G“mÕ»iÙFAØs¥Ù†DÆÍÒ˜½´Ÿ½(¦]»Í×z­ÚO¼¤¤ IÚBwomÙÏTÛ‚ÚÙ$ÛžúÚP³ÛÜèdØH ÇDù0Ó¹ÜÃ]†ðÊÚ¬äx½­sU;Ý–yzÅ]•*ÒÜœi Ê¥‰ÛÏÇÝþohÝã-"ß탣}Þ•8}å­u ÝFóÞÂÁÞíÚ¢éÝžßQÁß}ý­—-ß±tß©àDÜ®¿-Ó*œàrôÿ½ÞüPßÅ¡| ^N¬ÞŽwNsN]Ö„áC'¾Ô±t ~ÛØ$žX'^Ež[»µ!áÜ0þ"îv,^œUk <~Ä2¾ÄI«ãR~>þܶÅG^ÚDäù*Äîqã¯iàÞ‹T®ä“WÓÌëäzåj-äa]á_¾àÙÔ½$Þh>àOîäf~LaÞ†«ãrîƒtN{Üãx.U~x¾æYžÕ[zþà~ΙzžœÀ'ÞŠ~þ€^FæÓ>™’.×ÅgÑ–nã˜þ×peÉœî-mÛpÃ%…å4­ê«Îê­îê¯ë±.ëYMVÓŠD†ü6c®¥ºŽk+§Ãûar¥¹ä £ësÉö˜“ï=ŠÞ´jýë6ì„ëmBÎ íŒ8[T‚íF,ì¸@V¼Þ…B+È;ÍéÙR<m{î -Hê>¶^žZëþŠ 6–CÉLÉEZïï.¸ÿŒªÎɲj«ýªÍî´œÉþK’Ú5É_ÉG}žý®ð˼òéðµÒ­ó•ðô\5 ÿžÿðøÀëŸÊú¨bêbù9À86ϦüΈš¹*o ,_ÍÖòöre¼þV’2¿¸½ã“k.æ;Ð¥ìÁ¯ìóêiP½¨ì oËnL_½¾þ¥ë<¥cú0á¬Ì ÍŸÖ¡Tï¡£³Œü”¶7B¿ÍÙ»Ëæ\§2cö'/§×{À¼öö¼[ŠåÌÎ#oð×Lï(µðL³ŽÁ ¾Åüo² ªö÷Çk6ÿôïþ,G$òä8÷‚ö5‡ßÍÏ|µ½6ùÄ\ùÈ|S]cp¶Ž”ÿ¡ì{¾Þ.ÎÉ&¦„Žö¬úÖ\õé¬õ(,Ë\ï½;GË¥˜ŸóÃ6´~ÚÍF¥lΈõì\ŒÊ–º½ ¨À_ú5wÍÌS¿>(ºõh¯ÍØÿú²_ûzû½oì·©ýþĽQrüYšrIŸùžVZÎo>íÏû¦Ïüòù'÷ ýA§ü¸ >îlò3Oð#,÷€ŸzNÊæðDµ.~½P» òËFT]Õ-K{#1>W¹ÛìSg9_ 4ó {À_ŠÖ¤YNسV•Ze¨¥îh£f²Pñ˜\‡7TDÍæ¶]˜„úF—ω0|íÎ{ÚæÞú¾cøþüŠêsÌ‚ñš¶Ø(n !‘ÓŒD£0»*÷GLà´85=»BO'™L-3E½.1“´`ƒ…冋‘“•—‹Ž ™%ƒ)U¡­Í¤©Ÿ¯»c§-½Ç±ÉÍÏÑÓC¹aÙÕÉÜ£þÞçã´éÕã•îéóùÿ·Ìß?íž;¸.!³…¸l8‘bE‹1âB˜Ña-†… ’dI“'Q¦$(Qe»j-aÆ”9“fÍŠ‚XÚT"RgOŸ?zÇãP—E&Uº”iSk8Nã•jU«W›BźnêV¯k”¾ü:v¢V²Øºž*6hZµoû¹…{Fîܶl…"µ»÷i]¾›ôþ­‰w¨_Á‡FìÂðb”—Bv¤¬ÒÊ+±¬’HPÇŲ SÌ1ä’Ì3Ñ<ó³"»ô2Èþl‰Ž7SŠS9:ÛäÊN»öT‡Aã2OûlñOÄÂóÐBÔ§£BàbsPBÝŠ ÿöáðƒ2}R²$:A3þ¼Sy4=”Ÿˆú"¦6REՔѬî@”­J«ÈõÈpU×:aõšPת•¨CRi¤“ ’MŒN²àÀ_7Å…šV°µ ;PU$Zl¯5öÓø‚Öb¥×—9u! v­Èô…oeYeÑW°XDß\¯¨g^bê#Œ_IB×ÜsËL]°f!‡ ÙÁÑw¦˜±Ejâgÿ¸WÑXŽÉõ`„M®ná÷ÕhªAJ0dF$–væ‘Aa¹a—My%õ¸™­"¸d‚O–0á¼VÎx S}zÜwCž¡™«ïuvg°¨myj‡«þ9ã…îlé¤ç1اh¿­¸ã±þÝÕšÕ)‘g~-öÚΕ¿I8ð¤ÔFA¤ib;jûe|VÄ9¨îuï†7æ?/[ó|Ë;gT ‡úëµ 7üpÄcRüØDºj½çÕ±þB’j_®\Ù5\ç…Ûeç¶…ö×/vµ°ÒM_•x˜.L›j‘_^ø»Î.¾!Ö@}&âà• û¶Q;^z[£o^¿Ô·WUÎòûNÜûï§__½4á¿L™å¯ß~ ‡ŸýŒ¨oñþÿø²°~yqßþ,Ò?.°B¨c Gø@ ºÁ„à-¨ fðhä`6øAà`P„äÑ_ χB®…-tá aCΆ5þ´á q˜Cî‡= $’áÀ”1 :JK ™ãU­DM1˜8,þ!±8J„b:œ¨²a81‹å ¢nâ‘ î„…Ùb6š8Dp|‘6a\ÏvLjX&\µ×¶¥»Û¤Y´Ðèà#Ç7ÚydG§­>2K»ÈIÙøÄ­ë™«$‚ǹKbn“š\â-êJìQ’”€åN894_x²”9C$aãF‘ÉËm›ëÝ,+ñ¶Y>o‰úÈ¥-í±K_ÖÒjéóšØˆùËbò"°l,•éÈšík IzOl–9 :ŽaÖÜⱸYÍ …“1B[æ9³©Mo¦óšæ<þ§™šéL"½R˜3¥ßn¹1íktJ:©€ Nsä4&ß6§Kfvs$ò 4ñ9P€"t¡ sÚEëyE]*Óckä¨D ;…úm¤%i<ªhvò •Ð8V°´—©&¾âyJMz.^MÞådÚ®O°Ò‹)½Œ,áø†| ’¢"$!ÜYˆmתfÎ0ÄT8.•w/­jØÕ íF]“¨Ðø"Hš5q[ë~ØzÖ<¹rCoë]S¤F¼î•¯}5* {¢W½ú•¯LÚ’vìJX66–,£båÉX0rq°í¡d«˜ÅÇZ6‡˜]Q7ËYzöB ­þhWHZ®õ´¨Í jÝSY¢¸Ö¬°ÍlgKÛH.)F¸Í­nyÈ[ùö·À­¡pDÜâ×…È5’r—Ë\:w®‰Ý…t?H]´Z÷ºØe vÍÝæx÷{àMšxÇKÞ“™×tèM¯zÅÞòr÷½ðM.þ8èÞrÚw¸ø-¡~÷Ë_É7¿ô­Œ€DàÿøÀŽ­g`Ü88D¶¡„'LáÌzó² †Ûhᛤµ ¶‰‚wˆaÀ˜L"†¥ŠWÌb>¹Ø¡0ޱŒ3DãÚzx %Ʊt|WçõÇNA1^‡Lä"ç/„ŠM²’—¬“#CöÉPŽ2ò‚¬Û*[ùÊ%™²–þy¬§.ƒäËÌÝrŽÆ|“,ó÷ÌhN3@Êlß6»ùÍøX³‰çLç:£¬ÉEγž÷üž;GùÏ€tH=æBúÐeˆsšÍèF°Ò´¤'m¦Kÿ5Ì£êôŽ9œéFå/Ó5AI]gSŸ:“©&t¢YÝãO zÖ4\u¬SÄZ7Ö¸æÊyv½àPûzXÁ⦋wkb»d-Èvk¯—í cӵʎ6§Mm¿Úöڻɶ¶ãÊínÛùAßæ‘¸Ç6sƒû‹èN÷®ÖÍî[ûÝäp6¶ã}[z×[;†ºð¾ùÅ|ÖÝOàÀ‘ pƒÃ{áÒløÃ!®CiTF8[ûþPÓνç&þ# ?N³^ÜÑ[£BLcqi‡\š×4IÞã‰ÁˆŒ*V¹‰f½b›ÏS1âǦêH©v•Žx”êë¹ ¡¿±SX1/ìͼžû¼[ÓiK[Pþ _WïäÏ-…4¨WœçÆ¡zÓ-JL%SoËåGÙÎЃν-âªÔØéÎìñá Ï0Z£7 ñ­<Ž„DÁ9…›ÒqD£_;ÕÙO¢ ûæ(µ§Ù÷žªÌ zp{kèÆƒxªÏ£Îº>|FñvϸOLŸ]èÄéidTßýŸ"=£ùøþ÷΃^æ»ýÉ%ç² 3î¿ )襦ö¶/ž÷p#œ½lþhÓ÷˜ÿTÆÏØ ”!*û“Kcé§çKš¶Ë¥>…Pg:Ó¬Ç>]³‡È®ºÍ{ þÓ’ßßO5û—]÷ zWÇjŽ‘â(þî¨þÏQP[ÐÉè‘°‘˜î¥ðA0©Jjpž*¬05íÂú†Jûp•¬ÿ¸ê FtXð_\§tÅY°¨B‰§^Ð¥ `¼®”üeüzêipöbªë„póÎ÷jŒ#§øZÓn¢2ŽyZ˜¸ön0šž “Ïí,î¼Ðõº0¡Êðøò) # ÁÐùV%¥¬Ì‰ÊïÆjš¶)v²çoPþíúÖNùd¦×|fh°©åžˆÏ Qõ¼Ð‘õ†m ™Ð™â§Töô#ÃÆ«°úR¯˜´P QCf×õÊ0b0ÊSñ>'Ê­Ž Mj÷xñÍ6 ™ÅóÔ%epžÛæi¼ïáf 1oа鮰¢`õf1m‘›pq «ñõNÊ }Ñ 9')Çk°ë@G¨þ>g뮦újÖoË/ú~Šë„ªqæ1çÑ’ÊÑχp§t°£¯Ë~øåvF‘}GU jeg kðN•JCù`‡›ª´ª1FR[°#þo)#R$)0*ÏÖþìÐBç&éׯ§&-1q¯¦mðŒˆÌ̈lª.'iR&‰ò&’.xñ%c¥')ŽôRîë®([í(‘2lò"Qi&G‡)ã‹Ä(.ø~OïB)õî*«Ò*_Ã9î ¾Ä(­úÂÀ¾ð ¥LìjoçÐrTÎn#’j錱vŠ.éˆÎfpãôÂ"ä|†€^îöò#~÷1“z ûÑ Á±ùNL1[Ž1æÓ‹¸0ÇÐüvQ ©P?"4yr©„‹OÏq¿qB-%Yã\3õXqõLn»±ÉÒäŒs7k ñB ·ñ6ÇîüÁlŠSÈ.“üþÑ#mª R•ˆjæŽs:›0[rç$Yr(?pwÄ $³¥œôÂ+Á“ØÜó=}->å“Õè³>ñ3?õs?ù³?ýó?4@t@ ´@ ô@4AtA´AôA!4B%tB)´B-Ô¸ ;xindy-2.5.1.20160104/doc/makeindex4.pdf000066400000000000000000000116761264235421100170520ustar00rootroot00000000000000%PDF-1.2 %Çì¢ 6 0 obj <> stream xœ­WÉrÛ6¾ë)p«2#!wÓÄn4Mm×V™¦Š„%ÔÜ€¶õy•¾cl)É®šv<‰Ç$üßò/øŠ=Cj9’º¡ÄA‚“_`­'(ÅCc°¦ ˆITäMÓ¯¶î**iµE‚Õ}•Kª0¡Ýä&Œ—n¬í9jï• qþÄxm!°FRø¸Ô\kÐ*+YÐsUšŠ§ÖšÞ¥¢uýCÎÛ¾õðOlÚ¾*‘B¹¢Ê%ì¯Á­iCy^‚b´¸GÛ¶GO:ÃÇ.°4–-2 žaßzîª‚Ϋ ÝÓ\ö vDJ¨${Ù^ÎÆzÍ„úò$ó¼pJn+*¬¼¯Gßà1ª{¡á=q&;|…¥ø“Q凗OÀ"åB‘B#£ÔŠÕŠ5Ùœ?FMb+ûn/¨2­1¯zõM†Ó1Grm==\ _ÍÁ ‘®¼ìÑ(FNýñr‘Ûåi0 Øìò©ãLù_;!òöµ9ç kÖB%¼1e å>Ý Ñ7¢ïº–Kp˜c d5ÕšL5”–t¦N€SǸ¤Ïþ §„!&ÉΑåáª&œSÅÀÉO¶°¸G-@ 6å•^fسÅbzª˜ûàÚ4vŽ‹ ôîÓÝõ ûJ®C2=zæÚzìã8úᨫ»R¿‚ò’î úƒµ„@Ъ›…®@­/[«uHÆ&àå)L©ÌY¥K¨\çJE”¯Ú^9ŸEøëb¡6§÷ÐË@7U³Ê¶èU×1‘éÎ) fersª ¥ˆÉËq΃,ÑS€ªdBr¶ÒRD8p{uÚ)+@(™€÷(L5‘ï~³ó•£ùjùñúöhÂJ‚xÄm»À?kÑ¡>:?Ð ·Õ>8èq³…©™Ÿe£³!™ì¡E÷°árC[N%ð¸pú>ÌÐòãüCÎk¨r¥<1ópLn}óyqõÓ‹fßšQ,Æ‘c~ËÙz#Ñ—ic-ɲxÿ%h”@yÌŽ€úþ0 ç$Lp clmB¹¡¼fB(+@ï\shUà]°Š«¹ð¥w`|šÛ²8–jú@|$Ò½ø=ê5Ùå+ ¯óuL÷=0„½¡‡Ž ÕD/œÍ™jçÊÀ…a' p’ŽÙÍ j*kÅaG¨ê7z÷n×|ŒrNá0*(7F|"”áÆ6-¤åÐ|r‡6RBuƒq¸ufáùÖmɾÁÖ:Ò” v\ ÛFG$êÖk9kJfŠë=>$M"Ù#5ÓO3×€íL´ÓK—x_¹ÛÒMmæ$ƒÞŸÅ¢åRGU‡ÝÀv_IXƒ xindy can be advised to define arbitrary letter groups with a particular markup for each of them. See command define-letter-group for further details.

indexentry

An index entry consists of three components: the keyword and optionally the list of location-class-groups and the sub-indexentries. An example:

  bread   25-30
     brown   26
     white   27

This index entry consists of the keyword `bread', the location class list `25-30' and the sub-entries `brown 26' and `white 27'. The sub-entries themselves are complete index entries as well, forming a recursive data structure.

keyword

The keyword is the identifier of an index entry. It consists of a list of strings being the key if the index entry. In our model the keyword constists of a list of strings, since indexes are often organized hierarchically with different layers. In the example

  bread         25-30
  bread, brown     26
  bread, white     27

we have keywords `bread', `bread, brown' and `bread, white'.

A keyword is actually separated into four different keys. The main-key is the key that is specified from the author who indexes a document. The merge-key is derived from the main key with the so-called merge mapping. This mapping is accomplished with a set of rewrite rules. The sort-key is derived from the merge key with another set of rewrite rules called the sort mapping. The print-key can be specified by the user explicitely or, if it is ommited, equals the main key. The rewrite rules consist of string substitutions that also include regular expression features.

The following figure describes this:

The merge-key is necessary to define the equality of index entry keys. See command merge-rule for further details about defining the merge mapping.

The sort-key is necessary to define a total order on the keywords. Since we need a scheme that is independent from any specific character set such as ASCII or ISO-Latin, we must be able to define completely new alphabets. The index entries are then sorted according to the ISO-Latin alphabet. See the command sort-rule for an explanation how these mapping can be specified.

The print-key is used for the final markup and contains the string that appears in the generated markup.

location-class-group

There exist two kinds of location class groups namely location-reference-groups and cross-reference-groups.

location-reference-group

consists of a list of attribute-groups.

attribute-groups

Each location-reference-group consists of a list of attribute-groups. Attribute groups are defined by a set of attributes. In the markup phase, all location references are sorted according to the group number their attributes belong to. Additionally all location references of a particular attribute group appear together in the index.

See command define-attribute-groups for further information about the handling of attribute-groups.

An attribute group consists of a list of location-references and/or ranges.

location-reference-class, location-reference, location

Each index entry of an index references at least one location in the document. A location is a logical or physical part of a document, such as a single page, a section or subsection, etc. The symbolic name of a location is called a location-reference. The location reference is always represented as a string (a sequence of characters). Each location reference is associated a special tag called attribute. The following examples may give you an idea how location references could look like.

"25" represents a page number.

"Chapter-3" represents the third chapter of a document.

"A-I" represents the first page, written in uppercase roman numerals of the appendix `A', separated by a hyphen.

"2.3.4" represents the sub-sub-section 2.3.4 of a document.

As we can see, the location references are often composed hierarchically of smaller entities, such as numbers or names. All location references that belong to the same class form a location-class. A location class is composed of alphabets and separators. See command define-location-class for a description how classes can be defined.

alphabet, separator

As we have seen in the previous section, location classes consist of alphabets and separators. xindy has the following built-in set of basic alphabets:

<tag/<tt/arabic-numbers// contains all non-negative numbers beginning
with zero: 0, 1, 2, ....

<tag/<tt/roman-numerals-uppercase// the roman numerals I, II, III,
(IIII/IV), V, ... It recognizes the old and new roman numeral system.

<tag/<tt/roman-numerals-lowercase// the same for the lowercase roman
numerals.

<tag/<tt/ALPHA// the US-ASCII alphabet (uppercase letters).

<tag/<tt/alpha// the US-ASCII alphabet (lowercase letters).

<tag/<tt/digits// the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 in this
order.

The user is free to define new alphabets as he wishes. See the commands define-alphabet and define-enumeration for further details.

A complete location class can be defined by composing alphabets and separators. The location class of the example "A-I" can be defined as follows

  (define-location-class "appendix"
                         (ALPHA "-" roman-numerals-uppercase))

This is a list that completely describes all possible instances of this location class. Other valid members are A-II, B-VI, etc. Location classes are defined with the command define-location-class.

xindy reads the incoming strings representing location references and tries to match them against a previously defined location class. There exist no predefined location classes.

range

A range is a pair of location-references. A sequence of location references following one another is transformed into an range if the length of the sequence exceeds a certain user-definable limit. For example, the location references 11, 12, 13 and 14 may be transformed into the range 11--14. See command define-location-class for further details.

cross-reference-group

Container for all cross-references of a particular cross-reference-class.

cross-reference-class, cross-reference

A cross-reference is an unstructured reference. Cross-reference-classes are used to define different classes of cross references. All elements of a cross reference class appear together in the index. A cross reference consists of a list of strings.

attributes

Each location reference contains a so-called attribute. Attributes may be used to give a location reference a different meaning that may influence the processing and markup of this reference. Sometimes location references pointing to semantically different locations such as a definition or a usage of a term are tagged differently. They often appear in italics or boldface indicating this difference. An attribute may now be used to express this difference. Since xindy needs to know the possible attributes before the index entries are read in, the command define-attributes must be used to define a set of attributes and how they interact.


Next Previous Contents xindy-2.5.1.20160104/doc/manual-3.html000066400000000000000000001302041264235421100166160ustar00rootroot00000000000000 xindy Manual: Command List Next Previous Contents

3. Command List

Here is the complete list of xindy's commands that may be used in the index style. The symbol name always refers to a string. We separate the commands into the processing and markup commands. The commands are listed in alphabetical order.

The parenthesis `[' and `]' denote optional parts of the syntax and `{' and `}' denote the grouping of elements. A vertical bar indicates alternatives. However, the enclosing round braces are part of the syntax and must be supplied.

3.1 Processing Commands

Here follows the list of processing commands.

(define-alphabet name string-list)

Defines name to be the alphabet consisting of all elements of the string-list. Examples:

  (define-alphabet "example-alphabet" ("An" "Example" "Alphabet"))

defines an alphabet consisting of exactly three symbols. For the successor relationship holds: succ("An")="Example" and succ("Example")="Alphabet". The built-in alphabet digits is defined as follows:

  (define-alphabet "digits"
                   ("0" "1" "2" "3" "4" "5" "6" "7" "8" "9"))

(define-attributes attribute-list)

Defines all attributes the raw index may contain. Parameter attribute-list is a list of list of strings. The nesting level must not be more than 2. So (..(..)..) is allowed, whereas (..(..(..)..)..) is not.

The list has two kinds of elements: strings and list of strings. A single string is treated as if it were a single element list. So the lists ("definition") and ( ("definition") ) are equivalent. All elements forming a list are a so-called attribute group. The members of a group are written to the output file before any member of the following groups are written.

Examples of valid attributes lists are:

("definition" "usage") defines two attribute groups. The first one contains all references with the attribute definition and the second one all with the attribute usage.

(("definition" "important") "usage") defines two attribute groups. The first one contains all references with the attributes definition or important and the second one all with the attribute usage. In the attribute group ("definition" "important") the attribute definition overrides important.

(define-crossref-class name [:unverified])

Defines name to be a class of cross references. We distinguish two types of cross reference classes. Verified cross reference classes can be checked for dangling references. If for instance a cross reference points to the non-existent keyword `foo' a warning is issued and the user is advised to correct the invalid cross reference. This is the default. If for some reasons this mechanism must be deactivated the switch :unverified can be used to suppress this behaviour.

(define-letter-group name [:before lgname] [:after lgname]
                          [:prefixes list-of-prefixes])

(define-letter-groups list-of-letter-groups)

This command defines a letter group with name name, which must be a string value, grouping all index entries that have a sort key beginning with the prefix name. The command

  (define-letter-group "a")

is equivalent to the command

  (define-letter-group "a" :prefixes ("a"))

Using the latter form one can associate more than one prefix with a given letter group. Also further prefixes can be added to an already existing letter group by simply defining the same letter group again. This results not in a redefinition but in adding more prefixes to the currently defined prefixes.

Example:

  (define-letter-group "a")

defines a letter group containing all index entries beginning with the string "a".

  (define-letter-group "c" :after "a")

defines a letter group containing all index entries beginning with the string "c". The letter group appears behind the letter group "a"

  (define-letter-group "b" :after "a" :before "c")

inserts letter group "b" between letter group "a" and "c". This allows incremental definition of letter groups by extending already defined ones.

The arguments :after and :before define a partial order on the letter groups. xindy tries to convert this partial order into a total one. If this is impossible due to circular definitions, an error is reported. If more than one possible total ordering can result, it is left open which one is used, so one should always define a complete total order.

The command define-letter-groups (with an `s' at the end) is simply an abbreviation for a sequence of define-letter-group definitions where the elements are ordered in the ordering given by the list. Example:

  (define-letter-groups ("a" "b" "c")

equals the definitions

  (define-letter-group "a")
  (define-letter-group "b" :after "a")
  (define-letter-group "c" :after "b")

See also commands markup-letter-group-list and markup-letter-group for further information.

(define-location-class name layer-list
                       [:min-range-length num]
                       [:hierdepth depth]
                       [:var])

Defines name to be a location class consisting of the given list of layers. A list of layers consists of names of basetypes and/or strings representing separators. Separators must follow the keyword argument :sep. If the keyword :min-range-length is specified we define the minimum range length to be used when building ranges. The argument num must be a positive integer number or the keyword none in which case the building of ranges is disallowed. If the switch :var is specified the declared class is of type variable, i.e. it is a var-location-class. Since building of ranges is currently only allowed for standard classes :var and :min-range-length must not be used together. The keyword argument :hierdepth can be used to declare that the location references have to be tagged in a hierarchical form. Its argument depth must be an integer number indicating the number of layers the hierarchy does contain. See command markup-locref-list for more information. Examples:

  (define-location-class "page-numbers" ("arabic-numbers")
                         :minimum-range-length 3)

Defines the location class page-numbers consisting of one layer which is the alphabet arabic-numbers. Since the minimum range length is set to 3 the location references 2, 3 and 4 don't form a range because the range length is only 2. But the references 6, 7, 8, and 9 are enough to form a range. Some example instances of this class are 0, 1, ... 2313, etc.

  (define-location-class "sections" :var
     ("arabic-numbers" :sep "."
      "arabic-numbers" :sep "."
      "arabic-numbers"))

defines a variable location class. Valid instances are 1, 1.1, 1.2, 2, 2.4.5, but none of 2-3 (wrong separator), 1.2.3.4 (more than 3 layers), 2.3.iv (roman number instead of arabic one).

(define-location-class-order list)

Defines the order in which the location classes are written to the output file. The parameter list is a list of names of location classes. Examples:

  (define-location-class-order
      ("page-numbers" "sections" "xrefs"))

tells the system that the page numbers should appear before the section numbers and that the cross references should appear at the end. If this command is omitted, the declaration order of the location classes in the index style is implicitly used as the output order. In the case that a location class does not appear in the list, the output may behave unexpectedly, so one should always enumerate all used location classes when using this command.

(define-rule-set name
        [ :inherit-from ("rule-set" "rule-set-2") ]
        :rules (<rule>...) )

A complete specification of a multi-phase sorting process for a language requires that some rules have to appear in several subsequent sorting phases. Rule sets can be used to define a set of rules that can be instantiated in an arbitrary sorting phase. Basically, they offer means to separate the definition of sorting rules from their instantiation, hence, acting as a wrapper for calls to sort-rule. They do not add new functionality that is not already present with sort-rule.

A rule can be of the form:

  <rule> ::= ("pattern" "replacement"
              [:string|:bregexp|:egegexp] [:again])

The following incomplete example defines a new rule set of name isolatin1-tolower that inherits definitions from rule set latin-tolower, overriding or adding the sort rules in the list of :rules.

   (define-rule-set "isolatin1-tolower"

     :inherit-from ("latin-tolower")

     :rules (("À" "à" :string :again)
             ("Á" "á" :string :again)
             ("Â" "â" :string :again)
             ("Ã" "ã" :string :again)
             ("Ä" "ä" :string :again)
             ("Å" "å" :string :again)
             ("Æ" "æ" :string :again)
          ...
            )
   ...)

Rule sets can be instantiated with the command use-rule-set. For further descriptions on the sorting model refer to the command sort-rule.

(define-sort-rule-orientations (orientations...))

Defines the order for the different sorting phases. The currently implemented orientations are forward and backward. This command must precede all sort-rule commands in an index style. It defines the orientations and implicitly sets the maximum number of sorting phases performed.

For further descriptions on the sorting model refer to the command sort-rule.

(merge-rule pattern replacement [:again]
                                [:bregexp | :eregexp | :string])

Defines a keyword mapping rule that can be used to generate the merge key from the main key of an index entry. This mapping is necessary to map all keywords that are differently written but belong to the same keyword to the same canonical keyword.

The parameter pattern can be a POSIX-compliant regular expression or an ordinary string. The implementation uses the GNU Rx regular expression library which implements the POSIX regular expressions. Regular expressions (REs) can be specified as basic regular expressions (BREs) or extended regular expressions (EREs). You can use the switch :bregexp to force the interpretation of the pattern as a BRE, or :eregexp to interpret it as an ERE. If you want xindy to interpret the pattern literally, use the switch :string. If none of these switches is selected, xindy uses an auto-detection mechanism to decide, if the pattern is a regular expression or not. If it recognizes the pattern as a RE, it interprets it as an ERE by default.

The parameter replacement must be a string possibly containing the special characters & (substitutes for the complete match) and \1,...,\9 (substituting for the n-th submatch. Examples:

  (merge-rule "A" "a")
replaces each occurrence of the uppercase letter `A' with its lowercase counterpart.

  (merge-rule "\~"([AEOUaeou])" "\1")
transforms the TeX umlaut-letters into their stripped counterparts, such that `\"A' is treated as an `A' afterwards.

The following sequences have a special meaning:

`~n' : End of line symbol (linefeed).

`~b' : The ISO-Latin character with the lowest ordinal number.

`~e' : The ISO-Latin character with the highest ordinal number.

`~~' : The tilde character.

`~"' : The double quote character.

Tilde characters and double quotes have to be quoted themselves with a tilde character. The special characters `~b' and `~e' allow the definition of arbitrary sorting orders by rules. In connection with an additional character every position in the alphabet can be described. E.g. `m~e' is lexicographically placed between `m' and `n'.

Due to efficiency, rules that just exchange characters or substitute constant character sequences are not treated as regular expressions. Therefore, instead of using the rule

  (merge-rule "[A-Z]" "&x")

it is more efficient (though less comfortable) to use

  (merge-rule "A" "Ax")
  (merge-rule "B" "Bx")
  ...
  (merge-rule "Z" "Zx")

Usually rules are applied in order of their definition. Rules with a special prefix precede those that begin with a class of characters, so that the search pattern `alpha' is checked before `.*', but `auto' and `a.*' are checked in order of their definition.

The first rule from a style file that matches the input is applied and the process restarts behind the substituted text. If no rule could be applied, the actual character is copied from the input and the process continues with the next character.

Sometimes it is necessary to apply rules anew to the result of a transformation. By specifying the keyword argument :again in the merge rule the rule is marked as mutable, which means that after using this rule the transformation process shall restart at the same place. E.g. the rule

  (merge-rule "\$(.*)\$" "\1" :again)

deletes all surrounding `$' symbols from the input.

See also command sort-rule.

(merge-to attr-from attr-to [:drop])

A merge rule says that the attribute attr-from can be used to build ranges in attr-to. Both attributes must name valid attribute names. The switch :drop indicates, that the original location reference with attribute attr-from has to be dropped (removed), if a successful range was built with location references in attribute attr-to. A detailed description is given in the section about processing phases.

(require filename)

This command allows to load more index style modules. The module is searched in the directories defined in the search path. The file is read in and processing of the current file continues. The argument filename must be a string. This allows to decompose the index style into several modules that can be included into the topmost index style file. Example:

  (require "french/alphabet.xdy")
  (require "french/sort-rules.xdy")
  (require "tex/locations.xdy")
  (require "tex/markup.xdy")

Submodules can load other submodules as well. If a file is required that was already loaded, the require command is simply ignored and processing continues without including this file twice. See also command searchpath.

(searchpath {path-string | path-list})

This command adds the given paths to the list of paths, xindy searches for index style files. The argument path-string must be a colon-separated string of directory names. If this path ends with a colon the default search path is added to the end of the path list. Example:

  (searchpath ".:/usr/local/lib/xindy:/usr/local/lib/xindy/english:")

adds the specified directories to the search path. Since the last path ends with a colon, the built-in search path is added at the end. Specifying

  (searchpath ("."
               "/usr/local/lib/xindy"
               "/usr/local/lib/xindy/english"
               :default))

yields exactly the same result as the example above. Here path-list must be a list of strings and/or the keyword(s) :default and :last. The keyword :default signifies that the default pathnames are to be inserted at the specified position in the list. The keyword :last allows to insert the currently active paths at the indicated position. Since this allows to insert the built-in paths at any position and incrementally adding new paths to the search path, this version of the command ist more flexible than the first version.

(sort-rule pattern replacement [:run level] [:again])

Defines a keyword mapping rule that can be used to generate the sort key of an index entry from the merge key. This key is used to sort the index entries lexicographically after they have been merged using the merge key.

The argument :run indicates that this rule is only in effect a the specified level (default is level 0). For a detailed discussion on the definition of sort rules for different layers refer to the documentation about the new sorting scheme (new-sort-rules) that comes with this distribution.

See command merge-rule for more information about keyword rules.

(use-rule-set [:run phase]
              [:rule-set ( <rule-set>... ))

This command instantiates the gives rule sets to be in effect at sorting phase phase. The order of the rule sets given with argument :rule-set is significant. Rule set entries of rule set appearing at the beginning of the list override entries in rule sets at the end of the list.

The following example declares that in phase 0 the rule sets din5007 and isolatin1-tolower should be active, whereas in phase 2 the other rule sets have to be applied.

  (use-rule-set :run 0
                :rule-set ("din5007" "isolatin1-tolower"))

  (use-rule-set :run 1
                :rule-set ("resolve-umlauts"
                           "resolve-sharp-s"
                           "isolatin1-tolower"
                           ))

For a discussion on rule sets refer to command define-rule-set.

3.2 Markup Commands

The following commands can be used to define the markup of the index. They don't have any influence on the indexing process. Since the markup scheme is characterized by the concept of environments, the syntax and naming scheme of all commands follows a simple structure.

The commands can be separated into environment and list-environment commands. All commands of the first group support the keyword arguments :open and :close, whereas the second group additionally supports the keyword argument :sep. If one of these keyword arguments is missing, the default markup tag is always the empty tag. The :open tag is always printed before the object itself and the :close tag is always printed after the object has been printed. If a list is printed the :septag is printed between two elements of the list but not before the first element, or after the last one. All commands dealing with a list have the suffix `-list' as part of their command name.

Since the number of commands and the heavy usage of default and specialized tags makes the markup somehow complex (but very powerful) we have added a mechanism to trace the markup tags xindy omits during its markup phase with the command markup-trace.

Here follows the list of markup commands in alphabetical order with some of the commands grouped together.

(markup-attribute-group-list [:open string] [:close string]
                             [:sep string])

(markup-attribute-group      [:open string] [:close string]
                             [:group group-num])

Location class groups consist of lists of attribute groups. The markup of this list can be defined with the command markup-attribute-group-list.

To allow different markup for different attribute groups the command markup-attribute-group can be specialized on the group number with the keyword argument :group which must be an integer number. E.g., given are the groups ("definition" "theorem") and ("default") with group numbers 0 and 1, then

  (markup-attribute-group :open "<group0>" :close "</group0>"
                          :group 0)

  (markup-attribute-group :open "<group1>" :close "</group1>"
                          :group 1)

can be used to assign different markup for both groups in a SGML-based language.

(markup-crossref-list       [:open string] [:close string]
                            [:sep string]
                            [:class crossref-class])

(markup-crossref-layer-list [:open string] [:close string]
                            [:sep string]
                            [:class crossref-class])

(markup-crossref-layer      [:open string] [:close string]
                            [:class crossref-class])

A crossref class group contains cross references of the same class. The separator between the classes is defined with the (markup-locclass-list :sep)-parameter. A list of cross references can be tagged with the command markup-crossref-list that specializes on the :class argument.

Each cross reference is determined by a list of layers indicating the target of the cross reference. To define a suitable markup for such a list the command markup-crossref-layer-list can be used.

Each layer of a cross reference can be assigned two tags that specialize on the class of the reference, like all other commands.

A suitable markup for a cross reference class see within LaTeX2e could look like that:

  (markup-crossref-list :class "see" :open "\emph{see} "
                                     :sep  "; ")
  (markup-crossref-layer-list :class "see" :sep ",")
  (markup-crossref-layer :class "see"
                                     :open "\textbf{" :close "}")

An example output could look like

... see house; garden,winter; greenhouse

(markup-index [:open string] [:close string]
              [ :flat | :tree | :hierdepth depth ])

Defines the markup tags that enclose the whole index via the :open and :close parameters. Examples:

  (markup-index :open  "Here comes the index~n"
                :close "That's all folks!~n")

defines that the :open string is printed before the rest of the index and the :close string appears after the index is printed.

Additionally one can specify the form of the generated index. It is possible to produce flat indexes by specifying the switch :flat, to generate a tree with the :tree switch or any kind of mixture between both by specifying the depth up to which trees shall be built with the parameter :hierdepth. Its argument depth is the number of layers that can be formed into a tree. Therefore :flat is an abbrevation of :hierdepth 0 and :tree is an abbrevation of :hierdepth max-depth, with max-depth being the maximum number of layers a keyword has. An example: the keywords

  ("tree" "binary" "AVL")
  ("tree" "binary" "natural")

can be transformed in the following ways:

A flat index (:flat or :hierdepth 0)

  tree binary AVL
  tree binary natural

with :hierdepth 1

  tree
     binary  AVL
     binary  natural

and a tree (:tree or :hierdepth > 1)

  tree
     binary
        AVL
        natural

Most often one will create tree-like indexes or ones that are flat.

(markup-indexentry-list [:open string] [:close string]
                        [:sep string]  [:depth integer])

(markup-indexentry      [:open string] [:close string]
                        [:depth integer])

Letter groups consists of a list of index entries. The command markup-indexentry-list defines the markup of these lists. The markup can be specialized on the depth if the index is hierarchically organized. The command

  (markup-indexentry-list :open  "\begin{IdxentList}"
                          :close "\end{IdxentList}"
                          :sep   "~n")

defines that the index entries of all layers are wrapped into the given markup tags. If additionally

  (markup-indexentry-list :open  "\begin{IdxentListII}"
                          :close "\end{IdxentListII}"
                          :sep   "~n"
                          :depth 2)

is defined, all index entry lists of all layers (except layer 2) are tagged according to the first specification, and the index entry list within depth 2 are tagged according to the second rule.

The command markup-indexentry defines the markup of an index entry at a given depth. Since index entries may also contain subentries and the markup for subentries may be different in different layers, the optional keyword argument :depth can be used to assign different markup for different layers. If depth is ommited the default markup for all possible depths is defined. The top-most index entries have depth 0.

  (markup-indexentry :open  "\begin{Indexentry}"
                     :close "\end{Indexentry}")

defines that the index entries of all layers are wrapped into the given markup tags. If additionally

  (markup-indexentry :open  "\begin{IndexentryII}"
                     :close "\end{IndexentryII}"
                     :depth 2)

is defined, all index entries of all layers (except layer 2) are tagged according to the first specification, and the index entries with depth 2 are tagged according to the second rule.

(markup-keyword-list [:open string] [:close string]
                     [:sep string] [:depth integer])

(markup-keyword      [:open string] [:close string]
                     [:depth integer])

The print key of an index entry consists of a list of strings. The markup of this list can be defined with the command markup-keyword-list. The keyword argument :depth may be specified to define the markup of the list at a particular depth.

The keyword of an index entry consists of a list of strings. Each of these components is tagged with the strings defined with the command markup-keyword. Since we maybe need different markup for different layers, the optional keyword argument can be used to specialize this markup for some depth.

(markup-letter-group-list [:open string] [:close string]
                          [:sep string])

(markup-letter-group  [:open string] [:close string] [:group group-name]
                      [:open-head string] [:close-head string]
                      [:upcase | :downcase | :capitalize])

The first command defines the markup of the letter group with name group-name. Since the markup of letter groups often contains the name of the letter group as a part of it, the other keyword arguments allow an additional markup for this group name. If one of the parameters :open-head and :close-head is specified additional markup is added as can be described as follows:

  <OPEN>
     IF (:open-head OR :close-head)
       <OPEN-HEAD>
         transformer-of(<GROUP-NAME>)
       <CLOSE-HEAD>
     FI
     <INDEXENTRIES...>
  <CLOSE>

Here, transformer-of is a function that possibly transforms the string representing the group name into another string. The transformers we currently support can be specified with the switches :upcase, :downcase and :capitalize which result in the corresponding string conversions. If none of them is specified no transformation is done at all.

The command markup-letter-group defines the markup of the list of letter groups.

(markup-locclass-list [:open string] [:close string]
                      [:sep string])

Each index entry contains a list of location class groups. This markup command can be used to define the markup of this list.

(markup-locref [:open string] [:close string]
               [:class locref-class]
               [:attr  attribute]
               [:depth integer])

The markup tags of a location reference can be specialized on the three arguments :class, :attr and additionally, if sub-references are used, :depth. Most often one will only use a tag depending on the attribute. For example, all location references with the attribute definition should appear in a font series like bold, emphasizing the importance of this location reference; those with the attribute default in font shape italic. The markup in this case would not specialize on the depth or any particular class. A valid definition, suitable for a usage within HTML, could look like this.

  (markup-locref :open "<B>" :close "</B>" :attr "definition")
  (markup-locref :open "<I>" :close "</I>" :attr "default")

(markup-locref-class [:open string] [:close string]
                     [:class locref-class])

All location references of a particular location reference class can be wrapped into the tags defined by this command. It specializes on the keyword argument :class.

(markup-locref-layer      [:open string] [:close string]
                          [:depth integer] [:layer integer]
                          [:class locref-class])

(markup-locref-layer-list [:open string] [:close string]
                          [:sep string]
                          [:depth integer]
                          [:class locref-class])

A location reference contains a list of location reference layers. The second markup command can be used to markup this list. It specializes on the class of the location references and the depth (if sub-references are used).

The first command allows to tag the elements of a layer list differently. The first element of this list can is specialisable with :layer 0, the next element with :layer 1, etc. See the next example for an example.

(markup-locref-list [:open string] [:close string] [:sep string]
                    [:depth integer] [:class locref-class])

An attribute group contains a list of location references and/or ranges. Additionally a layered location reference itself may contain sub-references that are stored as a list of location references. We specialize the markup for these lists on the location class they belong to with the keyword argument :class, and on :depth that specializes on the different subentry levels when using location references with sub-references.

Given is a list of location references that have the class description

  (define-location-class "Appendix"
                         ("ALPHA" :sep "-" "arabic-numbers")
                         :hierdepth 2)

This location class has instances like A-1, B-5, etc. The keyword argument :hierdepth 2 informs xindy to markup these location references in a hierarchical form. With the commands

  (markup-locref-list            :sep "; "
                       :depth 0  :class "Appendix")
  (markup-locref-list  :open " " :sep ","
                       :depth 1  :class "Appendix")
  (markup-locref-layer :open "{\bf " :close "}" :layer 0
                       :depth 0  :class "Appendix")

we obtain a markup sequence for some example data that could look like

  {\bf A} 1,2,5; {\bf B} 5,6,9; {\bf D} 1,5,8; ...

(markup-range [:open string] [:close string] [:sep string]
              [:class locref-class]
              [:length num] [:ignore-end])

A range consists of two location references. Markup can be specified with the :open and :close arguments and one separator given by the argument :sep.

Since both location references are tagged with markup defined by the command markup-locref a specialization on attributes or depth is not necessary. Specialization is allowed on the class they belong to, because the separator between two location refences may be different for each location class. Argument :length can be used to define different markup for different lengths. In conjunction with :length is may be useful not to print the second location reference at all. For example, one wishes to markup ranges of length 1 in the form Xf. instead of X--Y. This can be accomplished with the switch :ignore-end.

The markup tags for a range (X,Y) can be described as follows:

  <OPEN>
    Markup of location reference X
  <SEP>
    IF (not :ignore-end)
       Markup of location reference Y
    FI
  <CLOSE>

The following tags can be used to define a range of page numbers (given in a location class page-numbers) without considering the open and close parameters:

  (markup-range :sep "-" :class "page-numbers")

Location ranges then appear separated by a hyphen in a form like this:

   ..., 5-8, 19-23, ...

(markup-trace [:on] [:open string] [:close string])

This command can be used to activate the tracing of all markup commands xindy executes. The switch :on activates the trace. If :on is omitted, the command line flag -t can be used as well. All tags which are emitted but not yet defined explicitly by the user are tagged with a symbolic notation indicating the commands that must be used to define this tag. The defaults for the keyword argument :open is `<' and for :close is `>'. The beginning of an example output could look like:

  <INDEX:OPEN>
    <LETTER-GROUP-LIST:OPEN>
      <LETTER-GROUP:OPEN ["a"]>
        <INDEXENTRY-LIST:OPEN [0]>
          <INDEXENTRY:OPEN [0]>
            <KEYWORD-LIST:OPEN [0]>
              <KEYWORD:OPEN [0]>
   ...

We use a simple indentation scheme to make the structure of the tags visible. The symbolic tag <LETTER-GROUP:OPEN ["a"]> for example indicates that the tag that can be specified with the command

  (markup-letter-group :open "XXX" :group "a" ... )

is emitted at this point in the markup process. By incrementally adding markup commands to the index, more and more tags can be defined until the whole markup is defined. This general mechanism should allow everyone understand the markup process. The best is to start with a small index, define the complete markup and afterwards process the whole index. Additionally one can enclose the symbolic tags into an environment that is neutral to the document preparation system, such as a comment. For TeX this could be

  (markup-trace :open "%%" :close "~n")

or a definition in the TeX document like

  \def\ignore#1{}

combined with the command

  (markup-trace :open "\ignore{" :close "}")

3.3 Raw Index Interface

This section can be skipped if the reader is not interested in adapting xindy to a new document preparation system.

The raw index is the file that represents the index that is to be processed. Since many different document preparation systems may use different forms of index representations, their output must be transformed in a form readable by xindy. We also could have written an configurable parser performing this task, but usually a tool written with some text processing tools such as perl, sed or awk can achieve the same task as well. Therefore, adapting xindy to a completely different system can mostly be done by writing an appropriate raw index filter.

The format of the raw index interface of xindy is defined as follows:

(indexentry { :key string-list [:print string-list]
            | :tkey list-of-layers }
            [:attr string]
            { :locref string  [:open-range | :close-range]
            | :xref string-list } )

The pseudo variable string is a sequence of characters surrounded by double quotes, e.g.

  "Hi, it's me"  "one"  "a string with two \"double quotes\""

are three examples of valid strings. If you need to include a double quote as a literal character, you must quote it itself with a backslash as shown in the third example. A string list is simply a list of strings separated by whitespaces and surrounded by round braces. An example of a string list is

  ("This" "is" "a" "list" "of" "strings")

So far about the syntax. The semantics of the different elements are described here.

:key

The argument string list defines the keyword of the index entry. It must be a list of strings, since the keyword may consist of different layers such as ("heap" "fibonacci").

:print

The optional print key defines the way the keyword has to be printed in the markup phase.

:tkey

Another possibility to define the keys of an index entry is with the :tkey keyword argument. It can be used instead of the :key and :print arguments. Instead of specifying separately the key and the corresponding print key, we define the keyword by its layers. Each layer consist of a list of one or two strings. The first string will be interpreted as the main key, whereas the second one will become the print key. If the print key is ommited, the main key is taken instead. So the definition

  :tkey (("This") ("is") ("a") ("bang" "BANG !!!"))

is equivalent to

  :key   ("This" "is" "a" "bang")
  :print ("This" "is" "a" "BANG !!!")

:locref

The reference an index entry describes can be a location reference or a cross reference. The switch :locref describes a location reference. Its optional arguments are :open-range and :close-range. The string that must be supplied must somehow encode the location reference. It might look like the string "25" representing the page number 25, or "Appendix-I" representing the first appendix numbered in uppercase roman numerals.

:open-range,:close-range

These are switches that do not take any arguments. They describe the beginning and ending of a range, starting or ending from the location reference that is given by the argument :locref. If they are supplied, the location reference may have influence on the way ranges are build.

:xref

These arguments choose the second alternative. The argument string list of parameter :xref describes where the index entry should point to.

:attr

This parameter may be used to tag a location reference with a certain attribute or it names the class of a cross reference. It may also used to associate different markup for different attributes in the markup phase. If this parameter is omitted or is the empty string, the indexentry is declared to have the attribute default.

Some examples:

  (indexentry :key ("airplane") :locref "25" :attr "default")

defines an index entry with the key `airplane' indexed on page '25'. This index entry has the attribute default.

  (indexentry :key ("house") :xref ("building") :attr "see")

defines a cross reference with the key 'house' pointing to the term 'building'. This cross reference belongs to the cross reference class see.

  (indexentry :key ("house") :xref ("building") :open-range)

is an invalid specification, since :open-range mustn't be used together with cross references.


Next Previous Contents xindy-2.5.1.20160104/doc/manual-4.html000066400000000000000000000141651264235421100166260ustar00rootroot00000000000000 xindy Manual: Processing Phases Next Previous Contents

4. Processing Phases

4.1 The Startup Phase

After the system is started, xindy reads in the index style that is passed as a command line argument. Each require command is executed and the internal data structures representing the index style are built up. The index style must completely be read in before the raw index can be read.

4.2 The Processing Phase

The processing phase starts with reading the complete raw index. The name of the raw index file must be passed via the command line. All index entries are read in and pre-processed. All attributes and cross reference classes are checked if they are already known to the system. All strings representing location references are matched against all known location classes. Appropriate warnings are issued, if errors are encountered.

After the raw index has completely been read in, the location references of each index entry are merged, separated and sorted and the building of ranges takes place. This phase is the most complex one and we will describe it in detail.

  1. All location references are separated according to the class they belong to. These groups are called location class groups. Possible groups are all defined location and crossref classes. See the commands define-location-class and define-crossref-class for a description how these classes can be defined. The classes are sorted according to an order that can be defined with the command define-location-class-order.
  2. The further processing of each location class group is different for the location classes and the crossref classes.
    • Cross references are sorted lexicographically based on the ISO-Latin alphabet.
    • To illustrate the processing of location references we assume the following list:
      13, 14, 15, 18, 12, 13, 14, 16, 14, 16
      The location references in italics own the attribute `important, those with in boldface have attribute `definition', and all others are own the attribute `default'. Imagine, the attribute groups were defined with the commands
         (define-attribute-groups (("definition" "important")
                                   ("default")))
      
         (merge-to "definition" "default" :drop)
         
      
      See commands define-attributes and merge-to for a detailed description. The substitution rules are applied. This means that location references 13 and 14 with attribute `important' are substituted by the location references 13 and 14 with attribute `definition'. Substitution means removing from the list of location references. Substitution occurs because the definition of the attribute groups implicitly defines "definition" substitutes "important". The resulting list is now
      13, 14, 15, 18, 12, 16, 14, 16
      The merge-to rules are applied. Their meaning is to make location references appear with another attribute as well, but only in the function of supporting the building of ranges. They disappear after the ranges are built. The location references that cause new location refererences to be added are called parents, whereas the new ones are called childs. The example rule results in the adding of all refernces with attribute `definition' to the attribute `default' which results in the list
      13, 14, 15, 18, 12, 16, (13), 14, (15), 16, (18)
      The childs are put in parenthesis since they may only be used to build up ranges. For each attribute we now try to build ranges. Since the switch :drop was specified we must start with the attribute `default', because a successful merging of location references may result in dropping the parents. This results in the range `13--16'. The childs (13) and (15) were used in the building of ranges, so their parents 13 and 15 have to be removed from the list of location references. This step would be omitted if the switch :drop were not specified. After unsucessfully trying to build more ranges and dropping the location references 13, 15 and (18)--which was only meant to build ranges--we obtain the list
      14, 18, 12, 16, 13--16
      Finally the attributes are brought into the right order. In our example the location references of the first attribute group are merged and sorted lexicographically resulting in two attribute groups
      (12, 14, 16, 18) (13--16)

After all index entries have been processed the letter groups are formed and the index entries and location references are transformed into tree like structures as defined in the index style.

4.3 The Markup Phase

After the index has completely been processed, the markup phase traverses the tree-like structure of the index. Each step triggers the appropriate markup events resulting in the emitting of markup tags.


Next Previous Contents xindy-2.5.1.20160104/doc/manual-5.html000066400000000000000000000060711264235421100166240ustar00rootroot00000000000000 xindy Manual: Index Next Previous Contents

5. Index

List of Commands

define-attributes
define-alphabet
define-crossref-class
define-letter-group
define-letter-groups
define-location-class
define-location-class-order
define-rule-set
define-sort-rule-orientations
indexentry
markup-attribute-group
markup-attribute-group-list
markup-crossref-layer
markup-crossref-layer-list
markup-crossref-layer
markup-index
markup-indexentry
markup-indexentry-list
markup-keyword
markup-keyword-list
markup-letter-group
markup-letter-group-list
markup-locclass-list
markup-locref
markup-locref-class
markup-locref-layer
markup-locref-layer-list
markup-locref-list
markup-range
markup-trace
merge-rule
merge-to
require
searchpath
sort-rule
use-rule-set


Next Previous Contents xindy-2.5.1.20160104/doc/manual-6.html000066400000000000000000000031511264235421100166210ustar00rootroot00000000000000 xindy Manual: References Next Previous Contents

6. References

The following books and papers were referenced in this document.

  1. D. E. Knuth, The TeXbook, Addison-Wesley, 1984
  2. Leslie Lamport, LaTeX A Document Preparation System, Addison-Wesley, 1986
  3. Joachim Schrod, An International Version of MakeIndex, Cahiers GUTenberg, 10, p81-90, 1991
  4. Pehong Chen and Michael A. Harrison, Automating Index Preparation, TR-87/347, University of California Berkeley, 1987
  5. Roger Kehr, xindy, Ein Flexibles Indexierungssystem, Studienarbeit FB Informatik, TH-Darmstadt, November 1995.
  6. Joachim Schrod and Gabor Herr, MakeIndex Version 3.0, Technical University Darmstadt, 1991
  7. Roger Kehr, xindy -- A Flexible Indexing System, Technical Report No. 11/1997, Computer Science Department, Darmstadt University of Technology, 1997. Also accessible from the xindy homepage.
  8. Roger Kehr, xindy -- A Flexible Indexing System, Proceedings of the EuroTeX'98, St. Malo, France, March 1998


Next Previous Contents xindy-2.5.1.20160104/doc/manual-7.html000066400000000000000000000031511264235421100166220ustar00rootroot00000000000000 xindy Manual: References Next Previous Contents

7. References

The following books and papers were referenced in this document.

  1. D. E. Knuth, The TeXbook, Addison-Wesley, 1984
  2. Leslie Lamport, LaTeX A Document Preparation System, Addison-Wesley, 1986
  3. Joachim Schrod, An International Version of MakeIndex, Cahiers GUTenberg, 10, p81-90, 1991
  4. Pehong Chen and Michael A. Harrison, Automating Index Preparation, TR-87/347, University of California Berkeley, 1987
  5. Roger Kehr, xindy, Ein Flexibles Indexierungssystem, Studienarbeit FB Informatik, TH-Darmstadt, November 1995.
  6. Joachim Schrod and Gabor Herr, MakeIndex Version 3.0, Technical University Darmstadt, 1991
  7. Roger Kehr, xindy -- A Flexible Indexing System, Technical Report No. 11/1997, Computer Science Department, Darmstadt University of Technology, 1997. Also accessible from the xindy homepage.
  8. Roger Kehr, xindy -- A Flexible Indexing System, Proceedings of the EuroTeX'98, St. Malo, France, March 1998


Next Previous Contents xindy-2.5.1.20160104/doc/manual.html000066400000000000000000000041451264235421100164620ustar00rootroot00000000000000 xindy Manual Next Previous Contents

xindy Manual

Roger Kehr

Computer Science Department, Technical University of Darmstadt

and

Joachim Schrod

Joachim Schrod Net & Publication Consultance GmbH

$Revision: 1.19 $, $Date: 2004/05/24 21:43:16 $, for xindy version 2.2


This is the manual of the indexing system xindy. xindy is a powerful and flexible framework for generating indexes for many kinds of documents. This document describes the xindy processing model, terminology, and language, but not invocation and standard modules. The most up-to-date version can be obtained from the xindy Web Site at http://www.xindy.org/.

Index of all xindy commands

1. About this Manual

2. How the Index Processor Works

3. Command List

4. Processing Phases

5. Index

6. References


Next Previous Contents xindy-2.5.1.20160104/doc/mappings.gif000066400000000000000000000015561264235421100166270ustar00rootroot00000000000000GIF87a­>ðÿÿÿ,­>þ„©Ëí£œ´Ú‹³Þ¼û†âH–扦êʶî ÇòL×öçúÎ÷þ ‡Ä¢ñˆL*—̦ó J§ÔªõŠÍj·Ü®÷ ‹Çä²ùŒN«75¸íŽkàòÝu¯ë÷º<Ÿh0ˆPxxèWh(èØðÈ8ÈHHø˜XɧØH‡¨˜wˆyI:Ù¦‰YÉùÇZúJZ «ªªðŠ›()˜i¹›+«)×Ë l<{ »ü{ú‹ìéÉ í×J!ú,œ­ûì Í}¼}ž¼jø½€=«=.ž]œ\m-áŽHÝÞ=ú=©[3uÂFÁCW®9ùPÁ[x.¡»z÷0<Ì‘ (þ{ë=¤ÐÜ;{qô ã· cBóôW_-»:Ñl7“¢¸ûØñ"IÌ›?Ž9?*t™cL mU[DÏ\0JàNêŠ5 hÉf¶Ô-rÉŒªI“ˤ\z ©ÍsJ×diÕ¡×P É «ÃêRÆš`“{•n˶hYL 1ìn„Ã…S$ÖÚ€qc{A<ÍPy2唘ßjÞÌ÷Ãe‹ë>ƒFya¥é HäÕ‹ùõê²e_³=;·îݼ{ûþ <¸ðáÄ‹?Ž<¹ò2—ßhî<µáèA SgÈy…õë0¶s÷|óDå¼é‚;tDwá)¬?±ß$Zsk·´~–÷Ö¿÷³ÚþoÙJ±#`x:õåßz‘Qò×O|‹é‡ÒYf€²àžEõx~ÅVyj!nLiT¡„y(>l…Ø¢%z§ M •"xÓ¼£3Îb„:îHáØö£%4â4c“N> e”RNù¤t6ê5ßxX"ù†W‰@e˜bŽ¥EZÂxK—²wd‘œ-Ù ™rÎIç”i]ù"Ž(>p#vp:Pg ‚:™ZŸ ®h ’VF„š‰iTy"ž"²ˆæ[gæG¤w"Êiž/5ªŸò膦áyà}<¦g¥_˜ºhª¤Æ× Š.n˜XIº2*a/rbG´æ†—¦²PJš[£cßiÈÚ³ N'í„CŠV-¯Žý]f¢q›m¨ÙÊ°ë¸æž‹nºê®Ën»î¾ o¼òÎKo½öÞ‹o¾úîËo¿þþ pÀLpÁ»;xindy-2.5.1.20160104/doc/next.gif000066400000000000000000000002541264235421100157610ustar00rootroot00000000000000GIF89a%ñ¿¿¿çççooo[!ù,%}Œ©Ëí¿„´Ú‹ó2èbÜ–ßè™êÖUö®bK ±+7€âûnÚõj:ËÍf#ú’”añùü)gŒy5Nq+÷Šdê¤]´˜ÍˆÏ^Ÿò’f›bj”ÛœÃXí¸L’£â$XBXrˆ¨¡¸8cÀ)9IYi`™©™Y;xindy-2.5.1.20160104/doc/prev.gif000066400000000000000000000003341264235421100157560ustar00rootroot00000000000000GIF89a?ñ¿¿¿çççooo[!ù,?­Œ©Ëí£œI€³Þ¼ûj‚„æ‰~ã•¶.¸–ïLq6äz ¼HÂir¿"æÖÛøŒ?$`)|J{»©ªÃ©ÄŒú\v­S­UM‚¡ß¬95£ã[0EÞâÜðrß5æô§WxE—øWeC˜—ö¨¦xÈæhyf¨ÉFf‰‡Y)ø¹'¸#ÆØˆÇÔ:ÈêÚê+ëHË4{[3Òëû , XINDY Style File Tutorial: About xindy Next Previous Contents

1. About xindy

xindy means flexible indexing system. It is an indexing system that can be used to generate book-like indexes for arbitrary document preparation systems. This term includes systems such as TeX [1] and LaTeX [2], the Nroff-family or SGML-based systems (e.g. HTML) that process some kind of text and generate indexing information. It is not fixed to any specific system, but can be configured for a wide variety of purposes.

Authors sometimes wish to include an index into their document, but very often their document preparation systems aren't able to produce indexes on their own, or the capabilities of the built-in indexers are insufficient and produce ugly looking results. More often they use separate specialized tools for this purpose, sometimes called index processors.

In comparison to other index processors xindy has several powerful features that make it an ideal framework for describing and generating complex indexes. Its most interesting features are

Internationality

xindy can be configured to process indexes for many languages with different letter sets and different sorting rules. For example, many roman languages such as Italian, French, Portuguese or Spanish contain accentuated letters such as À, Á, ñ. Other languages from northern Europe have letters like Ä, Ø, æ or ß which often can't even be processed by many index processors let alone sorting them correctly into an index. The xindy system can be configured to process these alphabets by defining sort and merge rules that allow expressing language specific rules. One example of such a rule would be

(sort-rule "ä" "ae")

defining that a word containing the umlaut-a will be sorted as if it contained the letters ae instead. This is one form of how the umlaut-a ("ä") is sorted into german indexes. With an appropriate set of rules on can express the complete rules of a specific language.

User Definable Location Types

Locations are the entities an index entry points to. Often used locations are page numbers, section numbers, etc. xindy allows to define new kinds of types to be composed of basic entities like arabic numbers, roman numerals, letters, etc. which can be used to describe new index types. Examples of these entities can be books that have a page numbering scheme that starts from 1 for each new chapter resulting in page numbers of the form 1-13, 2-15, 2-20, etc. This type of locations can often be found in computer manuals. A more complex structure is represented by the locations Psalm 46, 1-8 and Genesis 1, 31. Even the structure of bible verses can be described allowing xindy to correctly sort and process indexes for documents with a completely different structure.

Highly Configurable Markup

Since a index processor is only one component in a document preparation system it ought to fit smoothly into the complete environment. Many text processing systems use the concept of environments that can be used to describe the markup of the text entities. Our approach is based on this concept which has proved to be expressive enough for most applications. As an example one can view systems such as TeX, SGML and its instance HTML, GNU Info, RTF and the Nroff-familiy of document formatters. The markup of an index can be defined for all of these systems in a very comfortable though extremly powerful way.


Next Previous Contents xindy-2.5.1.20160104/doc/style-tutorial-2.html000066400000000000000000000360101264235421100203410ustar00rootroot00000000000000 XINDY Style File Tutorial: A Basic Introduction Next Previous Contents

2. A Basic Introduction

This section incrementally introduces the most important aspects of the system. After reading this chapter you should be able to specify style files for about 80% of the commonly used indexes. The examples are demonstrated with a TeX markup so one can easily typeset the results xindy produces. You need LaTeX and the ISO-Latin enhancements that come with the inputenc package to run the following examples. Also the xindy system must already be installed.

But this tutorial doesn't reflect real life any more. The concepts are introduced below to explain them, but actual usage is probably different. In particular, you should not expect to specify sort rules by hand; usually one uses the language modules for that. Same way, xindy standard modules provide lots of markup functionality that you need for your documents, and can be used as a starting point. Nevertheless, let's continue with the explanation of xindy's style file language.

2.1 Running xindy

Create a new directory somewhere and copy some files from the distribution directory doc/style-tutorial/ by typing

eg$ mkdir tutorial
eg$ cd tutorial
eg$ cp <distrib-dir>/doc/style-tutorial/*.raw .
eg$ cp <distrib-dir>/doc/style-tutorial/*.tex .

with distrib-dir replaced by the actual location. Now create a file style1.xdy with the following content:

;; This is a first example using `xindy'.

(define-location-class "page-numbers" ("arabic-numbers"))
(define-attributes (("definition" "usage")))

Now run xindy by typing

eg$ xindy -t ex1.xlg -M style1 -I xindy ex1.raw

You should see something like

Opening logfile "ex1.xlg" (done)
Reading indexstyle...
Loading module "style1.xdy"...
Finished loading module "style1.xdy".
Finished reading indexstyle.
Finalizing indexstyle... (done)

Reading raw-index "ex1.raw"...
Finished reading raw-index.

Processing index... [10%] [20%] [30%] [40%] [50%] [60%] [70%] [80%] [90%] [100%]
Finished processing index.

Writing markup... [10%] [20%] [30%] [40%] [50%] [60%] [70%] [80%] [90%] [100%]
Markup written into file "ex1.ind".

xindy has now successfully compiled the index ex1.raw using your index style style1.xdy. The result is now stored in file ex1.ind. You can view this file but currently it only contains an unreadable mix of data.

But now let's come back to our index style. The syntax of the command is in a Lisp-like form with lots of braces, looking a little bit weird, but you'll soon get used to it. What is the meaning of the two commands we specified? The first command informed xindy that we like to process page numbers. We do this by defining a new location class named page-numbers. The page numbers consist of arabic-numbers as we might expect but this is not necessarily true---imagine your page numbers consisted of roman numerals instead. When reading the raw index contained in file ex1.raw xindy checks all locations if they match all known location classes. Since in our example the only known location class is the class of page numbers which are written using arabic digits, all locations will be checked if they are correct page numbers.

The second command tells xindy that we use two types of attributes for location references. Most often the locations in an index denote different meanings. For example, in mathematical texts one will distinguish the definition of a mathematical term from its usage. Sometimes these are typeset using different font shapes such as italic or font series such as boldface. Each location has an associated attribute which, if it is unspecified, defaults to the attribute default. With this command you have made these attributes known to the system, which makes it possible to assign different markup to these attributes later on.

2.2 Adding some Markup

Until now you haven't seen something exciting, so its time to specify some markup. Add the following lines to our index style:

(markup-index :open  "~n\begin{theindex}~n"
              :close "~n\end{theindex}~n"
              :tree)

(markup-locref :class "page-numbers" :attr "definition"
               :open  "{\bf " :close "}")

(markup-locclass-list :open "\quad{}")
(markup-locref-list :sep ", ")

Now run xindy again and afterwards LaTeX:

eg$ xindy -t ex1.xlg -M style1 -I xindy ex1.raw
eg$ latex ex1.tex

You can view ex1.dvi with your prefered viewer (maybe xdvi or something else) to get a first impression of your results. Maybe your are not satisfied (for sure you aren't), because it still looks very confusing. What did the above rules tell xindy? When you view the file ex1.ind which is the result xindy generates, you'll recognize some of the markup tags you specified. The following is an excerpt of this file:

\begin{theindex}
  academia\quad{}{\bf 1}acafetado\quad{}{\bf 2}acalmar\quad{}{\bf 4}
  açafrão\quad{}{\bf 3}indexflat\quad{}1hierarchical\quad{}2
  veryhierarchical\quad{}3impressive\quad{}4saber\quad{}{\bf 7}
  sabor\quad{}{\bf 8}sabão\quad{}{\bf 6}sábado\quad{}{\bf 5}
\end{theindex}

First of all you'll see that the file starts with the string \begin{theindex} and ends with \end{theindex}. Additionally some locations are correctly enclosed into a TeX macro that typesets them in shape boldface, whereas others aren't. The boldface ones are all those locations from the raw index that have the attribute definition.

The :open and :close keyword arguments each take a string as argument. The first one is written to the file when opening an enviroment, whereas the latter one closes an environment. What we have specified is the markup for the whole index (which is actually printed only once) and the markup for all locations of class page-numbers which own the attribute definition. Here we have cleanly separated the structured markup from the visual one, allowing an easy redefinition if we decide, for example, to markup the definition-locations in italics instead of boldface.

Some words on keyword arguments and switches. Keyword arguments such as :open or :close always take exactly one argument which must be positioned right after the keyword separated by a whitespace (a blank or a tab-stop). Switches don't take any arguments. For example, :tree in the command markup-index is a switch and thus it does not take an argument. We will use this terminology throughout the rest of this document.

The third command caused xindy to insert a horizontal space between the keyword and the locations (the TeX command \quad{} simply inserts a specific horizontal space). The last command caused xindy to separate all location references from each other with a comma followed by a blank, independently of any location class.

As you already may have observed, the tilde sign (~) serves as a quoting character.

We continue specifying markup to get a printable result by adding more markup:

(markup-indexentry :open "~n  \item "           :depth 0)
(markup-indexentry :open "~n    \subitem "      :depth 1)
(markup-indexentry :open "~n      \subsubitem " :depth 2)

This assigns different markup for the different hierarchy layers of the indexentries. Our index is hierarchically organized. It contains items which themselves contain more sub-items which also might contain sub-sub-items. Each layer is started by a different markup which is correctly assigned with the :depth keyword argument. The layers are numbered by their depth starting from zero.

Now run xindy and TeX again and enjoy your first index. It's easy, isn't it! The output ex1.ind looks like the following:

\begin{theindex}

 \item academia\quad{}{\bf 1}
 \item acafetado\quad{}{\bf 2}
 \item acalmar\quad{}{\bf 4}
 \item açafrão\quad{}{\bf 3}
 \item index
    \subitem flat\quad{}1
    \subitem hierarchical\quad{}2
    \subitem very
      \subsubitem hierarchical\quad{}3
      \subsubitem impressive\quad{}4
 \item saber\quad{}{\bf 7}
 \item sabor\quad{}{\bf 8}
 \item sabão\quad{}{\bf 6}
 \item sábado\quad{}{\bf 5}

\end{theindex}

Hmm, as you might have seen there are several problems that need further investigation. The index contains some Portuguese words that are printed correctly but should appear at other positions inside the index. For instance, the word sábado should appear before the word saber since á must be sorted as if it were simply an a. The reason why these words are not sorted correctly is simple---the accentuated letters have codes beyond position 128 in the ISO-Latin alphabet. Sorting based on these codes yields this incorrect order.

What to do? We can define for each of the words containing these special characters an explicit print key. The print key describes the printed representation of the keyword whereas the key or main key is used for sorting and merging. A very tedious task which is not a very clever solution since in a non-english language many many words contain these special cases. We follow the way xindy offers: keyword-mappings.

2.3 Keyword Mappings

What are keyword mappings for? A good question. I'll try to give some answers.

  • Merging of differently written words. Some text formatting systems allow different writings for the same word. For example, TeX can be used with ISO-Latin characters as well as with its own character sequences. If a document is composed from smaller ones possibly written by different authors using different forms of writing the index entries, the same terms may happen to be written differently and consequently we need a mechanism to identify them as equal.
  • Specifying the sort order. As outlined in the previous section it is really difficult and error-prone to specify the sort key for each keyword explicitly. Sometimes the sort order is even different for the type of the document, as it happens in German, where two different types of sortings exist, one for everyday indexes and one for dictionaries. The sort order actually defines the position of arbitrary language-specific letters inside of an index.

A detailed elaboration of these ideas can be found in the paper An International Version of MakeIndex by Joachim Schrod [3]. It describes the ideas that led to modifications on one of the ancestors of the xindy system: makeindex [4].

The keyword mappings are as follows. The merge key is generated from the main key with the so called merge mapping. The merge mapping can be specified with the command merge-rule. The sort key is derived from the merge key using the sort mapping specified with the sort-rule command. The following scheme shows this mapping process:

We will use this command now to define a suitable sort mapping that fits our needs:

(sort-rule "à" "a")
(sort-rule "á" "a")
(sort-rule "ã" "a")
(sort-rule "è" "e")
(sort-rule "é" "e")
(sort-rule "ç" "c")

These rules define mappings from a keyword to a normalized version. In the logfile ex1.xlg these transformations are logged so that one can see how these mappings are performed. In this example we do not need any merge-rule but we will see applications in further examples.

Running xindy and TeXing the result now places the indexentries at the right positions.

In reality, such sort rules tend to be much more complex, due to the idiosynchrasies of sorting natural languages. Sort rules for many languages are available as part of the xindy distribution, as so-called language modules. We specify the language with the option -L, e.g., in our example we could have used

eg$ xindy -t ex1.xlg -M style1 -L portuguese -I xindy ex1.raw

If we use one of the available language modules, sort rules in user-written xindy styles are ignored.

The result is now quite satisfying if the index entries weren't clumped together that much. We usually want the different index entries beginning with the same letter be optically separated from the ofhers. This improves readability and there must be a way to accomplish this---the letter groups.

2.4 Letter Groups

To group indexentries we must define what indexentries form a group. The clustering is done by matching the keywords' prefixes (taken from the sort key) with a user-defined table of prefixes and define appropriate markup that separates the groups from each other. Here it goes.

(define-letter-groups
  ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"
   "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"))

(markup-letter-group-list :sep "~n\indexspace")

This defines the given list of letter groups. When forming the letter groups, each letter group is checked if it matches a prefix of the indexentries' sort key. The longest match assigns the index entry to this letter group. If no match was possible the index entry is put into group default.

The result now looks much better than before. You have now learned the basic features that you need to specify everyday indexes. In the next chapter we'll continue to make you an expert in indexing.


Next Previous Contents xindy-2.5.1.20160104/doc/style-tutorial-3.html000066400000000000000000000220551264235421100203460ustar00rootroot00000000000000 XINDY Style File Tutorial: Advanced Features Next Previous Contents

3. Advanced Features

In the following sections you'll learn more about the features of xindy. We'll show you how you can define your own location classes, specify the letter groups in more detail and bring you close to more specfic markup features. After reading this chapter you should be able to master about 95% of the commonly used indexes.

3.1 Location Classes

We continue using a more complex index. Copy the current style to a new file (now style2.xdy) and run xindy on the raw index ex2.raw by typing:

eg$ cp style1.xdy style2.xdy
eg$ xindy -t ex2.xlg -M style2 -I xindy ex2.raw

You should see some error messages indicating that something is unknown to xindy. What has happend? The messages should be similar to the following snapshot:

 ...
WARNING:
location-reference "B-5" did not match any location-class! (ignored)
WARNING:
location-reference "C-8" did not match any location-class! (ignored)
WARNING:
location-reference "iv" did not match any location-class! (ignored)
WARNING:
location-reference "ii" did not match any location-class! (ignored)
 ...

The index contains new, and therefore unknown, location classes. The first one has an appendix-like style, whereas the second one seems to be lowercase roman numerals. xindy reported, that it doesn't know these locations and therefore knows nothing about their internal structure. We make them known to the system by adding the following commands to the style file.

(define-location-class "roman-pages" ("roman-numerals-lowercase"))
(define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers"))
(define-location-class-order ("roman-pages" "appendices"))

The first command tells xindy that there exist some page numbers that are written with roman lowercase letters. The second one defines the structure of the appendix locations. They consist of three elements, a capital letter, a separator---which is a hyphen in our case---and finally an arabic number. To be able to correctly distinguish separator strings from the names of the known basetypes, the argument :sep indicates, that the following is a separator. The last command simply says that the locations which are roman numerals shall appear before the appendix locations. So far we know three different basetypes. The built-in basetypes of xindy are:

arabic-numbers

contains all non-negative numbers beginning with zero: 0, 1, 2, ....

roman-numerals-uppercase, roman-numerals-lowercase

the roman numerals I, II, III, (IIII/IV), V, ... It contains the old and new roman numeral system. Two versions for uppercase and lowercase letters are supported.

ALPHA, alpha

The US-ASCII alphabet letters (uppercase and lowercase letters).

digits

the digits 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9 in this order.

`Fine,', you'll say, `but what if my basetypes are completely different?' You're right! But xindy offers you to define your own alphabets. For example, you can define a new alphabet by writing

(define-alphabet "my-personal-alphabet" ("Hi" "ho" "here" "I" "go"))

This is a valid alphabet that consists of 5 letters. You can now define a location class

(define-location-class "my-personal-class"
    ("my-personal-alphabet" :sep "-" "arabic-numbers"))

to match all of the following locations: Hi-12, ho-2, here-709, I-9, go-42. xindy will recognize them and be able to sort them according to your specification which says that Hi comes before all others and here is exactly at the third position. So they will be sorted lexicographically, layer by layer, until it can decide which one is before or after the other. We have prepared a concrete example. Do you remember the example we gave when we spoke about indexing bible verses? This exactly matches the situation of such a self-defined alphabet which could look like the following definitions:

(define-alphabet "bible-chapters"
    ("Genesis" "Exodus" "Leviticus" "Numbers" "Deuteronomy"
     ... ))
(define-location-class "bible-verses"
    ("bible-chapters" :sep " " "arabic-numbers" :sep "," "arabic-numbers"))

This description would match locations like Genesis 1,3, Exodus 7,8, etc.

Now run LaTeX on ex2.tex and view the results. It looks a little bit strange since xindy has automatically built ranges of successive locations. The first locations of the index entry roman actually denote the range ii until iv. Ranges consist of location references. To typeset them correctly you can specify

(markup-range :sep "--")

This indicates that location reference forming a range shall be separated by a hyphen. Running xindy and LaTeX again gives a better idea of how it should look like. Here is a part of the generated output.

  ...
 \item appendices\quad{}A-1, A-7, A-11, B-3--B-5, C-1, C-8, C-12,
         C-13, C-22, D-2, D-3, D-5, D-10
  ...

3.2 Hierarchical Location Classes

Somehow a lot of space is wasted when looking at the first index entry. Modify the definition of the location class for appendices as follows and add the other commands as well:

(define-location-class "appendices"
                       ("ALPHA" :sep "-" "arabic-numbers")
                       :hierdepth 2)
(markup-locref-list            :sep "; " :depth 0 :class "appendices")
(markup-locref-list :open "~~" :sep ", " :depth 1 :class "appendices")

Note: Since the tilde character serves as our quoting character it must be quoted itself in the above example. Run xindy and view the output stored in ex2.ind. The output looks similar to the following:

  ...
 \item appendices\quad{}A~1, 7, 11; B~3--5; C~1, 8, 12, 13, 22;
        D~2, 3, 5, 10
  ...

You can see that the location references of this class have been transformed into a hierarchical structure caused by the :hierdepth argument. Additionally we have specified markup for the layers of this class separately for the depths 0 and 1. The locations at depth 0 are separated by a `;' whereas the ones at depth 1 are separated by a `,'.

Maybe you get an impression why we named xindy a flexible system.

3.3 More about Letter Groups

More problems arise when using languages with different letter schemes. Hungarian is an example. In Hungarian indexes the words beginning with the letters Cs, Ly, Ny and more are printed in a separate block. The words beginning with Ly, for example, appear behind the words beginning with an L. xindy allows to define this kind of letter groups as well. Add the following lines to the style file.

(define-letter-group "ly" :after "l" :before "m")
(define-letter-group "ny" :after "n" :before "o")

(markup-letter-group :open-head "~n {\bf " :close-head "}"
                     :capitalize)

The result looks like the following:

 ...
 {\bf Ly}
 \item lyuk\quad{}1
 \item lyukas\quad{}2

 \indexspace

 {\bf M}
 \item maga\quad{}1
 \item magyar\quad{}2

 \indexspace

 {\bf N}
 \item nagy\quad{}1
 \item nagyon\quad{}9
 \item nègy\quad{}4

 \indexspace

 {\bf Ny}
 \item nyelv\quad{}1
 \item nyolc\quad{}8
  ...

The result describes what the purpose of the above commands is. It becomes prettier from step to step, doesn't it?

You have now learned most of the features of xindy. Go playing around a little bit. For a detailed description of all commands and all their arguments and switches you should reference the manual that comes with this distribution.


Next Previous Contents xindy-2.5.1.20160104/doc/style-tutorial-4.html000066400000000000000000000023071264235421100203450ustar00rootroot00000000000000 XINDY Style File Tutorial: References Next Previous Contents

4. References

The following books and papers were referenced in this document.

  1. D. E. Knuth, The TeXbook, Addison-Wesley, 1984
  2. Leslie Lamport, LaTeX A Document Preparation System, Addison-Wesley, 1986
  3. Joachim Schrod, An International Version of MakeIndex, Cahiers GUTenberg, 10, p81-90, 1991
  4. Pehong Chen and Michael A. Harrison, Automating Index Preparation, TR-87/347, University of California Berkeley, 1987
  5. Roger Kehr, xindy, Ein Flexibles Indexierungssystem, Studienarbeit FB Informatik, TH-Darmstadt, November 1995.


Next Previous Contents xindy-2.5.1.20160104/doc/style-tutorial.html000066400000000000000000000042111264235421100202000ustar00rootroot00000000000000 XINDY Style File Tutorial Next Previous Contents

XINDY Style File Tutorial

A Flexible Indexing System

Roger Kehr

Computer Science Department, Technical University of Darmstadt

and

Joachim Schrod

Joachim Schrod Net & Publication Consultance GmbH

Tutorial, Edition March 1997 for xindy version 1.1


This is a tutorial on writing style files for the xindy indexing system [5]. xindy is a general purpose index processor that can be configured for a variety of document preparation systems. We will demonstrate step by step the incremental specification of a complete index style. The examples are based on indexes that are delivered with the system so one can get acquainted with it practically.

Caution: This tutorial does not describe the complete style file language. In particular, description of rule sets, the multi-run approach, and standard modules are missing.


1. About xindy

2. A Basic Introduction

3. Advanced Features

4. References


Next Previous Contents xindy-2.5.1.20160104/doc/style-tutorial/000077500000000000000000000000001264235421100173145ustar00rootroot00000000000000xindy-2.5.1.20160104/doc/style-tutorial/Makefile.am000066400000000000000000000021631264235421100213520ustar00rootroot00000000000000## Makefile.am fragment for doc/style-tutorial/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. tutorialdir = $(docdir)/style-tutorial nobase_doc_DATA += \ style-tutorial/ex1.raw \ style-tutorial/ex1.tex \ style-tutorial/ex2.raw \ style-tutorial/ex2.tex \ style-tutorial/index.tex \ style-tutorial/style1.xdy \ style-tutorial/style2.xdy xindy-2.5.1.20160104/doc/style-tutorial/ex1.raw000066400000000000000000000020001264235421100205140ustar00rootroot00000000000000;; Example raw-index file. (indexentry :key ("sábado") :locref "5" :attr "definition") (indexentry :key ("sabão") :locref "6" :attr "definition") (indexentry :key ("saber") :locref "7" :attr "definition") (indexentry :key ("sabor") :locref "8" :attr "definition") (indexentry :key ("academia") :locref "1" :attr "definition") (indexentry :key ("acafetado") :locref "2" :attr "definition") (indexentry :key ("açafrão") :locref "3" :attr "definition") (indexentry :key ("acalmar") :locref "4" :attr "definition") (indexentry :key ("index" "flat") :locref "1" :attr "usage") (indexentry :key ("index" "hierarchical") :locref "2" :attr "usage") (indexentry :key ("index" "very" "hierarchical") :locref "3" :attr "usage") (indexentry :key ("index" "very" "impressive") :locref "4" :attr "usage") ;(indexentry :key ("arts" "classic") :locref "10" :attr "usage") ;(indexentry :key ("arts" "contemporary") :locref "11" :attr "usage") ;(indexentry :key ("arts" "modern") :locref "12" :attr "usage") xindy-2.5.1.20160104/doc/style-tutorial/ex1.tex000066400000000000000000000003001264235421100205240ustar00rootroot00000000000000%% %% An sample file for typesetting an index. %% \documentclass[12pt]{article} \usepackage[latin1]{inputenc} \usepackage{makeidx} \makeindex \begin{document} \printindex \end{document} xindy-2.5.1.20160104/doc/style-tutorial/ex2.raw000066400000000000000000000033721264235421100205320ustar00rootroot00000000000000;; Example raw-index file. (indexentry :key ("appendices") :locref "A-1" :attr "usage") (indexentry :key ("appendices") :locref "A-7" :attr "usage") (indexentry :key ("appendices") :locref "A-11" :attr "usage") (indexentry :key ("appendices") :locref "B-3" :attr "usage") (indexentry :key ("appendices") :locref "B-4" :attr "usage") (indexentry :key ("appendices") :locref "B-5" :attr "usage") (indexentry :key ("appendices") :locref "C-8" :attr "usage") (indexentry :key ("appendices") :locref "C-12" :attr "usage") (indexentry :key ("appendices") :locref "C-13" :attr "usage") (indexentry :key ("appendices") :locref "C-22" :attr "usage") (indexentry :key ("appendices") :locref "C-1" :attr "usage") (indexentry :key ("appendices") :locref "D-2" :attr "usage") (indexentry :key ("appendices") :locref "D-3" :attr "usage") (indexentry :key ("appendices") :locref "D-5" :attr "usage") (indexentry :key ("appendices") :locref "D-10" :attr "usage") (indexentry :key ("roman") :locref "iv" :attr "usage") (indexentry :key ("roman") :locref "ii" :attr "usage") (indexentry :key ("roman") :locref "iii" :attr "usage") (indexentry :key ("roman") :locref "ix" :attr "usage") (indexentry :key ("roman") :locref "x" :attr "usage") (indexentry :key ("roman") :locref "mcmxcvi" :attr "usage") (indexentry :key ("lyuk") :locref "1" :attr "usage") (indexentry :key ("lyukas") :locref "2" :attr "usage") (indexentry :key ("maga") :locref "1" :attr "usage") (indexentry :key ("magyar") :locref "2" :attr "usage") (indexentry :key ("nagy") :locref "1" :attr "usage") (indexentry :key ("nagyon") :locref "9" :attr "usage") (indexentry :key ("negy") :locref "4" :attr "usage") (indexentry :key ("nyolc") :locref "8" :attr "usage") (indexentry :key ("nyelv") :locref "1" :attr "usage") xindy-2.5.1.20160104/doc/style-tutorial/ex2.tex000066400000000000000000000003001264235421100205250ustar00rootroot00000000000000%% %% An sample file for typesetting an index. %% \documentclass[12pt]{article} \usepackage[latin1]{inputenc} \usepackage{makeidx} \makeindex \begin{document} \printindex \end{document} xindy-2.5.1.20160104/doc/style-tutorial/index.tex000066400000000000000000000003001264235421100211360ustar00rootroot00000000000000%% %% An sample file for typesetting an index. %% \documentclass[12pt]{article} \usepackage[latin1]{inputenc} \usepackage{makeidx} \makeindex \begin{document} \printindex \end{document} xindy-2.5.1.20160104/doc/style-tutorial/style1.xdy000066400000000000000000000022751264235421100212710ustar00rootroot00000000000000;; This is a first example using `xindy'. (mapc #'(lambda (x) (pushnew x *features*)) '(:STEP1 :STEP2 :STEP3 :STEP4 :STEP5)) #+:STEP1 (progn (define-location-class "page-numbers" ("arabic-numbers")) (define-attributes (("definition" "usage"))) ) #+:STEP2 (progn (markup-index :open "~n\begin{theindex}~n" :close "~n~n\end{theindex}~n" :tree) (markup-locref :class "page-numbers" :attr "definition" :open "{\bf " :close "}") (markup-locref-list :sep ", ") (markup-locclass-list :open "\quad{}") ) #+:STEP3 (progn (markup-indexentry :open "~n \item " :depth 0) (markup-indexentry :open "~n \subitem " :depth 1) (markup-indexentry :open "~n \subsubitem " :depth 2) (markup-range :class "page-numbers" :sep "--") ) #+:STEP4 (progn (sort-rule "à" "a") (sort-rule "á" "a") (sort-rule "ã" "a") (sort-rule "è" "e") (sort-rule "é" "e") (sort-rule "ç" "c") (sort-rule "\\texttt{\(.*\)}" "\1" :again :bregexp) ) #+:STEP5 (progn (define-letter-groups ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z")) (markup-letter-group-list :sep "~n~n \indexspace~n") ) xindy-2.5.1.20160104/doc/style-tutorial/style2.xdy000066400000000000000000000035251264235421100212710ustar00rootroot00000000000000;; This is another example using `xindy'. (mapc #'(lambda (x) (pushnew x *features*)) '(:STEP1 :STEP2 :STEP3 :STEP4 :STEP5 :STEP6 :STEP7 :STEP8 :STEP9 :STEP10)) #+:STEP1 (progn (define-location-class "page-numbers" ("arabic-numbers")) (define-attributes (("definition" "usage"))) ) #+:STEP2 (progn (markup-index :open "~n\begin{theindex}~n" :close "~n~n\end{theindex}~n" :tree) (markup-locref :class "page-numbers" :attr "definition" :open "{\bf " :close "}") (markup-locref-list :sep ", ") (markup-locclass-list :open "\quad{}") ) #+:STEP3 (progn (markup-indexentry :open "~n \item " :depth 0) (markup-indexentry :open "~n \subitem " :depth 1) (markup-indexentry :open "~n \subsubitem " :depth 2) ) #+:STEP4 (progn (sort-rule "à" "a") (sort-rule "á" "a") (sort-rule "ã" "a") (sort-rule "è" "e") (sort-rule "é" "e") (sort-rule "ç" "c") (sort-rule "\\texttt{(.*)}" "\1" :again :bregexp) ) #+:STEP5 (progn (define-letter-groups ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z")) (markup-letter-group-list :sep "~n~n \indexspace~n") ) #+:STEP6 (progn (define-location-class "roman-pages" ("roman-numbers-lowercase")) #-:STEP8 (define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers")) ) #+:STEP7 (markup-range :sep "--") #+:STEP8 (progn (define-location-class "appendices" ("ALPHA" :sep "-" "arabic-numbers") :hierdepth 2) (markup-locref-list :sep "; " :depth 0 :class "appendices") (markup-locref-list :open "~~" :sep ", " :depth 1 :class "appendices") ) #+:STEP9 (progn (define-letter-group "ly" :after "l" :before "m") (define-letter-group "ny" :after "n" :before "o") (markup-letter-group :open-head "~n {\bf " :close-head "}" :capitalize) ) xindy-2.5.1.20160104/doc/tex2xindy.pdf000066400000000000000000000143251264235421100167510ustar00rootroot00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœÍYÛrÛ8}÷Wàmä*C\x›öаh6¼äy¡°Ç“¯$!ÛJm«2Uu]V¤\‘æNµvÃuø÷âN}}dQ{áÉö7Ÿ›OíFÆ÷&œ‡Tr0) ‘^zõþìüâj~e–2¯5]¯ÑfƒÁÖÎ_˿ɇ¤iªÿ¬²\ýýtûÁÖ¯O®Ž/ç‹ùùY¿—Ÿl>ôœ””AXÍuÀgURÔ«²ÚÔà©Ódqzƃê¯'î‰c*­s{çÀ‰g½–«Ñuc²Eš-F‘ :ßÞL @I1Ú0ûv²{ùíÇ\ ³¢)I2tŠ4`…Ïøv±«ô»í…Cx¯·ý>{è£þ &)âèû^¢:)DÀ)`¼ ,üÏt–Í’aHóFUÙ¤!•J–5YUå¦õ³ÌcA™½ëf™iúTâf©{QIc/´æ%n²Iß>@+BmE®À¡:a²b»k,$B¨ÀËL0*C{-õ×Oöà°õ†7êª%æ·> ÂÐ<”·'&÷Äq3€GñÐÓîî/ø: ³F¹—™’Œ*:%÷Ys7BÙ‘€ÜÙ¥ÏÍ ÂÿAM5B 0a|Í;“&Y×”@ÀÊ]NªIYŒº9‡‚•O[DÐ OÀ‡òÿ ½ßp¤4 ß.}ч½ ižìjU÷ ønB` uBâ.·Mfýk=äGf»¯åð$@¶…Ńân[EÙz«ÒìQ-§Ã CF}[Öy‰H*¤°’H#Q< “¥jÜt9ÅK;)Öˆ>öIŸLç¡M4å¸-kÁ Ø<{ôzáwÑ+hØaí z¹ãW@í ˆE'ú"þb%ø!ì<½UUÒd³1]É áÛCÏ7Ú? ’,ò˜…SÀLZ'dS.Õð Ò(º8ìmzdÍ E~!‹;5.øLÀQòe\ÛGÓ1…K¨ƒ~—:.Ú8*a—8Ó>Ä“^ð5ŽíÂ]¬¾Ä~-@ʰN—ÍäºÈRpIï’*VµæR¢?Ü– bjƒSý3˜&ÆÀ¨01R¾f‘Z2o’Ü‚R@˜4™á[pÃìèüE9÷FÖ·nÍ÷ƒ„çÙwèÂMÖkªA ·û²ŒHlBãʵëÅ›¯Ñ1õ¬r˜¨|–k“‚Üóã} ~¦^’“¤:dÑd½Û@´ƒäƒÂå]F1þ˜¡=(å/'ä° þˆŸÜW¦c’çFy;¤*×°ŸÆ:Jv8Ó0S{â88¸GbÛ(5Uv{ÈQéÇÑdgHtsszDqjüâöBb•ô oæÇóÅÕÈ?]ÂIsÞ÷…l]%r }‰ P'Þ¹Q©³"…¢ÔÀS<šùPªýöZ¸‘o6JLÙVIå{È“ºÎnA£‚é¦õc2˜<4˜Q:æÛ¤ªA=£d6È—d“|2= ð.°œ­ßJ»Pùrò`2Gšä¸rÔûºQŠÌU)ÄÚìe©Œi@vAUUeUÕ³©°#²åu§5­‹Ñá[“bפ!vxÀ틦ÿÒÝànyÄc¨ãQ0(L‘³å23‰…‹  ÿA»‘RZ•Y_á»Òhõ]Þ´Wk³n\®FŒ%ìŸ^ÐÜTöŠ”`Xõ䨛Iº¢Üb—ä†  ‘åaØ£QÄf~±MÖê©•|l¥dµR²±âÒƒJ-[}ñŒµu“T ÐVÎ-Žªžv¿p Ëž¼w~ù—¬°£’f­˜Ö}öÃÛ‘oßWŠÜª\K ®[+[ÌîÛ!äÌ$¹ƒ÷Í®nà5,UÅZ-µŠÕö¶ùlŸW*-7Û,WKMÅj§@a7Raa2²ÉÒ]žTd“Aö¢TÒì0‹j¨~ÅãzWuêù¼+Õ ™ vÊæb¾‡Ó“¼.uvýt€ÆŸL¹0ÚKÕi²…–¥ÞÝÁnÀù9.ëë"°kܩƗëâÍ¡®Â*N²uL d¦E+ÔCàüÈf ­BÒ•F¿Y¡!©òl“éš_+°Ø .ê“GÏ«J µ)h,(v^]êbÝå† çY2å|¶L[œm’êÓnk4zøfbÜ·«^׊K³Ã"…#>´&}µº9 ,(w@³·ú´¬¶%ŠÌ¥­/jX%Ç©¢7ìl10£±EõÛ}r#$úÞ=ÃŒÎ*T>5~5]eÂTÌ×I[9tV®öCðo›Á\ÝìaÔD£ñG51pÇ}''dvzu>&–® ê%oÇkæ¶C.PÀûœÔ\2í§Á7GYPÕF|ôÍ=þ!#·ñòeôt´ËP,v\4»vN<VÄ-~?¿|2à E zß]–k ý?q„…D¬î*w6 Ý8ïÚ“ÉÔmP…£`‹ºÉdí`3 $(ßMV§À,ó ·²OÓ…›z¶ƒ]\Ú3IeÜ ¨^'Õx}Ù<3µÁ„£K'Ççï/ç¿ý¾ ³³×ät~|rv5r»Ð9.·:Õ;û*[ß5Xò Ô€È ¦ð#$‡üÎ9íT'¤ô¸Áp¬îÍ=/ ”Iz—mÈUzW•ËVQ°€Ñ¡ ÀqüS±—áÀÊN]®#ü<.±3Eö厤Iuc™ÕZ"îb£ E)¤õsYa{‰é‰ÚÀYé2ä¹©Û Ñ46­gHãî[ˆßÎFã –.ícU@lô‚ô ûúÒ­``îs±»Í³”œf©*j…"n‹ŸÔwÀj·F&½Á+^uWÔt íM÷uD ¦kbyET¦õ‹Qjq´Jp[ðÚƒ¦îÌÝ £L4 o™FEFUÌÂTYÿ}>öèÆœZÙ‡*g£R#<þ|PŸ ÙÒŠÝ»r«Ú©èù Ä0Е«ò­IÚ@€8³…§†ÆíÄÇxdIÝ÷MWón,qéòž¼Ã°n÷±œ]^ÎÎï[mäÛ}á&ê«{w² ‹­ã 6íh¿¯Òž`@ò»âqÄ©éF&ê Qæ8½W?"™Ûøú±3 ¾Z¨ 7Û<ßµÉ!c@È„fu€l=R6oO.‡ ji†“Ù¯óÓ9ÜHÙPød?É´Ã5ëhÐfqo–ÏŒ@~3_œ\]‘7cNèí^³ÖK©ÖÕfS‹‡ÊŬ«-ƒ~˜w¹paÜ1Ÿx~|}:»$×—ç†ÑÙþ0¶€ƒÐNx'ôÊõzd»ytz5ÕËÖd1Î9ú¯ÎžÒ˜K·‰¶ÜAFô°ÒŒU¡Êk’,o'ƒÌ(š#»O_Þ—í|*î¦*ÄÚÕî]Bgú&bmƒ‘ZwÉ` €Wºa‡ÌK¿€@w‹¯3OP©Ê†ŸFv òE¹ö ñ2IݯjaRn‡ouEf_Â@>ÁdÕXRKÑ¿Q?u…`*ú¹Ûs”.¢~³o…'ÉKÄzÔÖ8”öŠd+lß§z aD#‹$ ¸MÚŒŠußö‰/0þ”EJ§$}ò6?Nå¸Y(GÞ~fŽ6=vÁàñds[e˵ÊÉõ0³]óv6Ò-à0²þö8ñðuáÙñÛÕøÕnh‘m -‚OwùlzÅ¿•›ß~÷º®w°HêËBݵ$Î=PI¦iãóŽ<ÿa\v²8øüùý’lendstream endobj 6 0 obj 3180 endobj 4 0 obj <> /Contents 5 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R ] /Count 1 /Rotate 0>> endobj 1 0 obj <> endobj 7 0 obj <>endobj 12 0 obj <> endobj 13 0 obj <> endobj 8 0 obj <> endobj 14 0 obj <> endobj 11 0 obj <> endobj 15 0 obj <> endobj 10 0 obj <> endobj 16 0 obj <> endobj 9 0 obj <> endobj 17 0 obj <> endobj 18 0 obj <>stream groff version 1.18.1 Untitled endstream endobj 2 0 obj <>endobj xref 0 19 0000000000 65535 f 0000003513 00000 n 0000005670 00000 n 0000003445 00000 n 0000003285 00000 n 0000000015 00000 n 0000003265 00000 n 0000003578 00000 n 0000003710 00000 n 0000004164 00000 n 0000004012 00000 n 0000003872 00000 n 0000003619 00000 n 0000003649 00000 n 0000003792 00000 n 0000003956 00000 n 0000004091 00000 n 0000004245 00000 n 0000004304 00000 n trailer << /Size 19 /Root 1 0 R /Info 2 0 R /ID [] >> startxref 5824 %%EOF xindy-2.5.1.20160104/doc/texindy.pdf000066400000000000000000000422241264235421100164760ustar00rootroot00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥XÛnÛÊ}×WÌ[¨Âšp†÷¼§9iáÂŽOc58…ZQlHQ&)Ûú‡öSô]{.”¨ã A "9·}[{í=~d>̧?û\Ô“·ŸVtŸ“ljГÌ>5ûó R˜¯&f`‰dI²y=ñz5ÿk’p?Î2‰Éùr"’”Çlþ<ñ^ÊÍrï‰û)ӯ̬eÌÃÌ,>YCS3ŸK‘±ùR3HåYD‚gað(f³ Ö›>ýB‹}Z'"e=ìú#–>ý„Í„¤iŸ”º#•±É÷“Àg¶hUÞ+Ö5m¯–,ß,YŸ^1¯¦_ç›Hi1ϧúꨅÏÓÀv¢mjÖæ4i·Á`yœ~¾:Õþ¸ïÎËçÓÄ÷ÔïF®9œšx/Zƒ±Cdˆpˆˆyª½ýç§›ßn/o„o=Jg=ì6æÞ¾¼_Åãñ‰~Ë¢jé¹du^” zmX³ëWe¥86Ð@Ϫ¦øÊîïuøÒáȻëòMAk>°E³TÛ¼PôuÍêf¹«è½\¾ø ?‚qοý2«Þ,‰Ž6ÜyýôÙm¿¯»j6»Ùöe³éØj*mÀš–Ý®%7õκf°WÑö_Ø[v8<©¶ÃR’KW˜xOk=»VÕvúcúóqWª^?¹ÍM§ôH©Gº~Ynôw¡¿ ÕÖ¹¨ô@¥ú^µ‡¦]ª¶Üz¦Õ3›æÐÂYªÃØüOw\NÃKõ°+¦³Ø÷}ïÞ«wU_nᾬU‡¬ =„„–",Š‹>´7âšâ8te† d‡8è¡zÈ…ÆI¾Ö£&DÓY~_´^~©——›-ä×yûm·ÎDª7u»íV§Í; »`/ʾ4µ*r{ÌY:ËäþúñöÃçËßæ—7ŸÆàâs쎳;ˆxœØdåc¬ ðxsŠŽüî²E÷‘ <ø ŽZÚ&_¬)µæD¬Žh”ÙšªeÁh×ã8kEÀå. 5*‰FL€J2k‰í§Gˆ~”´$öåOm}î:t—=Ó¹ëvzmdu§Ÿš {—9¹ÖmѨç4úG‹¥?²Ö\KF²Ãð'Í}<ÓYf£p{¿6›7§WUá#ôÍ)ûËt¸Ã;Á`X±s¦¢Û¸13Íä©Ú 6ÌAzù<GÕ]·þ7`?ýØ7§ÀÖŒ£Å½bÆbîlã"tŒ‘²¦º²âN}ÆÇç ,ñ›Î+Ý­?3KËHD©¡_ë ˜1º7H½]1˜O¥EÊ@–Õùžú4s_B›9¾&òóê„ÎýÓòd4ÌÒ×<fÈb»–Ô3áR¡ØÖå†zêuÞ»J’ËìH„&ÙÞé9úçP–‚“‡þô”#¸À5÷5À¡Gl{Z$-:7½N‚wf~4#hÙÇùäïøû/ 9Åendstream endobj 6 0 obj 2027 endobj 15 0 obj <> stream xœ­YÛŽÛÈ} ôýf zÙ$›yðz7Ø œl2Ö<Ù%QÆ©%©Ï/ΧÌ?æTßxÍØÉÆ•ÕöáÆ7s¦~ezuÄ<ÊôâÁzô͵ðÍaË0\ÆlÆ´PFjËc¾/7¬)Žyó‘^[½y¿áÏüÕ,JÕæí¦)O+«®hªü€"Š´¾Zpjê}S´-;âŸ|_´¬Þ±mSÞ Ó/·dÔ’^[’iÛ™öÄÇ¢8ýÒO»ò€—¶uõ»N[·ß–í&o¶pÓñT7yóÀÔz½%–š-µä‚ó‰ÕçîtÖ»…Áp7ó¼kòM±`yËŠO§C^VÅ749æÕUàm{@ 68wÅá;Ô{µ½ùB=]°Š•->¾ñ¶Å.?º›ù‚‰ ¬nXh¼ác瘧*à°ø‘.f.LÀã€K}ÀK>c‡ó¬þ4€að8ô…Ð7z›Ì<”±Iò0ýí+e“´>ªŸs_õÈ`•Ìy8²3o EN§ÿ É’(Ëž/º2ài0äu·yÇê3Ûäà†êßç¢Úì¾ìn'EZÀÊÔÚøø¸-Ö牣Ȩn¦oãå>¢(£ëº-ÆH››|*‚Hyz„â¼ÚŸq·PŒã…Aú•åäí4þO¡|žÝ{™‚‰éŠ=3FнÕm1¨!2R´öqŒh#Ò´ÑŽh#–aæ¼Ú¡¢ç›MÝlËjO8¥h7烖'ϸDÄ‚ÇÉÔrgɇɀE'8–é^š¼ õá„D§ÞjÅ‘[ÍQoÏ:‘APy˜ŒÁ·iŠœ®´~˜˜…g€¾ù8Ïx–F"ôŠ¥:r*"öøRøY¦¨T8/ÕVG™–:W;Ô?M³Údò$ˆ´=›ò3Œ¹+ó)x£ŒqäÀK÷<9?§=ò Œ­.ÃyºôBÕ®n6êžæ`-ØG±Î›e€’ÈxÂö*UmŒ•ÉEÞln±/¥+ö:ä]YѦÚšJ}MjpS–J¢»]ꮼ 8©¦¢™KùåÂ1¾÷¥”Ãî“*ƒ4¿2ãÞLq+y$\Æ=Ùz™d\¦}ÂQž†ÅîÞ œÀ+‹õvT×-ÂÊÝ<ˆ¼v™¶ewΩþ¶J¼œõ ”PKA–gíµeì²ßøëƒ'ø¦Iß»ÄA™º9•CnD‹O㛆CoØ)ÏbÓðz°"šm]´Õ«afB:÷º§;ö¯´c®î¤Ó§hx®‡K‘@OŽæ½«ÃÃ(´ð£¤âùІ©‰0ÚÍÖ%:Ýß±š¶Ÿå‡Óm¾.:áö|:©ºü{xCÒ Žm ølu}¬V&£J™S)¯‘žøZÄØŠÍÑ_«ŸÁB±ú=tµ/ÓB;åâìÂΕîZºB’2iï½ïïTª!Uœ÷¡”ýȸ„݃M”XTðÙ=Lêd ý¹q•›‰) üPô‡úî*;tiA¡B)ÐÄ·½ïK Äð±ªQS³}_qö-±ÇNÙðjçòL¦ƒ~>‘ú ÊSKÄ…z‚y¯q0%Ò Õìö¶>íßÌÙûBdžÂBp8çýÿMg«ýr›k,1†…®}½+Ø_šG–‘òA]‚ê] oàñ¤> …„!ÿм8¨AÁÿTƒ>ªÐ×ËûúXìóI óGÒLH/U©aM¥‚Pî+äÒj¢:Ü‘¬<µØY‹Í¬ããZúÈøÿÿU5|®ºbíóðBŒ¡±GÁ½\G$% —Ä?­þø8½mÆý$&y±]ŒK„A/¦¾@fFDåài+—Ñ4d( {?oÐ]6Ãçoö(ÿ‚2üóT¢ßîß½´û€e–ö4 t7ö¶Îõ(jÚ¢ ÷÷géf:f K{ü BùƒLZ¨H02j¡hü`©€¬‰§ƒ¹cþ@ çú#Ê\yBWЕG­ cmëj‰Th¥½¥¶Ì4ÎõJæÛÛêOÙ)G¿ ŠuýkÅ´ÕÞ6ZÌCê¸däÝ•M]©!Þ¾uŠ>5³¹ž7%ˆsšœK»ÈÒÛû«¿|÷÷_Þ}ÿúúÍ}½úa­,²Ãp¡X¢Gšb½GMc“ ¥ƒŒ¯Ìœ|Œï¯G]Má@ó9¸]Ø|)|RB}ÅI¥ª8Þ»¡Ì2¶·ê$˜L“ˆPBm£9AªÖçf–0DzÓc׸PãÖÏìHQÄ™V6õ²LzÐàôí tÇZ £ié#ªa?#Ÿš­¤†?œLeIh¾7Ú45Ø`ó‘& €äwÊSÐq™ì»¹$Ð×¼+·ìO¸4“‚T4c¸éµ½DêK£•NÛÓµt™÷œýüó#ª‹êÍèÌzô`¤›9Ùú:ÖÝHÒðÃb³ŸZc¾ímbó¢xÿj. u·Ó$}%0Jí'ƒ†²5r²ÖzkP°¡_ïѾ-X©ºAûµBꛜF˘]ÈiµÂX‹ÅêŠ<#9ž•õ-ñ¨®£›x¡¹ô­OÁÇ<ö{ñsYôÁqYèº#3ÓšþPªoh“„KáÒzJxBþOé¼L“¹ÍEÞXS>Lפ™æÁ B`}ž~…@j5¿XÙKHg×ùÈ(Á0—¢§–ãè±g‚Çd®E»$ßPºœ|Ó 9ò3ÄNLºDÓyÄzJ)v›k¾ié;¼ñp±£yØ+ó]¢†bJód›m…"¡úM¯Μї$™Kª`ùÁŠ]W{¡®¨æ¸ì. CýmKú,JëE¼ˆ¬]~<‹,Aäòâ-¦/SÝaáSâ^°õ<0#5ƒ*öã±°ýœÉeA5ÑÚ¡ïä:@å8²/03*t?“þ‚%Þ€ó¶ŸÇ{©gÕ¬!xp蘌{^¸.}C‹s_R%6á£8­{DméK(*вïW³¿áïS\pendstream endobj 16 0 obj 3141 endobj 20 0 obj <> stream xœ…XÛnã8}÷WðmäËÔ}f±@6 dº{70ƒdh‰±µ‘%.qg¾¡Åÿ¸U¼H²ìžF?¸²ŠU‡U§õ'q)#.þ3¿évvù‘u3sÉzö猩Eb~Ò-ù÷6Äø‡åËLÛ0q%>YngN+çËÿÍ"ê†IÂaq™ÍXÓ,÷3çk^fïÏ{žõ_¢wû<¤~¢7öàÒ‹"„dá…Êy¬\]=^ßÝ‘t#j‘¶²n(îÆÈ Œ¢$dÆåýÝõƒ]ÖsŸÆžk×e™VY^®IÞ²jI×ÈŒ´Y^QfÚ’¹6gχ€bcÚµ/ñÄuL=[×àQ–/U¢ÇЬ$ú%pœÜ‰µ$°¢²äa@ÎÉ‚q4sUŠMU·Ä€IÕµ»®%Õ )d 9“u]u;²‘ƒ·$M eÀ±ÆèóÉyüòù󧇹—Ð$q–·7äþêã‡/óÿ.-\ºpt Á]„&ü«èÔU `ß>’Krýéæö³ ¿·êó þ¡õ1d#W˜šôŸœå±)ŠjÎê² qöˆD!Êu¸5DÔ’4ÝnÉìg•ƒN]ùãlÈÛ¹€"iÒ:ßµÍä2ydÏô4æ¢X‰2%Y¿ïšwÜÍl;xX·îd£Šv ÆØIë N³èqlVW[årjäëBNÿ’é†lºr-jôPwM¿‡¼©”Ø{¢öfà¨Ù<•€D–§óŸFç4Eõ&^ÍVÅô,O÷Ÿ,×…rЊÂDtb_ˆz}’ ÷µ}³“µ(¡_»:O‡•Ìòúë9Wò\ÎeÙ´•BÙºi»ú~'^v*Ýú¥>u¥SzÉK…I·|Þ¾­¡AÚ¼*Å .×—(@ùx;…e/3Ú™ãײD Räí¦ë¯y°%6¶f±±®¡6о¤¨ö²>@˯N|@™/=…GŽºL–@aõ^®Oܼå²-ÅöLùšÛ]×R¾bÝ‘]U˜ GM:â—Fq l>¨ƒI-Ój]æAg¶{´ó(Çé,aÔ÷ËU60‚ÚbƒË_pH"t™%Ÿ ×ÒKƒMº‘[< ‚.+³B’n[ˆ®m~ÆŒ±êU¿r7¡®o\\Lú=ÀÀ»ªuá«hh@Ô„q(íC’ŒÝ"´ékÜÞEAP¯j”Å”ùÜf%'ǃ²È/-RáñiÌÚ_¬¸\@ýØ!ºÚ>àÈÖõ}¦BÛmªR’UU½6†°…j:—Í9 Åp„}'t˜j±‡cä<šàYãÈí:]µ}FÀëßê¦5—‰A¼–ŠçNYä™:Á,Tû’ËÙLv˜¯þ0ºoî>öË<A^d€zr`Àz FÜ0v€EÔ À¸Ãæ +‹yÛ‡žPÎzƒ¡7Pæ0ŒG!™Þð@â1;šßOÎjGŒ „‘ËyÁprÀ`¼¹ö:}a—‡iö; lØIT£C M·EÉ!Z¥;juo¸]5 "i ÷ùÑ…™¿–™øPª}+•ƒ£ÉÐãe‹5¦&´®Ñ^•ù †dï?çÁ¥Øº‰¡Ú ±Úì…Ô “4ýÈ> ”š@¢ê’<è) m! ™¶#í¤q÷Ànð|ý^çE‘§?T†×W0ŸaŽãÛª\Wg†­<Ëæ†‰W]q¬&áµù¹ñêlÍÊ.Q4bouÆ'⇠‘¢Fy-à"*sªî ³ Ô"ýˆ¡JBÊ t:†¼+àñk#‡›ãË»n}²ÂxKÜÞ%ýF÷1Ð1Nžk6ýò2ÖiAkH.R¹AF^÷YÀ­±ÝÏe1\Á éGYxPòÝ,@êèO†ë&²Þ ©‘±bäb\@þ¨Û”ê¯ F G…zãhüóf@$s˜D …w½x†Îìë¾Q¯v)ÔËÂÌåõÇ-ÀÍùþ¼óÞo- ù&ÊTâÃpýìàÀ²áùQË] ¾lò<ï?, pÝ‹¥ü,vTcª™|-ðGù.o¿ûx£E]¡ù Ñüж˦e-_Á2òìý.¯†„@5p¯ïYðéa‹D±sõpC~ûtóåþöq¢Š@OQ-{ óG~¨-±I‰åÄÎ:sQ@·µê´R±ýD4áŒYLÏ”¦…ŠuF ÃkÑ´‘Å»ºJeÓqµ‘Ä> stream xœ…XMsÜ6½ºæWàfÎÖˆ&Àïä¤lœŠ²vâuf·¼%ïÃÁh¸âǘ -©69í5'ýùû9²œ’eI$Ðè~ýúuc>±Àç, /÷³¨g¯Þ§ìFÏv3û4ãæ%s?Šš}·Ä‚Œ,73»‡³T°4زžy½š/ÿ3Ký És—ËõŒ§™Ÿ°åÝÌ»/›õÃGœ3ó+³«#‘øQn­¡W¯ÞóÀvæÜv&´0 ŒÉ»¶[ïñ­:ö½ÚÈ¡êiV3ŽÅÖæ¥¦‡y˜Ùgv÷NŠm­4[©MÛ)&›V©¾‡½²aýÖ8x]\[²ÚmåJõß°ÇG¸ªî™î*õâ+5«JÝ«µ³E;iÓ›™ç––ÍÍ‹>[]ÃÊžµ› »+û-kw}Ù6l_ùó—8Œ‚´§á\rÓ:ä¼\#à†ýJ¾›¸x~“DåMÖO|4ÁDb .ë¶#—å†B>ñÓF~pFDÆþ­R»ýª’Í­v¾'F°­o”\à à\³¾“eEÜmË^1m@ÿèY´×3«äJƒä}Óöcß" p¬VëR‚,/‘ð##pŸÖ[Ùܨõð„qÅZÚov[Õ<ïñæ½fÇðçåz¿m ›á.Íè¹y|~îxânhŠ~&µ.i—UÅn±FîÙñ{„ÐÉ‘F÷N "6½`;Õ•í¿€¼µÄO]I½Uza\ÞÁFîj<0)Ð-k›gÈÕ 5Œ{ŠŒ]}ûp~ê•ómDÀm“Uõ°0Y¨Ê[ã¸wˆ…ø÷Ï$rr·S²›ª ¹Èt¤=¨ÌWïó±ÒyÂÉÄÏLôïä¡z¹ðÀéŠw£˜sìL*xìçYžw'oÔ¾#ªèc­8 õÒx*0c5¹Ûƒ`¬¿kv£U1ôågå€&c„Š«|ðB2sÅÎ÷ûÈé=[óÝyZB«•›Íèë³”ýòËÊzW•,?>n6@©°”ÐÖ[c \¿í”bÆgK uïöºuð¬é”ƒo˜Ø,ðMÿí÷ɹ›g^ÂÃêáO\5K&í¾é”'rã~Õ¶·'Ê÷ë¿‚’ÚF´4L5Sq 2á^@† ºØªš¤¿ëTÑíýž½ok¤ÙðZVšmÊN÷ j sÙÉUYŒöísÖ\ˆ¡\0¾`—„Ñs4¾öÞÊîvØàßȇ¹ˆ½vèçÿ^þtL]‘Žñ§V¾z¨÷3Uù#LUÔº¤†gKõøù•ôë'xÚ„UÑû}ÕûM Ìž±ü®k?—k˜~#É,¨T˾' 7z3(ÅŽPgª)äN•!àÂþ,"{ìQ4 $ EKîä9Ûö5¼îJ*A€ 4wCÏjó·–hŽÔêþ™*«å­²–žñèuMáàdš­­j°·Øuev• ©š^ÞO­ìÓЬVj+?—í“ ¿&ÊfoÛúM×;— P&<°±Pø½,©%1 s•,ØæÆCœã&!WígÅ”,¶Ì˜¤CÓzV/;ã) 7ÓxZ¢¬­'àØØoÐxe³Çìð•¶é26Ô•œÀ§£W’ªšY#6ýÛÉŸ>TŒŸÇ¶hŒnÚÿ×_Þ¾³Döƒˆ:@(ü$c¸\ZCäó6ì‹«ï®Þ\-ÿÅÌ{á§aFkbáGá8-y¿¼6 L–y8¾¸üÛ뫟¿ýÁv•©œ³ÈÏ¢8œ7“ª]3Ä"ó³Ì9‡³2[ÂëV¹A¥’eÍúÌ BÚ}í¡_‘Ù2l2z·ÃØù8ÙÇÃupt§C®½{Ò$Ù³»yîçyÌä¥Z³Æ ¢ µÙ˜bMF"ÆqÛ62Bî 4ÍȽh@k Ɣʲ7å~¦!|j«¾l©fK ³F5jŒ·ä…–åzÁî0. @Íîñ|æ>¢ÑÿØÙwM;Žü4°ã{â§i2fº]g: â1UšÏý4>‰m2xßµ×Éy„€â,ôtm ²T@ cŽî‰ 5î ÅvʦY”Zý®ÕšÒF1+Œ º'ÕA3’‰åBðÌÒi±%S6džJuù ëq]øŸ‹L@"páü`ô)ñ càG‡Q¨ëÎ0öÃéeäG¸]™«Á+œGÉQ6]º-¹`Ö ­ñRv` œ ²qjΚ¾öœCŸ Þsð<ö âVçŽságbd÷ÇF…ÿ+¥ümµZý~ZV9¹•ΔÚ^ Àl¹ÖåÆ\9É—qÉFÑ\=œ„±‘þÇtŠ'6µÇ(ý$=è5U$U•H2WˆØ.qïþ<®üÉñŠË™Bp? BG!„>å´Ó1þtíÌL”i2‘¤½¼1ã]¿-OÆãKH˜ÇÐ,ùBÄP;.NC>èÞæ¡˜2?Š™ìœ>Åú£‘E?Y' œD–›R'î‘«ø'­’d1>ÝC‘˜ÀÑ“‰_1otåjÎ ö0÷†^ÑÌÊpKìévÁ0ž`4øCuNõJ\­ «Ô¬;€¦Û‚nŒk«¨ÇÐê­ÑE¬µÛFjîé¦>—¹ö,¸Xì¼@­A’þ©šr[±¨Í—€HXˆÎjóèÓ¼SŸ¡‹ñͶ¿Àif¦uϤd+rú54² =¥aôô®Z„\ð¯ðMa>•ÎÙîÜÏ&¹Ä”Ô¯6§Û¡Õ"ˆùÁ¥Ø¸xtY—•ì,5D`À3?ŸŠðÚ[ÜÍC ÐGú 9šÚ×µ7ìvè€çY7xçá¡ë¦4ÂE^¤àŽˆO4õÚ3ÙªáSaÚ''ý‰óãb#ïþ¥1¦cú(#rzu\á¤}צ8KC‘zç†n;{g\¸àA ×}\tlœ"øXQŸ4´0ȧŠÜaAáMõvâL#›“”,šñ¥ƒ‘,µGU€L@Ð"›Â§-özv”DÜ´iÞwl@.Âi&ƒ°‰Ð öèЕnû+…»Z{í$ÅÐQ‡8S¾$ƒ3â\ù"äôYå»öü«y`ã^³;¢yˆÊJSg‹æïbpå2ÙÃ,›Oõ~,¡(é`jÍSd" ­•l´§!´1\¢Ü3Wº¦P·0¢a~ác+Rlk‹†ÞvƶCÉ{U)©CjüÀŒ™0›8ÿ¡ àŒY']ñòѲ×ËÙßñõâC;endstream endobj 26 0 obj 2453 endobj 30 0 obj <> stream xœ}XÛrÛF}çWÌ[À-q ·òãÈ S²ìHÔ&.q+C+@€eV*Oûê_ñ?n÷ fP²KªEÌ¥/§OŸÆ_Ä¥qñ§ÿ›g¯n"²og.ÙÏþšyê!éÿdGòãÄøÅz7Ó{<1%œ¬3GŠùú¿³ˆºa’0x¸Þμ(¦!Y?ÍœÏy¹=mo3'ê#Ñ«9 )OôâÑ|´ð£ˆ!Yø¡zZ§ÙcºW»^Ýxno‡P?vÍ ‡S-šFìô"ckàÒyž^î2O™ô”É‘JAš·0\GÖÙ,`”%¬wâCxlt”SnÅd›Ç)‹“ظóeØæSo°²-‘‡T’,-ËJ’Aê¦ÊDÛŠ-yÊåA›Ÿ˜PƒÆA2·âÙƒŸÌ§æ ºîö(óÝ‘÷ÊùCÞøÅëSò€‹!J±oïö: IBؽÀ}PDúÙŸ ‚tå®jdWªHж+$©v$-I^J¿[øUÇ:•ùC^äRÙÏ©ùh 㜆I¨/¾wèjÎÝ;2W}/qÚlþŸõ¯Ú#ߣ‰Ÿô¡E¾²¨ƒÌ—²8)§êªmó‡BY‘½€W:¬ —º²`QHC?0žvlÈšôá^xøO×À"?èЫ#XÙ‡«ÍG›½¡ˆ/¤’ä›$ua^>¶Ã-éZ1D üÏñ2F·/<RÖ‹ճe;hè¹Ìä ?æEÚ6—ä¬*1Ѩ!ÉKˆ¨˜{\ÜJ‰G¨äŒÊÒ c¼IÛpÇ*o¦&ú1 ÌmWézBÌã€;â’iÛRuâ‚1@%7»”s®‚ó¡©öMz<Ц%O‡Š<–•v4Á®LžÞ ކ€rÞ_àÛUÞÖ*ÐWbrF̨‹\ч9“€sc=l|šƒõ c'-%ÆçIYøq/1•ǹÆiÕ<¸6…ˆ0a{¨ºbKêB¤­ YUÊ4“ «,©Ë B,î,¸´“‡ª™u¡ˆ,–‚ÊÞÿ)_\{y¢yxµ#§ª#‡´/O!Ç]–ï\õ‹?ÁM}H𽈅Ûù¿Q>½Ù6…}3æ&ßžg¼w€çUFRRT™F`*e“?Ì®yN'ÅtO/žAè2`=8› ”‡øü÷£8m6OùgŠDÏåÊξeÚHÍjMZîá’ªš }—>³Ù œÚÚRˆmKtsƒä·µÈòÝIS¼5-NœWm^î Vs")Y@CÚ89ôþ?wÌw°"þ¢có3ùè*wcuÀO†yã00%Úpb+  ¡ÌÍÏI P¼PcZœÚ|!D{ïÓ²÷Êr™O¹û].`ssBÿRª«CqHO ÷λôÑ–¡X¡Éx‡rW]†Ã&6"ŸŸ³A±~_æPÙ¾®RU'ëNªÓ汫ÏÄGå9yƒ9ø»ìz_¿âvž/VÖØ›4—!…¶]v´Cñ·²é2IÉzèÐÚÛˆQSü¢ ÖiÔéÒì‹Ie‡Ml…yàil*{T¼ ¡XlEÍ´ÙÄ”‘}häã×ߔՄ`¥aÜ„½ZV)°‡sI¬µ–LÂúN…_÷Ÿ¯_Ÿ}yjÆ ¤hý„gDºqLŒo»´å€ñÏ·¢[¥Š°j÷ýÙ‹¥C¾?€^Ë«„  …òB¨!¯ ¯«ö:t7€† ô³€2Ï:FÉJš‘aÌ9P3_ö]cf(Š7Ѽ€Xð_ðA-9›¡†mSêolKÕ;:ACUö™œyƒ@±©µ§Ÿ¥v!(@¸·`î„m˜7"&97œ¶Ð¾MèhÒ¡âÔè°›-pˆ5è¼w.¯ÿ½º™ƒ˜p¹Ë÷×ï.¯×ÏZ½½ÁY_þ±ºþéãŸË»õû?ß½ÿéîêò¬f]³öÞ¢®LÇ0ü¬GîcµíÐ'Ô%E•n±Z Ô’Õÿ…‚Ó+Zì>¶Ê-jæÏ% Œ"VjIñ£p6áaP<Ömc!Îφ?¾çêòçåÕåíYH‡ðß;oªZEEÌ©î— —2KÌuùWÑ!'2½”ž‰}ÝբƗàÃØ4HÔBŠ!‹»FÒV;©–%À^¼V>ƒéÚŒ`ÈǪ‡ÀA>Î1:½ÄjµùEe _tPjr#R4ǶŠ C¢¬Ža¶6õöóõÝy‡…;ìSQŠ&-ȇî¡È³þí ”"”%ÝùaÚË3QbͶ¤Æåí€÷ ™ò-z|«<61GúÆMà ìVè59ìhÈ'û fAlQÌ€¾¿èI•?Æ­!UÛMËf*- J0êvÒœÓ÷Ft˜Sä`Aôô zd&É6˜u\ÓŠ »µa±\Máª$@ÄF¯ù.3i´íðPÕ}çVB! îºâB¿ÊÁéµ¢ö¡“Ó´BVc+ƒ@_ðû *ënM–×Éïê=¾˜3†8Ë››åõú£æÒØ={ñÄ}Ý y¾~šô˶¯JÛ4À´0P#I`Û΂)ÅöˆO¤gî@¿%‚£¸ ¿SÊÉ iõ»§_*anpp9ÖE.Ì|G0Ÿ70{¡lÛõ%Ú%‰¡/˜† ³ÄåÍ›_Àáy‚º%Šœå««øo6õÚÀ2t›ª9sâvùLçþíj}}y{KÞžóXˆj)0A\öqŠYlb­OÅéÜ(4çÃÒ²jÑ0òMÎnÖcì&Ö=´EO«7wWËòáîæÃ{Í0ÐD|š\‚Å‹CoÇRÄ3oR<½ ó&žñÈB½Ãc6É/p „Ê:¥{ê”QL-«×MǪÁæ$Ó¼huW "½†¤¦Eå¼Ð¯S ª©«¡ N/¾\èâš‘Àn°ð<à²Ëõì7øù?ZLûFendstream endobj 31 0 obj 2535 endobj 4 0 obj <> /Contents 5 0 R >> endobj 14 0 obj <> /Contents 15 0 R >> endobj 19 0 obj <> /Contents 20 0 R >> endobj 24 0 obj <> /Contents 25 0 R >> endobj 29 0 obj <> /Contents 30 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 14 0 R 19 0 R 24 0 R 29 0 R ] /Count 5 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 12 0 obj <> endobj 13 0 obj <> endobj 17 0 obj <> endobj 18 0 obj <> endobj 22 0 obj <> endobj 23 0 obj <> endobj 27 0 obj <> endobj 28 0 obj <> endobj 32 0 obj <> endobj 33 0 obj <> endobj 11 0 obj <> endobj 34 0 obj <> endobj 10 0 obj <> endobj 35 0 obj <> endobj 9 0 obj <> endobj 36 0 obj <> endobj 8 0 obj <> endobj 37 0 obj <> endobj 38 0 obj <>stream 2014-05-11T15:11:21+02:00 2014-05-11T15:11:21+02:00 groff version 1.21 Untitled endstream endobj 2 0 obj <>endobj xref 0 39 0000000000 65535 f 0000013871 00000 n 0000016470 00000 n 0000013784 00000 n 0000012976 00000 n 0000000015 00000 n 0000002112 00000 n 0000013936 00000 n 0000014862 00000 n 0000014722 00000 n 0000014560 00000 n 0000014410 00000 n 0000013977 00000 n 0000014007 00000 n 0000013136 00000 n 0000002132 00000 n 0000005345 00000 n 0000014068 00000 n 0000014098 00000 n 0000013298 00000 n 0000005366 00000 n 0000007781 00000 n 0000014159 00000 n 0000014189 00000 n 0000013460 00000 n 0000007802 00000 n 0000010327 00000 n 0000014250 00000 n 0000014280 00000 n 0000013622 00000 n 0000010348 00000 n 0000012955 00000 n 0000014330 00000 n 0000014360 00000 n 0000014494 00000 n 0000014639 00000 n 0000014803 00000 n 0000014944 00000 n 0000015049 00000 n trailer << /Size 39 /Root 1 0 R /Info 2 0 R /ID [<981D1ED05D2F82721A1442547C8C5393><981D1ED05D2F82721A1442547C8C5393>] >> startxref 16622 %%EOF xindy-2.5.1.20160104/doc/toc.gif000066400000000000000000000002211264235421100155620ustar00rootroot00000000000000GIF89añ¿¿¿çççooo[!ù,bŒ©Ë­b€œ´Z `¸üæØ…Ò·‰!9 –zjé*¢KÑœ Øó>ô®ËÍX6 Lø¹vbmbl2§Ñ'’ºœ^}WLvÈå…½ QPYÉ%óík²àârMæŽÏëñ½ÿ/P;xindy-2.5.1.20160104/doc/xindy.pdf000066400000000000000000000370551264235421100161530ustar00rootroot00000000000000%PDF-1.4 %Çì¢ 5 0 obj <> stream xœ¥XÛnÉ} øý¦a@¶æ~1°06^'P [‹qHF0ä4©‰9Í uùçSø9U==äPÚõ"kÙתSuNUë^ØÒ6ýô¿WÅäüS$6íÄ›ÉýÄáIÑÿZâO ,ˆi`±žè=Žˆ\%¾X'd‰ÅãÄzÊËìùÖrn§‚?ŠÃÀtñŸÉÜ–®“ˆÅ ç%8O&é…bq9±>þ8=ƒ ˜u$®YdëÃ{Úz0Àµ¥oGbî¸4mî{±jTÚ)ÑVM§2‘–™èÒÍ1¯èW|ŸÈ¤?ÿiMú^[ÆžíôMUˆ&=Úå†Ò=L?æ‡}´€Go,ºöÛŽZOÓ/‹¿Ž}»^ ýæ‡2æs®ÿõñêçë‹kí¥c÷nú®q±÷îfÿùíÝüº ÿ3Q¤›|E+Qíºu¾U i ÛjóEÜÞÒ™^8t³¿Û´ÜКwbUeªN7о}E•í¶üùhÕ»Îì§½—´wŸ—jÒU—?ðº}¡Š=]û(ñ•÷œaqž=Ùÿ9BJùCF ôÞßXùø÷ùu÷¼Uâ²*7âªîòªlÅzêD;ò¬ª×w¨™zÓƒ: åÉ`í?‹s±ß?¨¦ÅR²ÞÚ¿¥¡;¿SÛšÌÛßó×û]®:þþ`¶-«VadñÇ Ó`¦–»ÍtÚ¶mÝZÅnÛå5ŒíòBµÈj²ÅBh)¢Àxð‘!‡¡K=„ì;½ã! sóÕ™Îÿ—¯æå¼œƒ¶/Òæë®žÎ˜7µ»ºf2¼Aà;õ4OªÿPj“Îz†N_ÉTÎ@“¥?½¿~÷éâçÅÅÕG¨&œGéÅG5”IäôT³eÕ_o¬¼Ýëª)ÒY5u@È8ð­91µV™*;$hQ‡«µ¶’mô¤M‡€tq,½¨'ã¬ȈÑÀI>â–ÿ‚‘¾LÛ…‰K Èj@C±ÕÑ>·*¤¸è _§ ¬Z‘’˜‹¾8ôeàû¯È/1úÐ+Îa›/Ý8‰ê¤#õpl#G- ¥ïÆ'‘<:òŒ•­n+¶°€ÄTÛ“¾ë°mÛ×`Cg¿¤‰ L©’â…!¶6ÀC/çf¡„¨­ª²kªíû—ÏGa™›ËGºÜ2±¿mU+Ù@ΦKØû1/ø3¸ÑŠÇ¼»ã|Ôg@Ì£ÙÕ$Œ€ÿšÞê%'8÷»~ ç(Ž“uÚ¶„ 0„ëe üßH¾¹°eÅ3à ¾™]3c°Îþr×Kä¿ÏâÇÃ.ÔÁ06ñŒ}]dóíV,qµJ3Î/±¥ç„cä×T½ÚÑK›L º·§ëÙ1[#SÇô†¨ !d§SÛg‘©vÕäKN‘ðs—nEÚ‰çj‡H¸oÄY=ÿiÔ[-ÅuÞ©™¸ëºúÍùùã㣆ÎG¦»&(Röt•U£@h¨¼›s)~Ô4!µ9Žl¯*2¯czPÅHc8‘ÖµJ›–\ ÄV²¬îÒšDºC .ÓÅ4":%±¥þ)ÞŽ´¤ƒn-žªLöòéÈ8`}#UFö0 ¬%¶ãZ)­« mÁ+}3mô!YZÓd‡‡4óCÝå!=àÐ2]"9Š ä¨Ö:'=Xãä$÷ªíHö –Ûœ챡 441NRÇGËh¤öõúbf9»]ƒæ±·G[V†‰‘ØçËc^†Ž=¤GšàƒÌiYC“Ì'x±´{nXjØŸ0sKݼ,)áÖ:ò3Eå–¯XÑvŽ[Á+®¯§àQ…µ6‚ÐðÖ:ãǼ±´ì?÷?D{¨37Z(…xЄðK_'Ê]±ÄG¢D †7j« >®î¨=_Æ¡(=ÈÄrR•ZM‰>‡n9P|ŸS±ðŒú.nä‚óÛü¿ïCô£ÐDÿ;[ßžBçÊØµ½ÐíZ4r¨È-ÿæÊVõ=m_mÝÈzªÑ¦4úÒc×y«›ÔÑݾÿݽ?±ÙMFá¶~ªÊ³ã÷ ~`IW¿‹ŽäWû Úo@æÖ¸Š‚y¥gªb š$æNRzØ2GÕ4ßÿ_b?|/±¯Ž›B ¯{ÅïD?ÆBzˆÈU¤šøxºà}v¢¡Ð«ØJý¯ûôB­³õ;÷ÌQ°¼#\TÝ=ô@À :Þ‡=Q߯ÐÝ•í6T> Ñ:…¡ªÏÔz´µZåßÐŒß$òÄ`ásÝ'ñkÀ@(\2tM‘—Ô’ªçm_T\é&‡×žfÜ›“Ü"µäXÜþZüL†bÑËèè=»ÿÿÐ4õý«î*W¶2ÝbÂ1/]ó^äIhÖà ݽYûFÛz¿BÞøU©úß]Q¯¹CΪò¶><>>ËÛ5xx¼àG¯×GºCáè­ÕC¡qãÓ<÷ø´~¾Ã#ÚbEB…8p¿§ÿ ¡;>}7´û>÷=ÖV=¨í%ýùwFXðìL”TómtO¨‘To§3áÌ„‹'i#¼";œˆ<©#þ u'k!XÒfåBF…&ñqt’»((s;˜S*Ò²÷‹Éßðó?æ.?Vendstream endobj 6 0 obj 2024 endobj 15 0 obj <> stream xœ­ZÛrÛÈ}×WàÍ`•8Æ îÉ“c»vµ¥¬‹®ì–6›‚È¡„˜$¸(Kÿà|Šþ1§ç`HÙN%åòJ&3=ݧOŸnìAÄxÑós¹={ù!n»³(¸=û㌫/óc¹ þ²À‚‚>X¬Ïô3<ÈE—I°Øžñ"eY,>Ÿ…õnõø[È›ê×`ø`¶øvá‘Ù&΂9þ.VgáÓSsèŸÖõFš5ܬÉKqÖ\‡Xò x2l9ûÇâ§‘M‰`Yq½6|©·)Í—)EæË§Æ;„ÇL|×!sÅ,ãÁœ Z ïÅêÎïýþÐx@ÙO¦‹åY’³¤°6]‡ýLà>e‘†ÍµsD«¶4–]¿dÅ×®o¹lŽdæÈ8\÷Ñ<·ÆrQª;ÜÕ]ÐìûºÙøm×ôÁ¾ê:¹:ú;쪭 šµú½Ñ·…1´’>¹©:½„ÌŸó¸`"œ•™:Á<þ¥íú jiiÊá ¼´¦D¥†Ðía+wX³[épÚ¹Hç6нÜu°ÖóXœÑ–ä(”¶;Š –SG¥%Ë£Ôw³Li«Év¼dYš›¯?×ô~ŒVdæ^¡C…}*ËÂÁ¢vGwíM™Ø‹Èj¬Ûft=ÜRµ+€ A à¸¸)独`y’:ï“C¯C¬ÙÒs}Ó>β”E<-CfÐír."<—±Âä䦹ýzN†•Js˜š’Í9ËFyvËœCrÛGêÍ­Þ¯²/Ê"ñ]™Ûû™ËY:dýÿä¸`I< ·g8<le×U·ÈošG¥,.ÊÿÙ"PRYzX:8Š-¸qVF.‹òÒ$´DRN ®Z©8j/ñ$˜eؾmn[¬rKu§‚E1RØßU}ðØ‚e¢Øýû wK|®û;Ý9Ì-¬±OO+ysð\$GMë?‡‡À>=ÝËö¦éätƒÔf&óžž‹D¹|æjw{Àݾf¬˜€Åw•K +²²|vïy^¦+<™hž\ÜÉQ)IéÓåYœ2že΀ûÀë]7áŒ,±sj/WAµ\6íªÞÝ^)Øía,€ŒŸñÏ8jyìN†øš(ÔÃ#·´H×Ê<êà ˆÀM³’ÄcAe”¶YtB!€àqT¦ ö–­¬èJ7žÉI<òõu¸­>ÍJ½„Ç¡œ«#}µ°x€—‚ϼ@ÕÂy…¶:)ui¿X£j²Õ&“'A§Ý^.ë/0æ¾®|ì&%ù€]ºçÞù¹€W–±uRR ]#[œ²nÚ¥º¦9w[µŸûsÏOÁZgÍ\ Üˆ,ñ(_%ª ±²XVíòûR²b¯MÕ×;ÚtI[SÕoð³[Öõy3ýºp7>§0©%ÙÎÒÔTr×åWu™ì¿´jM¨q lƒý¦Zê€ãŸ³Ìå(€">9‹ËÂäVZo™Ý<P2>ˆ€e³ëÛúæåñ¶)•žÒ®ë7óUÝÊ%UI+vÌ=´£ËÜ.ÕÇRÄų%’3‘ºš­¼­¦ÏÇbô<(FèxŽ9ÅúäÜÛ»ŒX¥vo¢/³±iؤÚX¡£’±œø¨Æ•a0dRªLz4‘©ºÀf…j;v'ä- yuâ|»kZ¹ÒŠ u5·ä ä¾€˜JâÜèùœçâpÕ’càÚk—¦ÇLÝ­./^8R ©“gçÆS2Š»~£—3,WD¡€çÕ§þO2nýTÆZ趺»k”©Vﺞڃfí§:Ë8·½¥>fj0¾'Œëjs\ô(› tC_›˜ %^3Ø$ {ýû!¨D¶(¶æ‹ùtí÷:+<›æ¸ZG3Gl„.®Œm‹¤ƒì2m}”  ñ˜¤ÖQ&ŧNÐoÑòÒr74w©å ” û¨m,Xõgžèx ûAÜŒQ¹ Çß;»ùÈ ßàû¿úÑG³1<{j÷yV%-‹ò]Å›J·Þ¾.ïA¢[~màÔ[&YÈ ¦ÁÙ"óf)Ëe<æqê¼RÇã±ÈýÉĶz$Ü;ñµ=lúzJîk´.,XÜM”‡ic VºqD ͪ·uzHK[Ô§Á¾‚FR‚‡úœÂÔƒO´\*n€ŠdYb¼@{kÞ×m³SCŒ{5çHwéVm]Ý8:ÌÄE‚ÞÍ%Æ/?¿ùõŸWo_}xýãûW‹§±+mZAó)îàŸ4à½Ù4-ŽØá»ûò‹#êa‘qœÚm6¥¸½­`Ü”‚+Z=Wš$«dVŠdV<ˆ³©ªVXëM75™¼Ð™™–p,¸:ì÷ºaºŸ Þ2aµ9Àâ#åì',Ê“¯øÝZáê§Aâ¸v#>é'+òêˆ}2'«¹Uʧuƒ_ƒ6P9Ñi¸„Dƒ!½Sçy>‰ž×“µñrÜ­äzþÒõ4©Ðíšù²Ú`χeÄn ^£¤y×”ào0– ‡7˜8_ŽÇ-ñ0"ªÀ35÷¨ÞÕúgæHФ8¹4"wêt”×r˜{T§O§ûk…ˆoš¥ëˆƒ6õ |þhˆ³,rM[8ŒW±J¢Ç²œ÷ò»“ŽçM¸~£>PþY½Ä£jߨõNÝǪ˜Úd æ‡Aߨׄé¨Óº¯>¾ÿîÃ,Vd´xû&¸|õó-óPþ‘u çJ÷«³S4ʶ¬½½ ^¯ß½yûÞàÜ> stream xœ­YénÉþ¯§è.ÄÖLÏídKÈj#K›lÈÁ¢9Ó$'šƒ;‡hî3äUôŽ©êc.r×û#a ìîªê:¾úªõ+±©ClüÑŸIqqõ1$ÛæÂ&Û‹_/¹HôGRw+Øá«Í…:ã‘0öȪ¸p"Ÿ!Y.¬oY™¿ZÎב¿’á‹Åê? %6R|²t²JA'¼çmV’&©³}Û¨­Ž­÷²,†{]µ™çk^f¼$Ûã¾9ân'f`ì°öUÝvÛN4¿_â‚>l%uZàØŽw Ÿ««BŠœò"©1ùM$;²ëÊ-¯QBÝ5 |¾fM%åÀÞû ɽ)jv$KDÎË4KoFzš¼záϯMÁó|® ýçE¹Í¥€–çÚ¢“ó9¯·'dž:ßìEÍ˶"Ï]‚¤×µH³úÛ9Qâܵ—EÓVÒËFLÛÕÏð9“²—×}-ªTÔ§¢Ô•6Y)}’c”ÏŸokžfmV•üÄ/Ú¯›Z”‰”ñrê–ƒHµigÔoE ÉIžµ»®ópzt±ñi'Ò§kÈ×ò3¯¢~mªz}"£Ûï§KcIÁDP—Š’”U}Û1/™hK^œI_Ým-Ä3æÙW¹6z(ÎeÛÉ¢a¤ÿ]*&µHªm™ý&ÒðœKîH.b‡z36T).Ú¸àà?Ö Ù|¶èï6ÂÒ¸8„v ¼*¨ ÊÊ4¤+rÞµÍ[¼1f½¬WfÇÔöŒŒËYÁû`¹Ø¢Ve¥.=iõ‰ ‹ÒÞÆáö!žË–¹¿/ïŸ5Ò>‘B<ã9/¢ŽGZ˜©1Ì7Ê…q”?Õåo]®oÙÔü>#Z¢’}éßïó œ-íÚïªRuU=7¤ª `…,€:Í%”?9±Û‰@ƒû;fGÔì({Í¥±çLí6ët5˜Í¨ï›û qZ÷díùoÝ´:¦hÍsY-˜Om't¬CIx³ø÷ê'´Á!±rŠMÛ¨¸¹{Ð&:Æi1õÜØQëOVU/ÜÚvYRÖ‹™C#ŽË¶·:¦Œ9¶IM°µô.S4jªté†õÃȸßV·»‘eˆ&4ŽëM4û\Õ6ñ¤3/Ír_qÖ¦! 2\p®í`Ûñ­ ²ÀÁЦ·¶;Þ‚Ô2d¸]^®ÒÙ$VúÛ2ãähŸÒßÄp¡ñëe‹ÙEx-tr¢¥2v^LÃá²wŸ§÷pÐK‘A}¾Æ¹\Üž¸†…uƒxäš¾UŸu äG€?Ô%ù¨º+ÏEÒÒ)uXú.õG’ßë,ϳä»ìAãùú2ôoTPTå¶:ÓdÅY×¼îò) ˜5‚çšgçÚªUðD¤•Y]HšhP[êxDG|÷BšœÈ–@žsD¥µª :«` %*]¿>dI@'ÖÕ¤lÈr¾ü~}YÛLƒçÑ(²íhÀ4¨ºZí ˜ð¯¬Zr-9ÔYÛŠ’’/ DZ­ª# ÇNZ=cÖ¤ÛC&’cÕÕš2B#‡$]/KlÇ G/qìGç눤ËEs……v¥ªMº‰.Ü1ò¨kn+F@âB}˜ns5k¨C é±ƒÚ®"ytÓ¶ªä«u€X‰è{Z§¶°‘íœZ3ª8À½ •>2 òuAÉjgÀ•÷‹Ç:|ƒ¤ZP:³ØläEfxûšÈè-<ê Z~ÏOÖ+ZºXŠc›Yô[z”±3ÆŽ2 uÐÏåaŒu}>ãbh&¡{bð,|n @äÇ}ÅÐ84” ¨ ·UÈM"Š}‹‘Ü@V, ûïYØ!£®‰Ó¼Á±nÏŽ}Ûge^ Ldz€Í‹BÓ71É qCˆ‡¦^rm½é/›1;ƒ¾¦O{cy7¸„fÕý- hŽFæ‘ÝÂýã[à © P7cóºGXHOýÆùãê°M¨šurШ£ð×›Á%ÑÂ"èZþÂ5š%ÍÆZp9Pè¶ü·^ÝÄ,îÏ ïåÖ"/¼LäÑHôW‹–-ø¦ŽZìkàóeËÑ!0ƒfYPAï®{¾ŸáľƒlL”! ¾i쫞ç ÷}²nþu÷qáy¶g=>|¸}Xd4~rñŸïn¾üòéöúãû¾^ý¨¨a„¥0!Zvâ:'Y„™¥Ù¡Û18ˆ¤Bâ ¤2 È5K²Ñ^Lá’”þ˜RŸŸ þüÑ«5oÄŒn™5:»ô`C“{¢2—ßb†ù¨ Œzýp• Hõ"+!¼Àeë:uVˆK,ÈyÓ<M…Æç{FD¨D¼@Ö(˜ˆÕ&1úS œº½owbö¦H=¢À˜ƒSóYÐO½ùIU@Á„U%²>ß’ÛL’/ƒÿPuv8Î> 4A¥WÚs3ôt€[ N„èò.ax3&ó8Éö÷lÆCœ1r3XTYçÁ¤>è­öíŒÑ³‘©¤½feÓ”.}ÑPò(…†tm»ŸÛÐ5¾¯ØY3gdÐñC‡ƒOòl}%ƒ1öÎIG€-‚7šó¤+l³0w”ÿõQ×ÔࣹsæMÐ….ËÜQ_R¸{÷îÐzš‰ÔÞgëš×G20Ês|2ŽF%ñ¤“ÛGÌò=‹¢˜®žâ]y”ù-Rªpº¬we'ðȬ3 ~$Ø;«ûoǾ ;}7`U5ßL7c`^Œg¸Ç?+Ë ¥¡˜ ƒáEêzôXáaxMØïÞÝÝß­¾•²+t#Ü0å ÌðñCØ–»fáú· Ûϳi Æ„ÈóÝ>@瀓•™Êñ"ýð[ Õ4’œg>­‘pûð1?Ê_!u°»cÈ.uŒ0,6Ø.îÌ\ϨÝÓbT¢_e¾]ª'ƒÃ»˜ï0©ò”Ç)Ð#-Ôl0¢/cž…´äÛ]! L¦FÍ¥Ú_iÌØK™m^¦wHv°c68}€ ÏÒKr€F3Ûé¡Ë:¶×Ë–a°Àôä†Á¹·GÜÒÓR‘OÅÇØ<ÆwëNî÷dÕ|á…ø0çZª• BŸ¹Æ> stream xœ…YÛrÛF}×WÌ›¡-ש<).9QV±½]IJÚJX“ƒ‹)V’§}õ¯ø÷ôÌ`pí-'%‰Ìôœî>}ºñó\ŸyôÏüÌwgßÝ&ì±9óØãÙg¾ú’™ùŽý°Ä‚”>XnÎô3>K8KDÈ–»3?Ü8aËÙó\”ëãƒã?œ3õ+>8_þç,ˆÙÿ/×gÎéïLˆØ2?ã´'}ü¦¢Ïc7Vûžú7ßÕõä?pûe膡P&dVÐ:OïëŠ@øfƒr-Íî´;„.OEj¾}–ö1?v½´,t}½õ½S¶u!V”ì&[ž'žëù"räo¬9–mö|qþïåÏ€Ê÷z¬|î¦<6<< ùüg–e­V«¿é¸WAf¥½1ÒÊz_ËV®ÙºØÐê„lé—ld-Ëv{œ\)b‘Yà¾.ºQ$Ìç•Æ1ôrÛÂçôé½óKöñ\¸Bð8uä5a…§DúÎóü^aê¦"Í~¸Ëô*Üwc/0ðù®ï>\j—Õ»=kŸ²–áϪk÷]˲†e Ò¤\¤möÈ6U¥X·Ï%+»ÝJÖÊ–€PŽ"ø0>qcß|>½òw·Â:qÁ­ç)HU|bÛžÝ%pûM.Z»;îŸ}äÐ C{d*þ˾AʼŽñLm«µ œv %î ©ç&¹¬^³®—/ØáI–Ú[6ÞÏýoÄ÷aSgö´pӤωV>·«Íôñ@àñÈLŠ”I€§)vÅ6«uhpO¤®°Ixï\Î hhšv@GqͽÓí÷Û#›{]á-R›­åç² /õ& ž vxdcGÇòÖ6匒Õ'þ‰Ä8Y£Ðy~¥¶à®²V ¤¯G®Yó#°ÜwïȧL‡!OœOEÕÕç‘Ùo ß‹`,KG„Sàž—Q±3PxÂf -W K–W»ýVN¶ QQÒ~µóÜ Û¨%ö>_ ˜P¸~â‹oÔ° 2¶¬ZJ<›oc’Þ´TrQö_ýa§j”p€‚ivù“º/"aUl‹ö8r=9±hÈ µ‰ø"ú`±qE¨Î.;²lÛTÊü•”%Ëk9BÞÕT!f̧0†Ï™/„O¿Ê|÷Ž{}z®uÊý(ÌdV’˜½²º-òΤ‹Ý/àHq‚B‘Òž-Ít§P#Dº“àPá¾"„6*Ö½P8Y·mñ…TÕB‘ZÈA(})’¿™Òæ0[Ûœ}–D¨Ì‚$ˆ6ÈžŽ{ ¼fÜy£HñlØ*&Ö`³ZÑ=ï£%‚=Â|(Æ1 :£Eìc3-òyñþ`åV\ò¬Ô^gûºÊeӯϼ;úVXos½'Ëœ»“·ìᙠʦ2 ( åÐé/tÂðô·‰Þ 5;»•¡íJ…¤lȽÕFå"äOI±\”“„1Ñ•èò†n,âI˜&2uÚBýøÂiò!d$É"I:S@Òt©}Õ4Åj+Y[±G Œ+ +8P—Ð3W`é±3 kaà^øô+í®‹½ÒÐkÁ +{+Fû1(x"щَë-O­“ÔEù±!ú@I•Ó€ˆÔý_ŸÓ0:}á‡1ÜÒþe3¡d(vºd¢t¶.wpt-÷p2| DAr‘æ7-@ä Ñ †ÂIÚ†ÜUE=«×©õ§YÑÒ„hÌ·PE¦bqØ4ì-F] µÔx_Wu¶ÛɺAé¨ØÇ²Ò¡b,áãø¤áðzܤVôV»îvS4{ôœì¡¥_ŸëÏÙ˜‚4ì­Çƒ«¹³²%|Êú(@ˆûV&…a`ÊåGF ˆî$Ú+£óP>³† )º\Q,jz˜ð…€,ëÚ'Èaèf¥öz°<,Åý†Þ¬oÉp8Œ¿Þ°cÕ±§lÒ†xÊòÔ“YüI2Ë‚>Qè%<¶±]Œã7IâAß?6 ûz"`ì~ÖÈ{‡:òHvRpAh™-ÝG÷e¿ºŒ^ôkåñááÁ¡]f=t¿²Ó$r‹¨Y­ÎJR&U)5¢-‹‚q+À#ÓQJ¹n˜î˜áüf/óbsœér%ÑtÚçUS” ¤U©}:H¤§p¥‹¢™_,ð@XIxòbç'/ÖûC7©Ú`OÁüàp˜Ž‹2}\b-‘†Ðudn1'1DAt"-Æ´„87$tû¬4·²\PKõ-.‹ÝÐúæBÿ¼•®ÎÅ!†Nµ¾tRˆtWU&à ‹Èóa0;AEè]dv ³”Äél ݘ͛¤çòùàOêrý/_èŸ;ÄO•5ö$ÍeD¡ iÊŒ’]c—·.[ZßÝ„Ÿ¤Cø%Qª Ó¨ÒeùS!'™'®°æã¦iŸÙ£ä…†â©5ÓbƒV/Jì—£.½Ë®&Ì%–Y"=cÒÀš^x†*X-°]†õ¿÷ï/_^|8‡šÛ¹€kB_¸óNìÁé1ßvÙÊðGÿP˵RE”µæ—Öˆ¥'´ÂÐkEU“òGÒ¸H/Ý­…qÐ7æKÄ |8‘KäëAO.qÛö@"Ÿ¢U÷óšqY·J‰X‹#¡xÛý¸CC3ŒVhæ¢tÃÔ‚áEÇ0 ¡‡6 Â8üú˜ƒê4ò¹Ñu/‚È¡áÏRÛN;MŽ**R¶Ž| %* áHóÜ;ûmV”J/ª¬Û×R!H'RG oµr×—;½Á×j.!t*“/o [È«KÆh‹Shçc´ÃaÖôµÞ¯éö¤‘Û£²­[?űq4Ø¥%´êƒtçAp£)ãAtŒ;µdVaíc³ ;viÚ?¥œª°t†º†Ðð’XÐ(óìÅ\vÝö͘m-Ÿ»ºïž¤­É¢ÙNxpâjɬ{›Þaÿ•DzZUM&„1òÑxqæÒĺÖî>sí¤É[ô‰Ô—]›1ß—ôp^<-ž¦@h4Ý!ãTÓ°9[Dñ÷Î?ß¾;G—å…±óë[v}w÷áêΔC+‹íλ=a?Íbt>é0ýòǬ¾D(qm‹L!SÃJ¤‰àC÷8°Ç'y:)²µã]4t耀ú}*è¦qÙÕäïóJ¹M 6í‡ ×Óm®l3•bäf_é+ý9é{ll‡Ü>¦ÐÛcõ)8Rá¯Ñ¾é9Á9˜•°úy[v$ üç2Ûj¥3š¼ù)âÇ*ýçd¤Æ¼4$&(>°vÌ¢mÑõ{ HeC±Ûo3„þÚ³Ÿq©9}¬P$†ö å•Gž³õÄÐYÜÓêÆ¨¤r8æã0´íVèS»…äÝ8HÜ$ôNO>¢iâžîi÷§ž09;¸ÂPG¶êÅ\¨9CO毫µÜ¿ø„ÜM¬8èÚMúB.¢å²Óîk.N6Cº UŸm¡Æ; ¥ EÃÒŽæ1™y‰Cá‘“Ô£# 2Zx}ûÐÏ®¸§äÝ$b‹±€¾oÕœàŒ`ÄÎÝÕ»¼¹{g@ð_ÐâMZ‘­ëúŒQ`I÷ñ¥š”‹Ùn8-E×xC~rKá&©}e_ ‚\¢0Õ;¾IœDŒBйü0Öž<úñãò§w·3B3±Í}ççŠ4îŽÝåOuµþ?èÝ\ýxysuw5=ŒÀ{]íõX—=Öô’ÍPŽfˆ{^ø…{~HÃËé¡î,ƒ 쯦Q(F3·È´ ÛÔ!XmÚƒ¹ ó{,ãæÝ¯ïU›žg%¢e]4Ã+&ë^J–¿#þE ¡ÛÄSMcâu×e£™” eY‚.Íïñþñ퇹nVƒió­,e°ß­¶E®Ù'Ctµœ§¹,©7lO«›'¤ÎJ‹ 7tç;uçjê,ßœÃ÷8[•k%2¿g²À5ûd¿“`0<7—aæ  ªÿÔÎL5«T­4:\¿"Cc —ôoP&Uíø­¹Ðo èÍŒ²ÀhN¸ "šµ1æÓܨLzÇ©çR¤–z¯á(­Djß4¢š&hPºOÕ^š7ªÃ;BЦÛ^èù¬ú'v>Ûöަ@D©íò¢Hðë5êÃ’]¾ýýJë4ÓÖçòööòíòw-“Ro6MšÇôYþý¨aÖ‹õçðW¥mAús­ùÕœ!²ŠrÁ•è€=ò3¢,Ò£_lů^,Ð`(Þ>{‰yûLÓÑBöC·4IMuVR/¶™ÆºH!ùz-}ïüruûú'\ø\PK’$Îå×7׸ÿ”ÝRË $«z޳½ÌKœ7×Ë·WwwìÍœ¾b\–*/ N)O{¬õ®4rë›/çý¥eS¢qb_ÅÞ.DZ+ìõÈ=N¸~ýáæò–½ÿpûþ¦¾øÍÞ !l¼8îݸËð{ÁãëÇÈoj4b¡ó|x=ó’J•½”®€SBésYUÓ½D\Ë6+¶VQ¢Ÿ_$pˆ¾»Ô#R$µë)¢°1m‰D=\ Ú^xÑ.¤eW˳áßÿùP¯endstream endobj 26 0 obj 3566 endobj 4 0 obj <> /Contents 5 0 R >> endobj 14 0 obj <> /Contents 15 0 R >> endobj 19 0 obj <> /Contents 20 0 R >> endobj 24 0 obj <> /Contents 25 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 14 0 R 19 0 R 24 0 R ] /Count 4 >> endobj 1 0 obj <> endobj 7 0 obj <>endobj 12 0 obj <> endobj 13 0 obj <> endobj 17 0 obj <> endobj 18 0 obj <> endobj 22 0 obj <> endobj 23 0 obj <> endobj 27 0 obj <> endobj 28 0 obj <> endobj 11 0 obj <> endobj 29 0 obj <> endobj 10 0 obj <> endobj 30 0 obj <> endobj 9 0 obj <> endobj 31 0 obj <> endobj 8 0 obj <> endobj 32 0 obj <> endobj 33 0 obj <>stream 2014-05-11T15:11:21+02:00 2014-05-11T15:11:21+02:00 groff version 1.21 Untitled endstream endobj 2 0 obj <>endobj xref 0 34 0000000000 65535 f 0000012422 00000 n 0000014931 00000 n 0000012342 00000 n 0000011696 00000 n 0000000015 00000 n 0000002109 00000 n 0000012487 00000 n 0000013334 00000 n 0000013194 00000 n 0000013042 00000 n 0000012892 00000 n 0000012528 00000 n 0000012558 00000 n 0000011856 00000 n 0000002129 00000 n 0000005320 00000 n 0000012619 00000 n 0000012649 00000 n 0000012018 00000 n 0000005341 00000 n 0000008016 00000 n 0000012710 00000 n 0000012740 00000 n 0000012180 00000 n 0000008037 00000 n 0000011675 00000 n 0000012801 00000 n 0000012831 00000 n 0000012976 00000 n 0000013121 00000 n 0000013275 00000 n 0000013416 00000 n 0000013510 00000 n trailer << /Size 34 /Root 1 0 R /Info 2 0 R /ID [<15E08194A6D5F8DE3DBD31934A66EBB2><15E08194A6D5F8DE3DBD31934A66EBB2>] >> startxref 15083 %%EOF xindy-2.5.1.20160104/m4/000077500000000000000000000000001264235421100140665ustar00rootroot00000000000000xindy-2.5.1.20160104/m4/ac_prog_latex.m4000066400000000000000000000011001264235421100171270ustar00rootroot00000000000000dnl @synopsis AC_PROG_LATEX dnl dnl This macro test if latex is installed. If latex is installed, dnl set $LATEX to the right value dnl dnl @category LaTeX dnl @author Mathieu Boretti dnl @version 2005-01-21 dnl @license GPLWithACException dnl dnl Modified 2014-05-30 by Peter Breitenlohner AC_DEFUN([AC_PROG_LATEX], [dnl AC_ARG_VAR([LATEX], [LaTeX command]) AC_CHECK_PROGS([LATEX], [latex elatex lambda], [no]) if test "x$LATEX" = xno then AC_MSG_ERROR([Unable to find a LaTeX application]) fi export LATEX AC_SUBST([LATEX]) ]) xindy-2.5.1.20160104/m4/ac_prog_pdflatex.m4000066400000000000000000000011311264235421100176250ustar00rootroot00000000000000dnl @synopsis AC_PROG_PDFLATEX dnl dnl This macro test if pdflatex is installed. If pdflatex is installed, dnl set $PDFLATEX to the right value dnl dnl @category LaTeX dnl @author Mathieu Boretti dnl @version 2005-01-21 dnl @license GPLWithACException dnl dnl Modified 2014-05-30 by Peter Breitenlohner AC_DEFUN([AC_PROG_PDFLATEX], [dnl AC_ARG_VAR([PDFLATEX], [pdfLaTeX command]) AC_CHECK_PROGS([PDFLATEX], [pdflatex], [no]) if test "x$PDFLATEX" = xno then AC_MSG_ERROR([Unable to find a PDFLaTeX application]) fi export PDFLATEX AC_SUBST([PDFLATEX]) ]) xindy-2.5.1.20160104/make-rules/000077500000000000000000000000001264235421100156135ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/Makefile.am000066400000000000000000000016751264235421100176600ustar00rootroot00000000000000## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `automake Makefile' to create only Makefile.in. ## Copyright (C) 2004-2005 by Gour. ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. SUBDIRS = alphabets inputenc xindy-2.5.1.20160104/make-rules/Makefile.in000066400000000000000000000433521264235421100176670ustar00rootroot00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = xindy-2.5.1/make-rules ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ $(top_srcdir)/../../m4/kpse-progs.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 $(top_srcdir)/version.ac \ $(top_srcdir)/ac/xindy.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" pkglibdir = @pkglibdir@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLISP = @CLISP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LISP_RUN = @LISP_RUN@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PERL = @PERL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WARNING_CFLAGS = @WARNING_CFLAGS@ WIN_WRAPPER = @WIN_WRAPPER@ XINDY_RUN = @XINDY_RUN@ XINDY_TREE = @XINDY_TREE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ memdir = @memdir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = alphabets inputenc all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xindy-2.5.1/make-rules/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign xindy-2.5.1/make-rules/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic cscopelist-am ctags ctags-am \ distclean distclean-generic distclean-tags distdir dvi dvi-am \ html html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags tags-am uninstall uninstall-am .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xindy-2.5.1.20160104/make-rules/README000066400000000000000000000026761264235421100165060ustar00rootroot00000000000000 MAKE-RULES This package contains the following: 1. A Perl script to transform a description of a (language-specific) alphabet into a set of sorting rules for xindy. Alphabets for some languages are also provided. 2. A Perl script to generate sets of rules which are needed in combination with the LaTeX `inputenc' package. Requirements: - TeX and LaTeX - Perl 5 or higher - GNU make or an equivalent `make' program - If your favourite character set is not yet supported: iconv The sorting rules for each language are described in files alphabets/*/*.pl. You can check them and change them if necessary. ====================================================================== This is a modified release of the xindy make-rules package. The modifications were done to integrate it into this overall xindy source distribution and adapt it to autoconf/automake. make-rules was written by Thomas Henlich , with contributions by Martin Vermeer . The modifications were written by Gour . This release is based on a snapshot that was taken around January 14, 2004. The modifications are only available in this distribution, they are not (yet) committed to CVS. That's partly because we need to merge them in, make-rules has changed a bit in CVS. ====================================================================== All autoconf/automake adaptions are released under GPL version 2, or later. xindy-2.5.1.20160104/make-rules/alphabets/000077500000000000000000000000001264235421100175565ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/Makefile.am000066400000000000000000000212401264235421100216110ustar00rootroot00000000000000## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `automake Makefile' to create only Makefile.in. ## Copyright (C) 2004-2005 by Gour. ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. langdir = $(pkglibdir)/modules/lang nobase_nodist_lang_DATA = EXTRA_DIST = DISTCLEANFILES = DOCS_CP1250 = DOCS_CP1252 = DOCS_CP850 = DOCS_LATIN1 = DOCS_LATIN2 = DOCS_LATIN3 = DOCS_LATIN4 = DOCS_LATIN5 = DOCS_LATIN9 = DOCS_CYR_1251 = DOCS_CYR_ISO88595 = DOCS_CYR_ISOIR111 = DOCS_CYR_KOI8_R = DOCS_CYR_KOI8_U = DOCS_OTHER = DOCS_UTF8_LAT = DOCS_UTF8_CYR = DOCS_UTF8_OTHER = ## Include all Makefile.am fragments. ## include albanian/Makefile.am include belarusian/Makefile.am include bulgarian/Makefile.am include croatian/Makefile.am include czech/Makefile.am include danish/Makefile.am include dutch/Makefile.am include english/Makefile.am include esperanto/Makefile.am include estonian/Makefile.am include finnish/Makefile.am include french/Makefile.am include general/Makefile.am include georgian/Makefile.am include german/Makefile.am include greek/Makefile.am include gypsy/Makefile.am include hausa/Makefile.am include hebrew/Makefile.am include hungarian/Makefile.am include icelandic/Makefile.am include italian/Makefile.am include klingon/Makefile.am include kurdish/Makefile.am include latin/Makefile.am include latvian/Makefile.am include lithuanian/Makefile.am include lower-sorbian/Makefile.am include macedonian/Makefile.am include mongolian/Makefile.am include norwegian/Makefile.am include persian/Makefile.am include polish/Makefile.am include portuguese/Makefile.am include romanian/Makefile.am include russian/Makefile.am include serbian/Makefile.am include slovak/Makefile.am include slovenian/Makefile.am include spanish/Makefile.am include swedish/Makefile.am include test1/Makefile.am include turkish/Makefile.am include ukrainian/Makefile.am include upper-sorbian/Makefile.am include vietnamese/Makefile.am %utf8.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@.{\([^}]*\)}/\1/g;' <$< >$@ %latin1.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO8859-1 >$@ %cp850.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@.{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t CP850 >$@ romanian/latin2.pl : romanian/utf8.pl.in @$(MKDIR_P) romanian sed -e 's/@u{\([^}]*\)}//g;' -f $(srcdir)/rom-comma-kludge.sed <$< | \ iconv -f UTF-8 -t ISO8859-2 >$@ %latin2.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO8859-2 >$@ %latin3.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO8859-3 >$@ %latin4.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO8859-4 >$@ %iso88595.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-8859-5 >$@ %iso88597.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-8859-7 >$@ %iso88598.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-8859-8 >$@ %latin5.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-8859-9 >$@ %latin9.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;s/@9{\([^}]*\)}/\1/g;' <$< | \ iconv -f UTF-8 -t ISO-8859-15 >$@ %cp1250.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t CP1250 >$@ %cp1251.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t CP1251 >$@ %cp1252.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;s/@9{\([^}]*\)}/\1/g;' <$< | \ iconv -f UTF-8 -t CP1252 >$@ %isoir111.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-IR-111 >$@ %koi8-r.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t KOI8-R >$@ %koi8-u.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t KOI8-U >$@ # %tex.pl : %utf8.pl utf8-to-tex.sed # sed -f $(srcdir)/utf8-to-tex.sed <$< >$@ %-lang.xdy : %-test.xdy sed -n '1,10 p' <$< >$@ # Running "$(PERL) -I$(srcdir) $< $*" creates %-test.xdy, %-doc.tex, %.raw, # and %.xdy; %-test.xdy is finished first. We must not run this command # several times simultaneously (for details see Automake manual 27.9). %-test.xdy : %.pl @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` $(PERL) -I$(srcdir) $< $* %-doc.tex %.xdy : %-test.xdy @if test -f $@; then :; else \ trap 'rm -rf $*.lock $<' 1 2 13 15; \ if mkdir $*.lock 2>/dev/null; then \ rm -f $<; \ $(MAKE) $(AM_MAKEFLAGS) $<; \ result=$$?; rm -rf $*.lock; exit $$result; \ else \ while test -d $*.lock; do sleep 1; done; \ test -f $<; \ fi; \ fi SCRS = \ alphabets-doc.tex \ make-rules.pl \ utf8-to-tex.sed DOCS_CPS = \ $(DOCS_CP1250) \ $(DOCS_CP1252) \ $(DOCS_CP850) DOCS_LAT = \ $(DOCS_LATIN1) \ $(DOCS_LATIN2) \ $(DOCS_LATIN3) \ $(DOCS_LATIN4) \ $(DOCS_LATIN5) \ $(DOCS_LATIN9) DOCS_CYR = \ $(DOCS_CYR_1251) \ $(DOCS_CYR_ISO88595) \ $(DOCS_CYR_ISOIR111) \ $(DOCS_CYR_KOI8_R) \ $(DOCS_CYR_KOI8_U) DOCS_UTF8 = \ $(DOCS_UTF8_LAT) \ $(DOCS_UTF8_CYR) \ $(DOCS_UTF8_OTHER) DOCS = $(DOCS_CPS) $(DOCS_LAT) $(DOCS_CYR) $(DOCS_OTHER) $(DOCS_UTF8) alphabets-inc.tex : $(DOCS) $(RM) $@ echo '\chapter{Latin scripts}' >>$@ echo '\ienc{cp1252}' >>$@ echo '\section{Codepage 1252}' >>$@ for i in $(DOCS_CP1252); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin1}' >>$@ echo '\section{Codepage latin1}' >>$@ for i in $(DOCS_LATIN1); do echo "\\input{$$i}" >>$@; done echo '\ienc{cp850}' >>$@ echo '\section{Codepage 850}' >>$@ for i in $(DOCS_CP850); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin2}' >>$@ echo '\section{Codepage latin2}' >>$@ for i in $(DOCS_LATIN2); do echo "\\input{$$i}" >>$@; done echo '\ienc{cp1250}' >>$@ echo '\section{Codepage 1250}' >>$@ for i in $(DOCS_CP1250); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin3}' >>$@ echo '\section{Codepage latin3}' >>$@ for i in $(DOCS_LATIN3); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin4}' >>$@ echo '\section{Codepage latin4}' >>$@ for i in $(DOCS_LATIN4); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin5}' >>$@ echo '\section{Codepage latin5}' >>$@ for i in $(DOCS_LATIN5); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin9}' >>$@ echo '\section{Codepage latin9}' >>$@ for i in $(DOCS_LATIN9); do echo "\\input{$$i}" >>$@; done echo '\ienc{cp1251}' >>$@ echo '\fenc{T2A}' >>$@ echo '\chapter{Cyrillic scripts}' >>$@ echo '\section{Codepage 1251}' >>$@ for i in $(DOCS_CYR_1251); do echo "\\input{$$i}" >>$@; done # echo '\ienc{iso-8859-7}' >>$@ # echo '\fenc{LGR}' >>$@ # echo '\chapter{Other scripts}' >>$@ # for i in $(DOCS_OTHER); do echo "\\input{$$i}" >>$@; done # FIXME: UTF8 encoding # echo '\section{UTF-8 scripts}' >>$@ # for i in $(DOCS_UTF8); do echo "\\input{$$i}" >>$@; done # echo '\ienc{utf8}' >>$@ # whether to build docs if BUILDRULES if BUILDDOCS alphabets-doc.pdf : alphabets-doc.tex alphabets-inc.tex $(PDFLATEX) -interaction nonstopmode $(srcdir)/alphabets-doc.tex $(PDFLATEX) -interaction nonstopmode $(srcdir)/alphabets-doc.tex PDFS = alphabets-doc.pdf doc_DATA = $(PDFS) endif BUILDDOCS endif BUILDRULES DOC_CLEAN = \ alphabets-doc.aux \ alphabets-doc.log \ alphabets-doc.out \ alphabets-doc.pdf \ alphabets-inc.tex \ alphabets-doc.toc EXTRA_DIST += $(SCRS) test.xdy rom-comma-kludge.sed CLEANFILES = */*.raw */*-doc.tex $(nobase_nodist_lang_DATA) $(DOC_CLEAN) xindy-2.5.1.20160104/make-rules/alphabets/Makefile.in000066400000000000000000001246431264235421100216350ustar00rootroot00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = xindy-2.5.1/make-rules/alphabets ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ $(top_srcdir)/../../m4/kpse-progs.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 $(top_srcdir)/version.ac \ $(top_srcdir)/ac/xindy.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(docdir)" "$(DESTDIR)$(langdir)" DATA = $(doc_DATA) $(nobase_nodist_lang_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/albanian/Makefile.am \ $(srcdir)/belarusian/Makefile.am \ $(srcdir)/bulgarian/Makefile.am $(srcdir)/croatian/Makefile.am \ $(srcdir)/czech/Makefile.am $(srcdir)/danish/Makefile.am \ $(srcdir)/dutch/Makefile.am $(srcdir)/english/Makefile.am \ $(srcdir)/esperanto/Makefile.am $(srcdir)/estonian/Makefile.am \ $(srcdir)/finnish/Makefile.am $(srcdir)/french/Makefile.am \ $(srcdir)/general/Makefile.am $(srcdir)/georgian/Makefile.am \ $(srcdir)/german/Makefile.am $(srcdir)/greek/Makefile.am \ $(srcdir)/gypsy/Makefile.am $(srcdir)/hausa/Makefile.am \ $(srcdir)/hebrew/Makefile.am $(srcdir)/hungarian/Makefile.am \ $(srcdir)/icelandic/Makefile.am $(srcdir)/italian/Makefile.am \ $(srcdir)/klingon/Makefile.am $(srcdir)/kurdish/Makefile.am \ $(srcdir)/latin/Makefile.am $(srcdir)/latvian/Makefile.am \ $(srcdir)/lithuanian/Makefile.am \ $(srcdir)/lower-sorbian/Makefile.am \ $(srcdir)/macedonian/Makefile.am \ $(srcdir)/mongolian/Makefile.am \ $(srcdir)/norwegian/Makefile.am $(srcdir)/persian/Makefile.am \ $(srcdir)/polish/Makefile.am $(srcdir)/portuguese/Makefile.am \ $(srcdir)/romanian/Makefile.am $(srcdir)/russian/Makefile.am \ $(srcdir)/serbian/Makefile.am $(srcdir)/slovak/Makefile.am \ $(srcdir)/slovenian/Makefile.am $(srcdir)/spanish/Makefile.am \ $(srcdir)/swedish/Makefile.am $(srcdir)/test1/Makefile.am \ $(srcdir)/turkish/Makefile.am $(srcdir)/ukrainian/Makefile.am \ $(srcdir)/upper-sorbian/Makefile.am \ $(srcdir)/vietnamese/Makefile.am DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibdir = @pkglibdir@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLISP = @CLISP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LISP_RUN = @LISP_RUN@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PERL = @PERL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WARNING_CFLAGS = @WARNING_CFLAGS@ WIN_WRAPPER = @WIN_WRAPPER@ XINDY_RUN = @XINDY_RUN@ XINDY_TREE = @XINDY_TREE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ memdir = @memdir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ langdir = $(pkglibdir)/modules/lang nobase_nodist_lang_DATA = albanian/latin1-lang.xdy \ albanian/latin1-test.xdy albanian/latin1.xdy \ albanian/utf8-lang.xdy albanian/utf8-test.xdy \ albanian/utf8.xdy belarusian/cp1251-lang.xdy \ belarusian/cp1251-test.xdy belarusian/cp1251.xdy \ belarusian/iso88595-lang.xdy belarusian/iso88595-test.xdy \ belarusian/iso88595.xdy belarusian/isoir111-lang.xdy \ belarusian/isoir111-test.xdy belarusian/isoir111.xdy \ belarusian/utf8-lang.xdy belarusian/utf8-test.xdy \ belarusian/utf8.xdy bulgarian/cp1251-lang.xdy \ bulgarian/cp1251-test.xdy bulgarian/cp1251.xdy \ bulgarian/iso88595-lang.xdy bulgarian/iso88595-test.xdy \ bulgarian/iso88595.xdy bulgarian/koi8-r-lang.xdy \ bulgarian/koi8-r-test.xdy bulgarian/koi8-r.xdy \ bulgarian/utf8-lang.xdy bulgarian/utf8-test.xdy \ bulgarian/utf8.xdy croatian/cp1250-lang.xdy \ croatian/cp1250-test.xdy croatian/cp1250.xdy \ croatian/latin2-lang.xdy croatian/latin2-test.xdy \ croatian/latin2.xdy croatian/utf8-lang.xdy \ croatian/utf8-test.xdy croatian/utf8.xdy czech/cp1250-lang.xdy \ czech/cp1250-test.xdy czech/cp1250.xdy czech/latin2-lang.xdy \ czech/latin2-test.xdy czech/latin2.xdy czech/utf8-lang.xdy \ czech/utf8-test.xdy czech/utf8.xdy danish/cp1252-lang.xdy \ danish/cp1252-test.xdy danish/cp1252.xdy \ danish/latin9-lang.xdy danish/latin9-test.xdy \ danish/latin9.xdy danish/utf8-lang.xdy danish/utf8-test.xdy \ danish/utf8.xdy dutch/ij-as-ij-latin1-lang.xdy \ dutch/ij-as-ij-latin1-test.xdy dutch/ij-as-ij-latin1.xdy \ dutch/ij-as-ij-utf8-lang.xdy dutch/ij-as-ij-utf8-test.xdy \ dutch/ij-as-ij-utf8.xdy dutch/ij-as-y-utf8-lang.xdy \ dutch/ij-as-y-utf8-test.xdy dutch/ij-as-y-utf8.xdy \ english/cp1252-lang.xdy english/cp1252-test.xdy \ english/cp1252.xdy english/latin9-lang.xdy \ english/latin9-test.xdy english/latin9.xdy \ english/utf8-lang.xdy english/utf8-test.xdy english/utf8.xdy \ esperanto/latin3-lang.xdy esperanto/latin3-test.xdy \ esperanto/latin3.xdy esperanto/utf8-lang.xdy \ esperanto/utf8-test.xdy esperanto/utf8.xdy \ estonian/cp1252-lang.xdy estonian/cp1252-test.xdy \ estonian/cp1252.xdy estonian/latin9-lang.xdy \ estonian/latin9-test.xdy estonian/latin9.xdy \ estonian/utf8-lang.xdy estonian/utf8-test.xdy \ estonian/utf8.xdy finnish/cp1252-lang.xdy \ finnish/cp1252-test.xdy finnish/cp1252.xdy \ finnish/latin9-lang.xdy finnish/latin9-test.xdy \ finnish/latin9.xdy finnish/utf8-lang.xdy finnish/utf8-test.xdy \ finnish/utf8.xdy french/cp1252-lang.xdy french/cp1252-test.xdy \ french/cp1252.xdy french/latin9-lang.xdy \ french/latin9-test.xdy french/latin9.xdy french/utf8-lang.xdy \ french/utf8-test.xdy french/utf8.xdy general/cp1252-lang.xdy \ general/cp1252-test.xdy general/cp1252.xdy \ general/cp850-lang.xdy general/cp850-test.xdy \ general/cp850.xdy general/latin9-lang.xdy \ general/latin9-test.xdy general/latin9.xdy \ general/utf8-lang.xdy general/utf8-test.xdy general/utf8.xdy \ georgian/utf8-lang.xdy georgian/utf8-test.xdy \ georgian/utf8.xdy german/braille-utf8-lang.xdy \ german/braille-utf8-test.xdy german/braille-utf8.xdy \ german/din5007-latin1-lang.xdy german/din5007-latin1-test.xdy \ german/din5007-latin1.xdy german/din5007-utf8-lang.xdy \ german/din5007-utf8-test.xdy german/din5007-utf8.xdy \ german/duden-latin1-lang.xdy german/duden-latin1-test.xdy \ german/duden-latin1.xdy german/duden-utf8-lang.xdy \ german/duden-utf8-test.xdy german/duden-utf8.xdy \ greek/iso88597-lang.xdy greek/iso88597-test.xdy \ greek/iso88597.xdy greek/polytonic-utf8-lang.xdy \ greek/polytonic-utf8-test.xdy greek/polytonic-utf8.xdy \ greek/translit-latin4-lang.xdy greek/translit-latin4-test.xdy \ greek/translit-latin4.xdy greek/translit-utf8-lang.xdy \ greek/translit-utf8-test.xdy greek/translit-utf8.xdy \ greek/utf8-lang.xdy greek/utf8-test.xdy greek/utf8.xdy \ gypsy/northrussian-utf8-lang.xdy \ gypsy/northrussian-utf8-test.xdy gypsy/northrussian-utf8.xdy \ hausa/utf8-lang.xdy hausa/utf8-test.xdy hausa/utf8.xdy \ hebrew/iso88598-lang.xdy hebrew/iso88598-test.xdy \ hebrew/iso88598.xdy hebrew/utf8-lang.xdy hebrew/utf8-test.xdy \ hebrew/utf8.xdy hungarian/cp1250-lang.xdy \ hungarian/cp1250-test.xdy hungarian/cp1250.xdy \ hungarian/latin2-lang.xdy hungarian/latin2-test.xdy \ hungarian/latin2.xdy hungarian/utf8-lang.xdy \ hungarian/utf8-test.xdy hungarian/utf8.xdy \ icelandic/cp1252-lang.xdy icelandic/cp1252-test.xdy \ icelandic/cp1252.xdy icelandic/latin9-lang.xdy \ icelandic/latin9-test.xdy icelandic/latin9.xdy \ icelandic/utf8-lang.xdy icelandic/utf8-test.xdy \ icelandic/utf8.xdy italian/latin1-lang.xdy \ italian/latin1-test.xdy italian/latin1.xdy \ italian/utf8-lang.xdy italian/utf8-test.xdy italian/utf8.xdy \ klingon/utf8-lang.xdy klingon/utf8-test.xdy klingon/utf8.xdy \ kurdish/bedirxan-latin5-lang.xdy \ kurdish/bedirxan-latin5-test.xdy kurdish/bedirxan-latin5.xdy \ kurdish/bedirxan-utf8-lang.xdy kurdish/bedirxan-utf8-test.xdy \ kurdish/bedirxan-utf8.xdy kurdish/turkish-i-latin5-lang.xdy \ kurdish/turkish-i-latin5-test.xdy kurdish/turkish-i-latin5.xdy \ kurdish/turkish-i-utf8-lang.xdy \ kurdish/turkish-i-utf8-test.xdy kurdish/turkish-i-utf8.xdy \ latin/utf8-lang.xdy latin/utf8-test.xdy latin/utf8.xdy \ latvian/latin4-lang.xdy latvian/latin4-test.xdy \ latvian/latin4.xdy latvian/utf8-lang.xdy latvian/utf8-test.xdy \ latvian/utf8.xdy lithuanian/latin4-lang.xdy \ lithuanian/latin4-test.xdy lithuanian/latin4.xdy \ lithuanian/utf8-lang.xdy lithuanian/utf8-test.xdy \ lithuanian/utf8.xdy lower-sorbian/cp1250-lang.xdy \ lower-sorbian/cp1250-test.xdy lower-sorbian/cp1250.xdy \ lower-sorbian/latin2-lang.xdy lower-sorbian/latin2-test.xdy \ lower-sorbian/latin2.xdy lower-sorbian/utf8-lang.xdy \ lower-sorbian/utf8-test.xdy lower-sorbian/utf8.xdy \ macedonian/cp1251-lang.xdy macedonian/cp1251-test.xdy \ macedonian/cp1251.xdy macedonian/iso88595-lang.xdy \ macedonian/iso88595-test.xdy macedonian/iso88595.xdy \ macedonian/isoir111-lang.xdy macedonian/isoir111-test.xdy \ macedonian/isoir111.xdy macedonian/utf8-lang.xdy \ macedonian/utf8-test.xdy macedonian/utf8.xdy \ mongolian/cyrillic-utf8-lang.xdy \ mongolian/cyrillic-utf8-test.xdy mongolian/cyrillic-utf8.xdy \ norwegian/latin1-lang.xdy norwegian/latin1-test.xdy \ norwegian/latin1.xdy norwegian/utf8-lang.xdy \ norwegian/utf8-test.xdy norwegian/utf8.xdy \ persian/variant1-utf8-lang.xdy persian/variant1-utf8-test.xdy \ persian/variant1-utf8.xdy persian/variant2-utf8-lang.xdy \ persian/variant2-utf8-test.xdy persian/variant2-utf8.xdy \ polish/cp1250-lang.xdy polish/cp1250-test.xdy \ polish/cp1250.xdy polish/latin2-lang.xdy \ polish/latin2-test.xdy polish/latin2.xdy polish/utf8-lang.xdy \ polish/utf8-test.xdy polish/utf8.xdy \ portuguese/latin1-lang.xdy portuguese/latin1-test.xdy \ portuguese/latin1.xdy portuguese/utf8-lang.xdy \ portuguese/utf8-test.xdy portuguese/utf8.xdy \ romanian/latin2-lang.xdy romanian/latin2-test.xdy \ romanian/latin2.xdy romanian/utf8-lang.xdy \ romanian/utf8-test.xdy romanian/utf8.xdy \ russian/cp1251-lang.xdy russian/cp1251-test.xdy \ russian/cp1251.xdy russian/iso88595-lang.xdy \ russian/iso88595-test.xdy russian/iso88595.xdy \ russian/koi8-r-lang.xdy russian/koi8-r-test.xdy \ russian/koi8-r.xdy russian/translit-iso-utf8-lang.xdy \ russian/translit-iso-utf8-test.xdy \ russian/translit-iso-utf8.xdy russian/utf8-lang.xdy \ russian/utf8-test.xdy russian/utf8.xdy serbian/cp1251-lang.xdy \ serbian/cp1251-test.xdy serbian/cp1251.xdy \ serbian/iso88595-lang.xdy serbian/iso88595-test.xdy \ serbian/iso88595.xdy serbian/isoir111-lang.xdy \ serbian/isoir111-test.xdy serbian/isoir111.xdy \ serbian/utf8-lang.xdy serbian/utf8-test.xdy serbian/utf8.xdy \ slovak/large-cp1250-lang.xdy slovak/large-cp1250-test.xdy \ slovak/large-cp1250.xdy slovak/large-latin2-lang.xdy \ slovak/large-latin2-test.xdy slovak/large-latin2.xdy \ slovak/large-utf8-lang.xdy slovak/large-utf8-test.xdy \ slovak/large-utf8.xdy slovak/small-cp1250-lang.xdy \ slovak/small-cp1250-test.xdy slovak/small-cp1250.xdy \ slovak/small-latin2-lang.xdy slovak/small-latin2-test.xdy \ slovak/small-latin2.xdy slovak/small-utf8-lang.xdy \ slovak/small-utf8-test.xdy slovak/small-utf8.xdy \ slovenian/cp1250-lang.xdy slovenian/cp1250-test.xdy \ slovenian/cp1250.xdy slovenian/latin2-lang.xdy \ slovenian/latin2-test.xdy slovenian/latin2.xdy \ slovenian/utf8-lang.xdy slovenian/utf8-test.xdy \ slovenian/utf8.xdy spanish/modern-latin1-lang.xdy \ spanish/modern-latin1-test.xdy spanish/modern-latin1.xdy \ spanish/modern-utf8-lang.xdy spanish/modern-utf8-test.xdy \ spanish/modern-utf8.xdy spanish/traditional-latin1-lang.xdy \ spanish/traditional-latin1-test.xdy \ spanish/traditional-latin1.xdy \ spanish/traditional-utf8-lang.xdy \ spanish/traditional-utf8-test.xdy spanish/traditional-utf8.xdy \ swedish/cp1252-lang.xdy swedish/cp1252-test.xdy \ swedish/cp1252.xdy swedish/latin9-lang.xdy \ swedish/latin9-test.xdy swedish/latin9.xdy \ swedish/utf8-lang.xdy swedish/utf8-test.xdy swedish/utf8.xdy \ turkish/latin3-lang.xdy turkish/latin3-test.xdy \ turkish/latin3.xdy turkish/latin5-lang.xdy \ turkish/latin5-test.xdy turkish/latin5.xdy \ turkish/utf8-lang.xdy turkish/utf8-test.xdy turkish/utf8.xdy \ ukrainian/cp1251-lang.xdy ukrainian/cp1251-test.xdy \ ukrainian/cp1251.xdy ukrainian/koi8-u-lang.xdy \ ukrainian/koi8-u-test.xdy ukrainian/koi8-u.xdy \ ukrainian/utf8-lang.xdy ukrainian/utf8-test.xdy \ ukrainian/utf8.xdy upper-sorbian/cp1250-lang.xdy \ upper-sorbian/cp1250-test.xdy upper-sorbian/cp1250.xdy \ upper-sorbian/latin2-lang.xdy upper-sorbian/latin2-test.xdy \ upper-sorbian/latin2.xdy upper-sorbian/utf8-lang.xdy \ upper-sorbian/utf8-test.xdy upper-sorbian/utf8.xdy \ vietnamese/utf8-lang.xdy vietnamese/utf8-test.xdy \ vietnamese/utf8.xdy EXTRA_DIST = albanian/latin1.pl albanian/utf8.pl.in \ belarusian/cp1251.pl belarusian/iso88595.pl \ belarusian/isoir111.pl belarusian/utf8.pl.in \ bulgarian/cp1251.pl bulgarian/iso88595.pl bulgarian/koi8-r.pl \ bulgarian/utf8.pl.in croatian/cp1250.pl croatian/latin2.pl \ croatian/utf8.pl.in czech/cp1250.pl czech/latin2.pl \ czech/utf8.pl.in danish/cp1252.pl danish/latin9.pl \ danish/utf8.pl.in dutch/ij-as-ij-latin1.pl \ dutch/ij-as-y-utf8.pl.in dutch/ij-as-ij-utf8.pl.in \ english/cp1252.pl english/latin9.pl english/utf8.pl.in \ esperanto/latin3.pl esperanto/utf8.pl.in estonian/cp1252.pl \ estonian/latin9.pl estonian/utf8.pl.in finnish/cp1252.pl \ finnish/latin9.pl finnish/utf8.pl.in french/cp1252.pl \ french/latin9.pl french/utf8.pl.in general/cp1252.pl \ general/cp850.pl general/latin9.pl general/template.pl \ general/utf8.pl.in georgian/utf8.pl.in \ german/braille-utf8.pl.in german/duden-latin1.pl \ german/din5007-latin1.pl german/duden-utf8.pl.in \ german/din5007-utf8.pl.in greek/iso88597.pl \ greek/polytonic-utf8.pl.in greek/utf8.pl.in \ greek/translit-latin4.pl greek/translit-utf8.pl.in \ gypsy/northrussian-utf8.pl.in hausa/utf8.pl.in \ hebrew/iso88598.pl hebrew/utf8.pl.in hungarian/cp1250.pl \ hungarian/latin2.pl hungarian/utf8.pl.in icelandic/cp1252.pl \ icelandic/latin9.pl icelandic/utf8.pl.in italian/latin1.pl \ italian/utf8.pl.in klingon/utf8.pl.in \ klingon/translit-ascii.pl kurdish/bedirxan-latin5.pl \ kurdish/bedirxan-utf8.pl.in kurdish/turkish-i-latin5.pl \ kurdish/turkish-i-utf8.pl.in latin/utf8.pl.in \ latvian/latin4.pl latvian/utf8.pl.in lithuanian/latin4.pl \ lithuanian/utf8.pl.in lower-sorbian/cp1250.pl \ lower-sorbian/latin2.pl lower-sorbian/utf8.pl.in \ macedonian/cp1251.pl macedonian/iso88595.pl \ macedonian/isoir111.pl macedonian/utf8.pl.in \ mongolian/cyrillic-utf8.pl.in norwegian/latin1.pl \ norwegian/utf8.pl.in persian/README \ persian/variant1-utf8.pl.in persian/variant2-utf8.pl.in \ polish/cp1250.pl polish/latin2.pl polish/utf8.pl.in \ portuguese/latin1.pl portuguese/utf8.pl.in romanian/latin2.pl \ romanian/utf8.pl.in russian/cp1251.pl russian/iso88595.pl \ russian/koi8-r.pl russian/translit-iso-utf8.pl.in \ russian/utf8.pl.in serbian/cp1251.pl serbian/iso88595.pl \ serbian/isoir111.pl serbian/utf8.pl.in slovak/large-cp1250.pl \ slovak/large-latin2.pl slovak/large-utf8.pl.in \ slovak/small-cp1250.pl slovak/small-latin2.pl \ slovak/small-utf8.pl.in slovenian/cp1250.pl \ slovenian/latin2.pl slovenian/utf8.pl.in \ spanish/modern-latin1.pl spanish/modern-utf8.pl.in \ spanish/traditional-latin1.pl spanish/traditional-utf8.pl.in \ swedish/cp1252.pl swedish/latin9.pl swedish/utf8.pl.in \ test1/test1.pl turkish/latin3.pl turkish/latin5.pl \ turkish/utf8.pl.in ukrainian/cp1251.pl ukrainian/koi8-u.pl \ ukrainian/utf8.pl.in upper-sorbian/cp1250.pl \ upper-sorbian/latin2.pl upper-sorbian/utf8.pl.in \ vietnamese/README vietnamese/utf8.pl.in $(SCRS) test.xdy \ rom-comma-kludge.sed DISTCLEANFILES = albanian/utf8.pl belarusian/utf8.pl bulgarian/utf8.pl \ croatian/utf8.pl czech/utf8.pl danish/utf8.pl \ dutch/ij-as-ij-utf8.pl dutch/ij-as-y-utf8.pl english/utf8.pl \ esperanto/utf8.pl estonian/utf8.pl finnish/utf8.pl \ french/utf8.pl general/utf8.pl georgian/utf8.pl \ german/braille-utf8.pl german/din5007-utf8.pl \ german/duden-utf8.pl greek/polytonic-utf8.pl \ greek/translit-utf8.pl greek/utf8.pl \ gypsy/northrussian-utf8.pl hausa/utf8.pl hebrew/utf8.pl \ hungarian/utf8.pl icelandic/utf8.pl italian/utf8.pl \ klingon/utf8.pl kurdish/bedirxan-utf8.pl \ kurdish/turkish-i-utf8.pl latin/utf8.pl latvian/utf8.pl \ lithuanian/utf8.pl lower-sorbian/utf8.pl macedonian/utf8.pl \ mongolian/cyrillic-utf8.pl norwegian/utf8.pl persian/utf8.pl \ polish/utf8.pl portuguese/utf8.pl romanian/utf8.pl \ russian/translit-iso-utf8.pl russian/utf8.pl serbian/utf8.pl \ slovak/large-utf8.pl slovak/small-utf8.pl slovenian/utf8.pl \ spanish/modern-utf8.pl spanish/traditional-utf8.pl \ swedish/utf8.pl turkish/utf8.pl ukrainian/utf8.pl \ upper-sorbian/utf8.pl vietnamese/utf8.pl DOCS_CP1250 = croatian/cp1250-doc.tex czech/cp1250-doc.tex \ hungarian/cp1250-doc.tex lower-sorbian/cp1250-doc.tex \ polish/cp1250-doc.tex slovak/large-cp1250-doc.tex \ slovak/small-cp1250-doc.tex slovenian/cp1250-doc.tex \ upper-sorbian/cp1250-doc.tex DOCS_CP1252 = danish/cp1252-doc.tex english/cp1252-doc.tex \ estonian/cp1252-doc.tex finnish/cp1252-doc.tex \ french/cp1252-doc.tex general/cp1252-doc.tex \ icelandic/cp1252-doc.tex swedish/cp1252-doc.tex DOCS_CP850 = general/cp850-doc.tex DOCS_LATIN1 = albanian/latin1-doc.tex dutch/ij-as-ij-latin1-doc.tex \ german/din5007-latin1-doc.tex german/duden-latin1-doc.tex \ italian/latin1-doc.tex norwegian/latin1-doc.tex \ portuguese/latin1-doc.tex spanish/modern-latin1-doc.tex \ spanish/traditional-latin1-doc.tex DOCS_LATIN2 = croatian/latin2-doc.tex czech/latin2-doc.tex \ hungarian/latin2-doc.tex lower-sorbian/latin2-doc.tex \ polish/latin2-doc.tex romanian/latin2-doc.tex \ slovak/small-latin2-doc.tex slovak/large-latin2-doc.tex \ slovenian/latin2-doc.tex upper-sorbian/latin2-doc.tex DOCS_LATIN3 = esperanto/latin3-doc.tex turkish/latin3-doc.tex DOCS_LATIN4 = greek/translit-latin4-doc.tex latvian/latin4-doc.tex \ lithuanian/latin4-doc.tex DOCS_LATIN5 = kurdish/bedirxan-latin5-doc.tex \ kurdish/turkish-i-latin5-doc.tex turkish/latin5-doc.tex DOCS_LATIN9 = danish/latin9-doc.tex english/latin9-doc.tex \ estonian/latin9-doc.tex finnish/latin9-doc.tex \ french/latin9-doc.tex general/latin9-doc.tex \ icelandic/latin9-doc.tex swedish/latin9-doc.tex DOCS_CYR_1251 = belarusian/cp1251-doc.tex bulgarian/cp1251-doc.tex \ macedonian/cp1251-doc.tex russian/cp1251-doc.tex \ serbian/cp1251-doc.tex ukrainian/cp1251-doc.tex DOCS_CYR_ISO88595 = belarusian/iso88595-doc.tex \ bulgarian/iso88595-doc.tex macedonian/iso88595-doc.tex \ russian/iso88595-doc.tex serbian/iso88595-doc.tex DOCS_CYR_ISOIR111 = belarusian/isoir111-doc.tex \ macedonian/isoir111-doc.tex serbian/isoir111-doc.tex DOCS_CYR_KOI8_R = bulgarian/koi8-r-doc.tex russian/koi8-r-doc.tex DOCS_CYR_KOI8_U = ukrainian/koi8-u-doc.tex DOCS_OTHER = greek/iso88597-doc.tex hebrew/iso88598-doc.tex DOCS_UTF8_LAT = albanian/utf8-doc.tex croatian/utf8-doc.tex \ czech/utf8-doc.tex danish/utf8-doc.tex \ dutch/ij-as-ij-utf8-doc.tex dutch/ij-as-y-utf8-doc.tex \ english/utf8-doc.tex esperanto/utf8-doc.tex \ estonian/utf8-doc.tex finnish/utf8-doc.tex french/utf8-doc.tex \ general/utf8-doc.tex german/din5007-utf8-doc.tex \ german/duden-utf8-doc.tex greek/translit-utf8-doc.tex \ greek/utf8-doc.tex gypsy/northrussian-utf8-doc.tex \ hausa/utf8-doc.tex hungarian/utf8-doc.tex \ icelandic/utf8-doc.tex italian/utf8-doc.tex \ kurdish/bedirxan-utf8-doc.tex kurdish/turkish-i-utf8-doc.tex \ latin/utf8-doc.tex latvian/utf8-doc.tex \ lithuanian/utf8-doc.tex lower-sorbian/utf8-doc.tex \ norwegian/utf8-doc.tex polish/utf8-doc.tex \ portuguese/utf8-doc.tex romanian/utf8-doc.tex \ russian/translit-iso-utf8-doc.tex slovak/small-utf8-doc.tex \ slovak/large-utf8-doc.tex slovenian/utf8-doc.tex \ spanish/modern-utf8-doc.tex spanish/traditional-utf8-doc.tex \ swedish/utf8-doc.tex turkish/utf8-doc.tex \ upper-sorbian/utf8-doc.tex vietnamese/utf8-doc.tex DOCS_UTF8_CYR = belarusian/utf8-doc.tex bulgarian/utf8-doc.tex \ macedonian/utf8-doc.tex mongolian/cyrillic-utf8-doc.tex \ russian/utf8-doc.tex serbian/utf8-doc.tex \ ukrainian/utf8-doc.tex DOCS_UTF8_OTHER = georgian/utf8-doc.tex german/braille-utf8-doc.tex \ greek/utf8-doc.tex greek/polytonic-utf8-doc.tex \ hebrew/utf8-doc.tex klingon/utf8-doc.tex \ persian/variant1-utf8-doc.tex persian/variant2-utf8-doc.tex SCRS = \ alphabets-doc.tex \ make-rules.pl \ utf8-to-tex.sed DOCS_CPS = \ $(DOCS_CP1250) \ $(DOCS_CP1252) \ $(DOCS_CP850) DOCS_LAT = \ $(DOCS_LATIN1) \ $(DOCS_LATIN2) \ $(DOCS_LATIN3) \ $(DOCS_LATIN4) \ $(DOCS_LATIN5) \ $(DOCS_LATIN9) DOCS_CYR = \ $(DOCS_CYR_1251) \ $(DOCS_CYR_ISO88595) \ $(DOCS_CYR_ISOIR111) \ $(DOCS_CYR_KOI8_R) \ $(DOCS_CYR_KOI8_U) DOCS_UTF8 = \ $(DOCS_UTF8_LAT) \ $(DOCS_UTF8_CYR) \ $(DOCS_UTF8_OTHER) DOCS = $(DOCS_CPS) $(DOCS_LAT) $(DOCS_CYR) $(DOCS_OTHER) $(DOCS_UTF8) @BUILDDOCS_TRUE@@BUILDRULES_TRUE@PDFS = alphabets-doc.pdf @BUILDDOCS_TRUE@@BUILDRULES_TRUE@doc_DATA = $(PDFS) DOC_CLEAN = \ alphabets-doc.aux \ alphabets-doc.log \ alphabets-doc.out \ alphabets-doc.pdf \ alphabets-inc.tex \ alphabets-doc.toc CLEANFILES = */*.raw */*-doc.tex $(nobase_nodist_lang_DATA) $(DOC_CLEAN) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/albanian/Makefile.am $(srcdir)/belarusian/Makefile.am $(srcdir)/bulgarian/Makefile.am $(srcdir)/croatian/Makefile.am $(srcdir)/czech/Makefile.am $(srcdir)/danish/Makefile.am $(srcdir)/dutch/Makefile.am $(srcdir)/english/Makefile.am $(srcdir)/esperanto/Makefile.am $(srcdir)/estonian/Makefile.am $(srcdir)/finnish/Makefile.am $(srcdir)/french/Makefile.am $(srcdir)/general/Makefile.am $(srcdir)/georgian/Makefile.am $(srcdir)/german/Makefile.am $(srcdir)/greek/Makefile.am $(srcdir)/gypsy/Makefile.am $(srcdir)/hausa/Makefile.am $(srcdir)/hebrew/Makefile.am $(srcdir)/hungarian/Makefile.am $(srcdir)/icelandic/Makefile.am $(srcdir)/italian/Makefile.am $(srcdir)/klingon/Makefile.am $(srcdir)/kurdish/Makefile.am $(srcdir)/latin/Makefile.am $(srcdir)/latvian/Makefile.am $(srcdir)/lithuanian/Makefile.am $(srcdir)/lower-sorbian/Makefile.am $(srcdir)/macedonian/Makefile.am $(srcdir)/mongolian/Makefile.am $(srcdir)/norwegian/Makefile.am $(srcdir)/persian/Makefile.am $(srcdir)/polish/Makefile.am $(srcdir)/portuguese/Makefile.am $(srcdir)/romanian/Makefile.am $(srcdir)/russian/Makefile.am $(srcdir)/serbian/Makefile.am $(srcdir)/slovak/Makefile.am $(srcdir)/slovenian/Makefile.am $(srcdir)/spanish/Makefile.am $(srcdir)/swedish/Makefile.am $(srcdir)/test1/Makefile.am $(srcdir)/turkish/Makefile.am $(srcdir)/ukrainian/Makefile.am $(srcdir)/upper-sorbian/Makefile.am $(srcdir)/vietnamese/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xindy-2.5.1/make-rules/alphabets/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign xindy-2.5.1/make-rules/alphabets/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(srcdir)/albanian/Makefile.am $(srcdir)/belarusian/Makefile.am $(srcdir)/bulgarian/Makefile.am $(srcdir)/croatian/Makefile.am $(srcdir)/czech/Makefile.am $(srcdir)/danish/Makefile.am $(srcdir)/dutch/Makefile.am $(srcdir)/english/Makefile.am $(srcdir)/esperanto/Makefile.am $(srcdir)/estonian/Makefile.am $(srcdir)/finnish/Makefile.am $(srcdir)/french/Makefile.am $(srcdir)/general/Makefile.am $(srcdir)/georgian/Makefile.am $(srcdir)/german/Makefile.am $(srcdir)/greek/Makefile.am $(srcdir)/gypsy/Makefile.am $(srcdir)/hausa/Makefile.am $(srcdir)/hebrew/Makefile.am $(srcdir)/hungarian/Makefile.am $(srcdir)/icelandic/Makefile.am $(srcdir)/italian/Makefile.am $(srcdir)/klingon/Makefile.am $(srcdir)/kurdish/Makefile.am $(srcdir)/latin/Makefile.am $(srcdir)/latvian/Makefile.am $(srcdir)/lithuanian/Makefile.am $(srcdir)/lower-sorbian/Makefile.am $(srcdir)/macedonian/Makefile.am $(srcdir)/mongolian/Makefile.am $(srcdir)/norwegian/Makefile.am $(srcdir)/persian/Makefile.am $(srcdir)/polish/Makefile.am $(srcdir)/portuguese/Makefile.am $(srcdir)/romanian/Makefile.am $(srcdir)/russian/Makefile.am $(srcdir)/serbian/Makefile.am $(srcdir)/slovak/Makefile.am $(srcdir)/slovenian/Makefile.am $(srcdir)/spanish/Makefile.am $(srcdir)/swedish/Makefile.am $(srcdir)/test1/Makefile.am $(srcdir)/turkish/Makefile.am $(srcdir)/ukrainian/Makefile.am $(srcdir)/upper-sorbian/Makefile.am $(srcdir)/vietnamese/Makefile.am $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-docDATA: $(doc_DATA) @$(NORMAL_INSTALL) @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ done uninstall-docDATA: @$(NORMAL_UNINSTALL) @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) install-nobase_nodist_langDATA: $(nobase_nodist_lang_DATA) @$(NORMAL_INSTALL) @list='$(nobase_nodist_lang_DATA)'; test -n "$(langdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(langdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(langdir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(langdir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(langdir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(langdir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(langdir)/$$dir" || exit $$?; }; \ done uninstall-nobase_nodist_langDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_nodist_lang_DATA)'; test -n "$(langdir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(langdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(docdir)" "$(DESTDIR)$(langdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-docDATA install-nobase_nodist_langDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-docDATA uninstall-nobase_nodist_langDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-docDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man \ install-nobase_nodist_langDATA install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-docDATA uninstall-nobase_nodist_langDATA .PRECIOUS: Makefile %utf8.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@.{\([^}]*\)}/\1/g;' <$< >$@ %latin1.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO8859-1 >$@ %cp850.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@.{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t CP850 >$@ romanian/latin2.pl : romanian/utf8.pl.in @$(MKDIR_P) romanian sed -e 's/@u{\([^}]*\)}//g;' -f $(srcdir)/rom-comma-kludge.sed <$< | \ iconv -f UTF-8 -t ISO8859-2 >$@ %latin2.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO8859-2 >$@ %latin3.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO8859-3 >$@ %latin4.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO8859-4 >$@ %iso88595.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-8859-5 >$@ %iso88597.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-8859-7 >$@ %iso88598.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-8859-8 >$@ %latin5.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-8859-9 >$@ %latin9.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;s/@9{\([^}]*\)}/\1/g;' <$< | \ iconv -f UTF-8 -t ISO-8859-15 >$@ %cp1250.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t CP1250 >$@ %cp1251.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t CP1251 >$@ %cp1252.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;s/@9{\([^}]*\)}/\1/g;' <$< | \ iconv -f UTF-8 -t CP1252 >$@ %isoir111.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t ISO-IR-111 >$@ %koi8-r.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t KOI8-R >$@ %koi8-u.pl : %utf8.pl.in @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` sed -e 's/@u{\([^}]*\)}//g;' <$< | \ iconv -f UTF-8 -t KOI8-U >$@ # %tex.pl : %utf8.pl utf8-to-tex.sed # sed -f $(srcdir)/utf8-to-tex.sed <$< >$@ %-lang.xdy : %-test.xdy sed -n '1,10 p' <$< >$@ # Running "$(PERL) -I$(srcdir) $< $*" creates %-test.xdy, %-doc.tex, %.raw, # and %.xdy; %-test.xdy is finished first. We must not run this command # several times simultaneously (for details see Automake manual 27.9). %-test.xdy : %.pl @$(MKDIR_P) `echo $@ | sed -e 's,/[^/]*$$,,'` $(PERL) -I$(srcdir) $< $* %-doc.tex %.xdy : %-test.xdy @if test -f $@; then :; else \ trap 'rm -rf $*.lock $<' 1 2 13 15; \ if mkdir $*.lock 2>/dev/null; then \ rm -f $<; \ $(MAKE) $(AM_MAKEFLAGS) $<; \ result=$$?; rm -rf $*.lock; exit $$result; \ else \ while test -d $*.lock; do sleep 1; done; \ test -f $<; \ fi; \ fi alphabets-inc.tex : $(DOCS) $(RM) $@ echo '\chapter{Latin scripts}' >>$@ echo '\ienc{cp1252}' >>$@ echo '\section{Codepage 1252}' >>$@ for i in $(DOCS_CP1252); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin1}' >>$@ echo '\section{Codepage latin1}' >>$@ for i in $(DOCS_LATIN1); do echo "\\input{$$i}" >>$@; done echo '\ienc{cp850}' >>$@ echo '\section{Codepage 850}' >>$@ for i in $(DOCS_CP850); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin2}' >>$@ echo '\section{Codepage latin2}' >>$@ for i in $(DOCS_LATIN2); do echo "\\input{$$i}" >>$@; done echo '\ienc{cp1250}' >>$@ echo '\section{Codepage 1250}' >>$@ for i in $(DOCS_CP1250); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin3}' >>$@ echo '\section{Codepage latin3}' >>$@ for i in $(DOCS_LATIN3); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin4}' >>$@ echo '\section{Codepage latin4}' >>$@ for i in $(DOCS_LATIN4); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin5}' >>$@ echo '\section{Codepage latin5}' >>$@ for i in $(DOCS_LATIN5); do echo "\\input{$$i}" >>$@; done echo '\ienc{latin9}' >>$@ echo '\section{Codepage latin9}' >>$@ for i in $(DOCS_LATIN9); do echo "\\input{$$i}" >>$@; done echo '\ienc{cp1251}' >>$@ echo '\fenc{T2A}' >>$@ echo '\chapter{Cyrillic scripts}' >>$@ echo '\section{Codepage 1251}' >>$@ for i in $(DOCS_CYR_1251); do echo "\\input{$$i}" >>$@; done # echo '\ienc{iso-8859-7}' >>$@ # echo '\fenc{LGR}' >>$@ # echo '\chapter{Other scripts}' >>$@ # for i in $(DOCS_OTHER); do echo "\\input{$$i}" >>$@; done # FIXME: UTF8 encoding # echo '\section{UTF-8 scripts}' >>$@ # for i in $(DOCS_UTF8); do echo "\\input{$$i}" >>$@; done # echo '\ienc{utf8}' >>$@ # whether to build docs @BUILDDOCS_TRUE@@BUILDRULES_TRUE@alphabets-doc.pdf : alphabets-doc.tex alphabets-inc.tex @BUILDDOCS_TRUE@@BUILDRULES_TRUE@ $(PDFLATEX) -interaction nonstopmode $(srcdir)/alphabets-doc.tex @BUILDDOCS_TRUE@@BUILDRULES_TRUE@ $(PDFLATEX) -interaction nonstopmode $(srcdir)/alphabets-doc.tex # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xindy-2.5.1.20160104/make-rules/alphabets/albanian/000077500000000000000000000000001264235421100213235ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/albanian/Makefile.am000066400000000000000000000023461264235421100233640ustar00rootroot00000000000000## Makefile.am fragment for alphabets/albanian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ albanian/latin1-lang.xdy \ albanian/latin1-test.xdy \ albanian/latin1.xdy \ albanian/utf8-lang.xdy \ albanian/utf8-test.xdy \ albanian/utf8.xdy EXTRA_DIST += \ albanian/latin1.pl \ albanian/utf8.pl.in DISTCLEANFILES += \ albanian/utf8.pl DOCS_LATIN1 += \ albanian/latin1-doc.tex DOCS_UTF8_LAT += \ albanian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/albanian/latin1.pl000066400000000000000000000130571264235421100230560ustar00rootroot00000000000000#!/usr/bin/perl $language = "Albanian"; $prefix = "sq"; $script = "latin"; $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) ['Ç', ['ç','Ç']], ['D', ['d','D']], ['Dh', ['dh','Dh','DH']], [], # 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 ogonek (polish) ['F', ['f','F']], ['G', ['g','G']], ['Gj', ['gj','Gj','GJ']], [], # 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', ['ll','Ll','LL']], [], # ly (hungarian) [], # l with caron (slovak/large) [], # l with cedilla/comma (latvian) [], # l with stroke (polish) ['M', ['m','M']], ['N', ['n','N']], ['Nj', ['nj','Nj','NJ']], [], # 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', ['rr','Rr','RR']], [], # r with caron (czech, slovak/large, upper sorbian) [], # r with acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], ['Sh', ['sh','Sh','SH']], [], # 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', ['th','Th','TH']], [], # 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', ['xh','Xh','XH']], ['Y', ['y','Y']], [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], ['Zh', ['zh','Zh','ZH']], [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/albanian/utf8.pl.in000066400000000000000000000130651264235421100231600ustar00rootroot00000000000000#!/usr/bin/perl $language = "Albanian"; $prefix = "sq"; $script = "latin"; $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) ['Ç', ['ç','Ç']], ['D', ['d','D']], ['Dh', ['dh','Dh','DH']], [], # 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 ogonek (polish) ['F', ['f','F']], ['G', ['g','G']], ['Gj', ['gj','Gj','GJ']], [], # 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', ['ll','Ll','LL']], [], # ly (hungarian) [], # l with caron (slovak/large) [], # l with cedilla/comma (latvian) [], # l with stroke (polish) ['M', ['m','M']], ['N', ['n','N']], ['Nj', ['nj','Nj','NJ']], [], # 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', ['rr','Rr','RR']], [], # r with caron (czech, slovak/large, upper sorbian) [], # r with acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], ['Sh', ['sh','Sh','SH']], [], # 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', ['th','Th','TH']], [], # 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', ['xh','Xh','XH']], ['Y', ['y','Y']], [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], ['Zh', ['zh','Zh','ZH']], [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/alphabets-doc.tex000066400000000000000000000023611264235421100230100ustar00rootroot00000000000000\documentclass{report} \usepackage[noheadfoot,margin=.5cm]{geometry} \usepackage[TS1,LGR,T2A,T1]{fontenc} \usepackage[colorlinks]{hyperref} \usepackage[cp1252,latin1,cp850,latin2,cp1250,latin3,latin4,latin5,latin9,cp1251]{inputenc} \newcommand{\idef}{\inputencoding{cp1252}} \newcommand{\fdef}{\fontencoding{T1}\selectfont} \newcommand{\icod}{\inputencoding{cp1252}} \newcommand{\fcod}{\fontencoding{T1}\selectfont} \newcommand{\ienc}[1]{\renewcommand{\icod}{\inputencoding{#1}}} \newcommand{\fenc}[1]{\renewcommand{\fcod}{\fontencoding{#1}\selectfont}} \newenvironment{alphabet}{\begin{tabular}{*{16}{l}}% & \small (\v{}) & \small (\'{}) & \small (\`{}) & \small (\u{}) & \small (\^{}) & \small (\~{}) & \small (\r{}) & \small (\"{}) & \small (,) & \small (\c{}) & \small (k{}) & \small (\.{}) & \small (-) & \small (\={}) & \small (?)\\}{\end{tabular}} \setcounter{tocdepth}{2} \renewcommand*{\contentsname}{\begin{center} {Alphabets} \\ \texttt{\Large Generated by \tt make-rules.pl \\} \normalsize{\textnormal{\today}} \end{center}} \begin{document} %\maketitle %\begin{center} %{\LARGE Alphabets} --- %\texttt{\Large Generated by \tt make-rules.pl} -- % \large \today %\end{center} \tableofcontents \newpage \input{alphabets-inc.tex} \end{document} xindy-2.5.1.20160104/make-rules/alphabets/belarusian/000077500000000000000000000000001264235421100217035ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/belarusian/Makefile.am000066400000000000000000000031221264235421100237350ustar00rootroot00000000000000## Makefile.am fragment for alphabets/belarusian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ belarusian/cp1251-lang.xdy \ belarusian/cp1251-test.xdy \ belarusian/cp1251.xdy \ belarusian/iso88595-lang.xdy \ belarusian/iso88595-test.xdy \ belarusian/iso88595.xdy \ belarusian/isoir111-lang.xdy \ belarusian/isoir111-test.xdy \ belarusian/isoir111.xdy \ belarusian/utf8-lang.xdy \ belarusian/utf8-test.xdy \ belarusian/utf8.xdy EXTRA_DIST += \ belarusian/cp1251.pl \ belarusian/iso88595.pl \ belarusian/isoir111.pl \ belarusian/utf8.pl.in DISTCLEANFILES += \ belarusian/utf8.pl DOCS_CYR_1251 += \ belarusian/cp1251-doc.tex DOCS_CYR_ISO88595 += \ belarusian/iso88595-doc.tex DOCS_CYR_ISOIR111 += \ belarusian/isoir111-doc.tex DOCS_UTF8_CYR += \ belarusian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/belarusian/cp1251.pl000066400000000000000000000032101264235421100231470ustar00rootroot00000000000000#!/usr/bin/perl $language = "Belarusian"; $prefix = "be"; $script = "cyrillic"; $alphabet = [ ['À', ['à','À']], ['Á', ['á','Á']], ['Â', ['â','Â']], ['Ã', ['ã','Ã']], [], # ghe with upturn (ukrainian) ['Ä', ['ä','Ä']], [], # dje (serbian) [], # gje (macedonian) ['Å', ['å','Å'],['¸','¨']], [], # io (mongolian) [], # ukrainian ie ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], [], # dze (macedonian) ['È', ['è','È']], ['²', ['³','²']], [], # yi (ukrainian) ['É', ['é','É']], [], # je (macedonian, serbian) ['Ê', ['ê','Ê']], ['Ë', ['ë','Ë']], [], # lje (macedonian, serbian) ['Ì', ['ì','Ì']], ['Í', ['í','Í']], [], # nje (macedonian, serbian) ['Î', ['î','Î']], [], # barred o (mongolian) ['Ï', ['ï','Ï']], ['Ð', ['ð','Ð']], ['Ñ', ['ñ','Ñ']], ['Ò', ['ò','Ò']], [], # tshe (serbian) [], # kje (macedonian) ['Ó', ['ó','Ó']], ['¡', ['¢','¡']], [], # straight u (mongolian) ['Ô', ['ô','Ô']], ['Õ', ['õ','Õ']], ['Ö', ['ö','Ö']], ['×', ['÷','×']], [], # dzhe (macedonian, serbian) ['Ø', ['ø','Ø']], ['Ù', ['ù','Ù']], ['Ú', ['ú','Ú']], ['Û', ['û','Û']], ['Ü', ['ü','Ü']], [], ['Ý', ['ý','Ý']], ['Þ', ['þ','Þ']], ['ß', ['ÿ','ß']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/belarusian/iso88595.pl000066400000000000000000000032101264235421100234510ustar00rootroot00000000000000#!/usr/bin/perl $language = "Belarusian"; $prefix = "be"; $script = "cyrillic"; $alphabet = [ ['°', ['Ð','°']], ['±', ['Ñ','±']], ['²', ['Ò','²']], ['³', ['Ó','³']], [], # ghe with upturn (ukrainian) ['´', ['Ô','´']], [], # dje (serbian) [], # gje (macedonian) ['µ', ['Õ','µ'],['ñ','¡']], [], # io (mongolian) [], # ukrainian ie ['¶', ['Ö','¶']], ['·', ['×','·']], [], # dze (macedonian) ['¸', ['Ø','¸']], ['¦', ['ö','¦']], [], # yi (ukrainian) ['¹', ['Ù','¹']], [], # je (macedonian, serbian) ['º', ['Ú','º']], ['»', ['Û','»']], [], # lje (macedonian, serbian) ['¼', ['Ü','¼']], ['½', ['Ý','½']], [], # nje (macedonian, serbian) ['¾', ['Þ','¾']], [], # barred o (mongolian) ['¿', ['ß','¿']], ['À', ['à','À']], ['Á', ['á','Á']], ['Â', ['â','Â']], [], # tshe (serbian) [], # kje (macedonian) ['Ã', ['ã','Ã']], ['®', ['þ','®']], [], # straight u (mongolian) ['Ä', ['ä','Ä']], ['Å', ['å','Å']], ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], [], # dzhe (macedonian, serbian) ['È', ['è','È']], ['É', ['é','É']], ['Ê', ['ê','Ê']], ['Ë', ['ë','Ë']], ['Ì', ['ì','Ì']], [], ['Í', ['í','Í']], ['Î', ['î','Î']], ['Ï', ['ï','Ï']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/belarusian/isoir111.pl000066400000000000000000000032101264235421100236040ustar00rootroot00000000000000#!/usr/bin/perl $language = "Belarusian"; $prefix = "be"; $script = "cyrillic"; $alphabet = [ ['á', ['Á','á']], ['â', ['Â','â']], ['÷', ['×','÷']], ['ç', ['Ç','ç']], [], # ghe with upturn (ukrainian) ['ä', ['Ä','ä']], [], # dje (serbian) [], # gje (macedonian) ['å', ['Å','å'],['£','³']], [], # io (mongolian) [], # ukrainian ie ['ö', ['Ö','ö']], ['ú', ['Ú','ú']], [], # dze (macedonian) ['é', ['É','é']], ['¶', ['¦','¶']], [], # yi (ukrainian) ['ê', ['Ê','ê']], [], # je (macedonian, serbian) ['ë', ['Ë','ë']], ['ì', ['Ì','ì']], [], # lje (macedonian, serbian) ['í', ['Í','í']], ['î', ['Î','î']], [], # nje (macedonian, serbian) ['ï', ['Ï','ï']], [], # barred o (mongolian) ['ð', ['Ð','ð']], ['ò', ['Ò','ò']], ['ó', ['Ó','ó']], ['ô', ['Ô','ô']], [], # tshe (serbian) [], # kje (macedonian) ['õ', ['Õ','õ']], ['¾', ['®','¾']], [], # straight u (mongolian) ['æ', ['Æ','æ']], ['è', ['È','è']], ['ã', ['Ã','ã']], ['þ', ['Þ','þ']], [], # dzhe (macedonian, serbian) ['û', ['Û','û']], ['ý', ['Ý','ý']], ['ÿ', ['ß','ÿ']], ['ù', ['Ù','ù']], ['ø', ['Ø','ø']], [], ['ü', ['Ü','ü']], ['à', ['À','à']], ['ñ', ['Ñ','ñ']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/belarusian/utf8.pl.in000066400000000000000000000033601264235421100235350ustar00rootroot00000000000000#!/usr/bin/perl $language = "Belarusian"; $prefix = "be"; $script = "cyrillic"; $alphabet = [ ['Ð', ['а','Ð']], ['Б', ['б','Б']], ['Ð’', ['в','Ð’']], ['Г', ['г','Г']], [], # ghe with upturn (ukrainian) ['Д', ['д','Д']], [], # dje (serbian) [], # gje (macedonian) ['Е', ['е','Е'],['Ñ‘','Ð']], [], # io (mongolian) [], # ukrainian ie ['Ж', ['ж','Ж']], ['З', ['з','З']], [], # dze (macedonian) ['И', ['и','И']], ['І', ['Ñ–','І']], [], # yi (ukrainian) ['Й', ['й','Й']], [], # je (macedonian, serbian) ['К', ['к','К']], ['Л', ['л','Л']], [], # lje (macedonian, serbian) ['М', ['м','М']], ['Ð', ['н','Ð']], [], # nje (macedonian, serbian) ['О', ['о','О']], [], # barred o (mongolian) ['П', ['п','П']], ['Р', ['Ñ€','Р']], ['С', ['Ñ','С']], ['Т', ['Ñ‚','Т']], [], # tshe (serbian) [], # kje (macedonian) ['У', ['у','У']], ['ÐŽ', ['Ñž','ÐŽ']], [], # straight u (mongolian) ['Ф', ['Ñ„','Ф']], ['Ð¥', ['Ñ…','Ð¥']], ['Ц', ['ц','Ц']], ['Ч', ['ч','Ч']], [], # dzhe (macedonian, serbian) ['Ш', ['ш','Ш']], ['Щ', ['щ','Щ']], ['Ъ', ['ÑŠ','Ъ']], ['Ы', ['Ñ‹','Ы']], ['Ь', ['ÑŒ','Ь']], [], ['Э', ['Ñ','Э']], ['Ю', ['ÑŽ','Ю']], ['Я', ['Ñ','Я']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/bulgarian/000077500000000000000000000000001264235421100215225ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/bulgarian/Makefile.am000066400000000000000000000030601264235421100235550ustar00rootroot00000000000000## Makefile.am fragment for alphabets/bulgarian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ bulgarian/cp1251-lang.xdy \ bulgarian/cp1251-test.xdy \ bulgarian/cp1251.xdy \ bulgarian/iso88595-lang.xdy \ bulgarian/iso88595-test.xdy \ bulgarian/iso88595.xdy \ bulgarian/koi8-r-lang.xdy \ bulgarian/koi8-r-test.xdy \ bulgarian/koi8-r.xdy \ bulgarian/utf8-lang.xdy \ bulgarian/utf8-test.xdy \ bulgarian/utf8.xdy EXTRA_DIST += \ bulgarian/cp1251.pl \ bulgarian/iso88595.pl \ bulgarian/koi8-r.pl \ bulgarian/utf8.pl.in DISTCLEANFILES += \ bulgarian/utf8.pl DOCS_CYR_1251 += \ bulgarian/cp1251-doc.tex DOCS_CYR_ISO88595 += \ bulgarian/iso88595-doc.tex DOCS_CYR_KOI8_R += \ bulgarian/koi8-r-doc.tex DOCS_UTF8_CYR += \ bulgarian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/bulgarian/cp1251.pl000066400000000000000000000033411264235421100227730ustar00rootroot00000000000000#!/usr/bin/perl $language = "Bulgarian"; $prefix = "bg"; $script = "cyrillic"; $alphabet = [ ['À', ['à','À']], ['Á', ['á','Á']], ['Â', ['â','Â']], ['Ã', ['ã','Ã']], [], # ghe with upturn (ukrainian) ['Ä', ['ä','Ä']], [], # dje (serbian) [], # gje (macedonian) ['Å', ['å','Å']], [], # io (mongolian) [], # ukrainian ie ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], [], # dze (macedonian) ['È', ['è','È']], [], # belarusian-ukrainian i [], # yi (ukrainian) ['É', ['é','É']], [], # je (macedonian, serbian) ['Ê', ['ê','Ê']], ['Ë', ['ë','Ë']], [], # lje (macedonian, serbian) ['Ì', ['ì','Ì']], ['Í', ['í','Í']], [], # nje (macedonian, serbian) ['Î', ['î','Î']], [], # barred o (mongolian) ['Ï', ['ï','Ï']], ['Ð', ['ð','Ð']], ['Ñ', ['ñ','Ñ']], ['Ò', ['ò','Ò']], [], # tshe (serbian) [], # kje (macedonian) ['Ó', ['ó','Ó']], [], # short u (belarusian) [], # straight u (mongolian) ['Ô', ['ô','Ô']], ['Õ', ['õ','Õ']], ['Ö', ['ö','Ö']], ['×', ['÷','×']], [], # dzhe (macedonian, serbian) ['Ø', ['ø','Ø']], ['Ù', ['ù','Ù']], ['Ú', ['ú','Ú']], [], # yeru (belarusian, russian) ['Ü', ['ü','Ü']], [], [], # e (belarusian, russian) ['Þ', ['þ','Þ']], ['ß', ['ÿ','ß']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/bulgarian/iso88595.pl000066400000000000000000000033411264235421100232750ustar00rootroot00000000000000#!/usr/bin/perl $language = "Bulgarian"; $prefix = "bg"; $script = "cyrillic"; $alphabet = [ ['°', ['Ð','°']], ['±', ['Ñ','±']], ['²', ['Ò','²']], ['³', ['Ó','³']], [], # ghe with upturn (ukrainian) ['´', ['Ô','´']], [], # dje (serbian) [], # gje (macedonian) ['µ', ['Õ','µ']], [], # io (mongolian) [], # ukrainian ie ['¶', ['Ö','¶']], ['·', ['×','·']], [], # dze (macedonian) ['¸', ['Ø','¸']], [], # belarusian-ukrainian i [], # yi (ukrainian) ['¹', ['Ù','¹']], [], # je (macedonian, serbian) ['º', ['Ú','º']], ['»', ['Û','»']], [], # lje (macedonian, serbian) ['¼', ['Ü','¼']], ['½', ['Ý','½']], [], # nje (macedonian, serbian) ['¾', ['Þ','¾']], [], # barred o (mongolian) ['¿', ['ß','¿']], ['À', ['à','À']], ['Á', ['á','Á']], ['Â', ['â','Â']], [], # tshe (serbian) [], # kje (macedonian) ['Ã', ['ã','Ã']], [], # short u (belarusian) [], # straight u (mongolian) ['Ä', ['ä','Ä']], ['Å', ['å','Å']], ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], [], # dzhe (macedonian, serbian) ['È', ['è','È']], ['É', ['é','É']], ['Ê', ['ê','Ê']], [], # yeru (belarusian, russian) ['Ì', ['ì','Ì']], [], [], # e (belarusian, russian) ['Î', ['î','Î']], ['Ï', ['ï','Ï']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/bulgarian/koi8-r.pl000066400000000000000000000033411264235421100231710ustar00rootroot00000000000000#!/usr/bin/perl $language = "Bulgarian"; $prefix = "bg"; $script = "cyrillic"; $alphabet = [ ['á', ['Á','á']], ['â', ['Â','â']], ['÷', ['×','÷']], ['ç', ['Ç','ç']], [], # ghe with upturn (ukrainian) ['ä', ['Ä','ä']], [], # dje (serbian) [], # gje (macedonian) ['å', ['Å','å']], [], # io (mongolian) [], # ukrainian ie ['ö', ['Ö','ö']], ['ú', ['Ú','ú']], [], # dze (macedonian) ['é', ['É','é']], [], # belarusian-ukrainian i [], # yi (ukrainian) ['ê', ['Ê','ê']], [], # je (macedonian, serbian) ['ë', ['Ë','ë']], ['ì', ['Ì','ì']], [], # lje (macedonian, serbian) ['í', ['Í','í']], ['î', ['Î','î']], [], # nje (macedonian, serbian) ['ï', ['Ï','ï']], [], # barred o (mongolian) ['ð', ['Ð','ð']], ['ò', ['Ò','ò']], ['ó', ['Ó','ó']], ['ô', ['Ô','ô']], [], # tshe (serbian) [], # kje (macedonian) ['õ', ['Õ','õ']], [], # short u (belarusian) [], # straight u (mongolian) ['æ', ['Æ','æ']], ['è', ['È','è']], ['ã', ['Ã','ã']], ['þ', ['Þ','þ']], [], # dzhe (macedonian, serbian) ['û', ['Û','û']], ['ý', ['Ý','ý']], ['ÿ', ['ß','ÿ']], [], # yeru (belarusian, russian) ['ø', ['Ø','ø']], [], [], # e (belarusian, russian) ['à', ['À','à']], ['ñ', ['Ñ','ñ']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/bulgarian/utf8.pl.in000066400000000000000000000035211264235421100233530ustar00rootroot00000000000000#!/usr/bin/perl $language = "Bulgarian"; $prefix = "bg"; $script = "cyrillic"; $alphabet = [ ['Ð', ['а','Ð']], ['Б', ['б','Б']], ['Ð’', ['в','Ð’']], ['Г', ['г','Г']], [], # ghe with upturn (ukrainian) ['Д', ['д','Д']], [], # dje (serbian) [], # gje (macedonian) ['Е', ['е','Е']], [], # io (mongolian) [], # ukrainian ie ['Ж', ['ж','Ж']], ['З', ['з','З']], [], # dze (macedonian) ['И', ['и','И']], [], # belarusian-ukrainian i [], # yi (ukrainian) ['Й', ['й','Й']], [], # je (macedonian, serbian) ['К', ['к','К']], ['Л', ['л','Л']], [], # lje (macedonian, serbian) ['М', ['м','М']], ['Ð', ['н','Ð']], [], # nje (macedonian, serbian) ['О', ['о','О']], [], # barred o (mongolian) ['П', ['п','П']], ['Р', ['Ñ€','Р']], ['С', ['Ñ','С']], ['Т', ['Ñ‚','Т']], [], # tshe (serbian) [], # kje (macedonian) ['У', ['у','У']], [], # short u (belarusian) [], # straight u (mongolian) ['Ф', ['Ñ„','Ф']], ['Ð¥', ['Ñ…','Ð¥']], ['Ц', ['ц','Ц']], ['Ч', ['ч','Ч']], [], # dzhe (macedonian, serbian) ['Ш', ['ш','Ш']], ['Щ', ['щ','Щ']], ['Ъ', ['ÑŠ','Ъ']], [], # yeru (belarusian, russian) ['Ь', ['ÑŒ','Ь']], [], [], # e (belarusian, russian) ['Ю', ['ÑŽ','Ю']], ['Я', ['Ñ','Я']], [], [@u{'Ѫ', ['Ñ«','Ѫ']}], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/croatian/000077500000000000000000000000001264235421100213565ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/croatian/Makefile.am000066400000000000000000000025651264235421100234220ustar00rootroot00000000000000## Makefile.am fragment for alphabets/croatian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ croatian/cp1250-lang.xdy \ croatian/cp1250-test.xdy \ croatian/cp1250.xdy \ croatian/latin2-lang.xdy \ croatian/latin2-test.xdy \ croatian/latin2.xdy \ croatian/utf8-lang.xdy \ croatian/utf8-test.xdy \ croatian/utf8.xdy EXTRA_DIST += \ croatian/cp1250.pl \ croatian/latin2.pl \ croatian/utf8.pl.in DISTCLEANFILES += \ croatian/utf8.pl DOCS_CP1250 += \ croatian/cp1250-doc.tex DOCS_LATIN2 += \ croatian/latin2-doc.tex DOCS_UTF8_LAT += \ croatian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/croatian/cp1250.pl000066400000000000000000000132021264235421100226230ustar00rootroot00000000000000#!/usr/bin/perl $language = "Croatian"; $prefix = "hr"; $script = "latin"; $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 circumflex (esperanto) [], # c with cedilla (albanian, kurdish, turkish) ['D', ['d','D']], [], # dh (albanian) [], # dz (hungarian) [], # dzs (hungarian) ['Dž', ['dž','Dž','DŽ']], [], # d+z with acute (upper sorbian) [], # d with caron (slovak/large) ['Ð', ['ð','Ð']], [], # 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', ['lj','Lj','LJ']], [], # 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', ['nj','Nj','NJ']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/croatian/latin2.pl000066400000000000000000000132021264235421100231020ustar00rootroot00000000000000#!/usr/bin/perl $language = "Croatian"; $prefix = "hr"; $script = "latin"; $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 circumflex (esperanto) [], # c with cedilla (albanian, kurdish, turkish) ['D', ['d','D']], [], # dh (albanian) [], # dz (hungarian) [], # dzs (hungarian) ['D¾', ['d¾','D¾','D®']], [], # d+z with acute (upper sorbian) [], # d with caron (slovak/large) ['Ð', ['ð','Ð']], [], # 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', ['lj','Lj','LJ']], [], # 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', ['nj','Nj','NJ']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['®', ['¾','®']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/croatian/utf8.pl.in000066400000000000000000000142411264235421100232100ustar00rootroot00000000000000#!/usr/bin/perl $language = "Croatian"; $prefix = "hr"; $script = "latin"; $alphabet = [ ['A', ['a','A'] @u{,['à','À'],['È','È€'],['ȃ','È‚']}], [], # 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 circumflex (esperanto) [], # c with cedilla (albanian, kurdish, turkish) ['D', ['d','D']], [], # dh (albanian) [], # dz (hungarian) [], # dzs (hungarian) ['Dž', ['dž','Dž','DŽ']], [], # d+z with acute (upper sorbian) [], # d with caron (slovak/large) ['Ä', ['Ä‘','Ä']], [], # d with hook (hausa) [], # eth (icelandic) ['E', ['e','E'] @u{,['è','È'],['È…','È„'],['ȇ','Ȇ']}], [], # e with caron (lower/upper sorbian) [], # e with circumflex (kurdish) [], # e with diaeresis (albanian) [], # e with ogonek (polish) ['F', ['f','F']], ['G', ['g','G'] @u{,['ǵ','Ç´']}], [], # 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'] @u{,['ì','ÃŒ'],['ȉ','Ȉ'],['È‹','ÈŠ']}], [], # 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'] @u{,['ḱ','Ḱ']}], [], # 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', ['lj','Lj','LJ']], [], # 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', ['nj','Nj','NJ']], [], # 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'] @u{,['ò','Ã’'],['È','ÈŒ'],['È','ÈŽ']}], [], # 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'] @u{,['È‘','È'],['È“','È’']}], [], # 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 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{,['ù','Ù'],['È•','È”'],['È—','È–']}], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ @u{[['dz','Dz','DZ'], 'after', [['d','z'],['D','z'],['D','Z']]],} @u{[['dž','Ç…','Ç„'], 'after', [['d','ž'],['D','ž'],['D','Ž']]],} @u{[['lj','Lj','LJ'], 'after', [['l','j'],['L','j'],['L','J']]],} @u{[['ÇŒ','Ç‹','ÇŠ'], 'after', [['n','j'],['N','j'],['N','J']]]} ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/czech/000077500000000000000000000000001264235421100206525ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/czech/Makefile.am000066400000000000000000000025021264235421100227050ustar00rootroot00000000000000## Makefile.am fragment for alphabets/czech/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ czech/cp1250-lang.xdy \ czech/cp1250-test.xdy \ czech/cp1250.xdy \ czech/latin2-lang.xdy \ czech/latin2-test.xdy \ czech/latin2.xdy \ czech/utf8-lang.xdy \ czech/utf8-test.xdy \ czech/utf8.xdy EXTRA_DIST += \ czech/cp1250.pl \ czech/latin2.pl \ czech/utf8.pl.in DISTCLEANFILES += \ czech/utf8.pl DOCS_CP1250 += \ czech/cp1250-doc.tex DOCS_LATIN2 += \ czech/latin2-doc.tex DOCS_UTF8_LAT += \ czech/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/czech/cp1250.pl000066400000000000000000000135521264235421100221270ustar00rootroot00000000000000#!/usr/bin/perl $language = "Czech"; $prefix = "cs"; $script = "latin"; $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 (many) [], # cs (hungarian) ['È', ['è','È']], [], # 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', ['ch','Ch','CH']], [], # 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 acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['Š', ['š','Š']], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/czech/latin2.pl000066400000000000000000000135521264235421100224060ustar00rootroot00000000000000#!/usr/bin/perl $language = "Czech"; $prefix = "cs"; $script = "latin"; $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 (many) [], # cs (hungarian) ['È', ['è','È']], [], # 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', ['ch','Ch','CH']], [], # 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 acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['©', ['¹','©']], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['®', ['¾','®']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/czech/utf8.pl.in000066400000000000000000000136231264235421100225070ustar00rootroot00000000000000#!/usr/bin/perl $language = "Czech"; $prefix = "cs"; $script = "latin"; $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 (many) [], # cs (hungarian) ['ÄŒ', ['Ä','ÄŒ']], [], # 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', ['ch','Ch','CH']], [], # 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 acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['Å ', ['Å¡','Å ']], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/danish/000077500000000000000000000000001264235421100210245ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/danish/Makefile.am000066400000000000000000000025231264235421100230620ustar00rootroot00000000000000## Makefile.am fragment for alphabets/danish/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ danish/cp1252-lang.xdy \ danish/cp1252-test.xdy \ danish/cp1252.xdy \ danish/latin9-lang.xdy \ danish/latin9-test.xdy \ danish/latin9.xdy \ danish/utf8-lang.xdy \ danish/utf8-test.xdy \ danish/utf8.xdy EXTRA_DIST += \ danish/cp1252.pl \ danish/latin9.pl \ danish/utf8.pl.in DISTCLEANFILES += \ danish/utf8.pl DOCS_CP1252 += \ danish/cp1252-doc.tex DOCS_LATIN9 += \ danish/latin9-doc.tex DOCS_UTF8_LAT += \ danish/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/danish/cp1252.pl000066400000000000000000000135571264235421100223100ustar00rootroot00000000000000#!/usr/bin/perl $language = "Danish"; $prefix = "da"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) ['Æ', ['æ','Æ']], ['Ø', ['ø','Ø'],['ö','Ö'],['œ','Œ']], ['Å', ['å','Å'],['aa','Aa','AA']], [], # a with diaeresis (finnish, swedish) [], # o with diaeresis (finnish, swedish) [], # a with ring above (icelandic) ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ [['þ','Þ'], 'after', [['t','h'], ['T','h']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/danish/latin9.pl000066400000000000000000000135571264235421100225740ustar00rootroot00000000000000#!/usr/bin/perl $language = "Danish"; $prefix = "da"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) ['Æ', ['æ','Æ']], ['Ø', ['ø','Ø'],['ö','Ö'],['½','¼']], ['Å', ['å','Å'],['aa','Aa','AA']], [], # a with diaeresis (finnish, swedish) [], # o with diaeresis (finnish, swedish) [], # a with ring above (icelandic) ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ [['þ','Þ'], 'after', [['t','h'], ['T','h']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/danish/utf8.pl.in000066400000000000000000000137141264235421100226620ustar00rootroot00000000000000#!/usr/bin/perl $language = "Danish"; $prefix = "da"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) ['Æ', ['æ','Æ']@u{,['ǽ','Ǽ']}], ['Ø', ['ø','Ø'],@u{['Ç¿','Ǿ'],}['ö','Ö'],['Å“','Å’']], ['Ã…', ['Ã¥','Ã…'],['aa','Aa','AA']@u{,['Ç»','Ǻ']}], [], # a with diaeresis (finnish, swedish) [], # o with diaeresis (finnish, swedish) [], # a with ring above (icelandic) ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ [['þ','Þ'], 'after', [['t','h'], ['T','h']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/dutch/000077500000000000000000000000001264235421100206655ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/dutch/Makefile.am000066400000000000000000000027201264235421100227220ustar00rootroot00000000000000## Makefile.am fragment for alphabets/dutch/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ dutch/ij-as-ij-latin1-lang.xdy \ dutch/ij-as-ij-latin1-test.xdy \ dutch/ij-as-ij-latin1.xdy \ dutch/ij-as-ij-utf8-lang.xdy \ dutch/ij-as-ij-utf8-test.xdy \ dutch/ij-as-ij-utf8.xdy \ dutch/ij-as-y-utf8-lang.xdy \ dutch/ij-as-y-utf8-test.xdy \ dutch/ij-as-y-utf8.xdy EXTRA_DIST += \ dutch/ij-as-ij-latin1.pl \ dutch/ij-as-y-utf8.pl.in \ dutch/ij-as-ij-utf8.pl.in DISTCLEANFILES += \ dutch/ij-as-ij-utf8.pl \ dutch/ij-as-y-utf8.pl DOCS_LATIN1 += \ dutch/ij-as-ij-latin1-doc.tex DOCS_UTF8_LAT += \ dutch/ij-as-ij-utf8-doc.tex \ dutch/ij-as-y-utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/dutch/ij-as-ij-latin1.pl000066400000000000000000000136511264235421100240210ustar00rootroot00000000000000#!/usr/bin/perl # Not quite sure about this -- MV $language = "Dutch"; $variant = "Ligature IJ sorted as I+J"; $prefix = "nl"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/dutch/ij-as-ij-utf8.pl.in000066400000000000000000000137471264235421100241320ustar00rootroot00000000000000#!/usr/bin/perl # Not quite sure about this -- MV $language = "Dutch"; $variant = "Ligature IJ sorted as I+J"; $prefix = "nl"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ @u{[['ij','IJ'], 'after', [['i','j'], ['I','j']]]} ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/dutch/ij-as-y-utf8.pl.in000066400000000000000000000137411264235421100237720ustar00rootroot00000000000000#!/usr/bin/perl # Not quite sure about this -- MV $language = "Dutch"; $variant = "Ligature IJ sorted as Y"; $prefix = "nl"; $script = "latin"; $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']@u{,['ij','IJ']}], [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/english/000077500000000000000000000000001264235421100212075ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/english/Makefile.am000066400000000000000000000025451264235421100232510ustar00rootroot00000000000000## Makefile.am fragment for alphabets/english/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ english/cp1252-lang.xdy \ english/cp1252-test.xdy \ english/cp1252.xdy \ english/latin9-lang.xdy \ english/latin9-test.xdy \ english/latin9.xdy \ english/utf8-lang.xdy \ english/utf8-test.xdy \ english/utf8.xdy EXTRA_DIST += \ english/cp1252.pl \ english/latin9.pl \ english/utf8.pl.in DISTCLEANFILES += \ english/utf8.pl DOCS_CP1252 += \ english/cp1252-doc.tex DOCS_LATIN9 += \ english/latin9-doc.tex DOCS_UTF8_LAT += \ english/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/english/cp1252.pl000066400000000000000000000136111264235421100224620ustar00rootroot00000000000000#!/usr/bin/perl $language = "English"; $prefix = "en"; $script = "latin"; $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) [], ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) ['Þ', ['þ','Þ']], [], [], # 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'; xindy-2.5.1.20160104/make-rules/alphabets/english/latin9.pl000066400000000000000000000136111264235421100227460ustar00rootroot00000000000000#!/usr/bin/perl $language = "English"; $prefix = "en"; $script = "latin"; $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) [], ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) ['Þ', ['þ','Þ']], [], [], # 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'; xindy-2.5.1.20160104/make-rules/alphabets/english/utf8.pl.in000066400000000000000000000137221264235421100230440ustar00rootroot00000000000000#!/usr/bin/perl $language = "English"; $prefix = "en"; $script = "latin"; $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'; xindy-2.5.1.20160104/make-rules/alphabets/esperanto/000077500000000000000000000000001264235421100215565ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/esperanto/Makefile.am000066400000000000000000000023621264235421100236150ustar00rootroot00000000000000## Makefile.am fragment for alphabets/esperanto/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ esperanto/latin3-lang.xdy \ esperanto/latin3-test.xdy \ esperanto/latin3.xdy \ esperanto/utf8-lang.xdy \ esperanto/utf8-test.xdy \ esperanto/utf8.xdy EXTRA_DIST += \ esperanto/latin3.pl \ esperanto/utf8.pl.in DISTCLEANFILES += \ esperanto/utf8.pl DOCS_LATIN3 += \ esperanto/latin3-doc.tex DOCS_UTF8_LAT += \ esperanto/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/esperanto/latin3.pl000066400000000000000000000131431264235421100233070ustar00rootroot00000000000000#!/usr/bin/perl $language = "Esperanto"; $prefix = "eo"; $script = "latin"; $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 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 breve (turkish) [], # g with cedilla/comma (latvian) [], # postpalatal fricative (gypsy/northrussian) ['H', ['h','H']], ['¦', ['¶','¦']], [], # 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']], ['¬', ['¼','¬']], ['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 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/esperanto/utf8.pl.in000066400000000000000000000131661264235421100234150ustar00rootroot00000000000000#!/usr/bin/perl $language = "Esperanto"; $prefix = "eo"; $script = "latin"; $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 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 breve (turkish) [], # g with cedilla/comma (latvian) [], # postpalatal fricative (gypsy/northrussian) ['H', ['h','H']], ['Ĥ', ['Ä¥','Ĥ']], [], # 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']], ['Ä´', ['ĵ','Ä´']], ['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 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/estonian/000077500000000000000000000000001264235421100213765ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/estonian/Makefile.am000066400000000000000000000025651264235421100234420ustar00rootroot00000000000000## Makefile.am fragment for alphabets/estonian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ estonian/cp1252-lang.xdy \ estonian/cp1252-test.xdy \ estonian/cp1252.xdy \ estonian/latin9-lang.xdy \ estonian/latin9-test.xdy \ estonian/latin9.xdy \ estonian/utf8-lang.xdy \ estonian/utf8-test.xdy \ estonian/utf8.xdy EXTRA_DIST += \ estonian/cp1252.pl \ estonian/latin9.pl \ estonian/utf8.pl.in DISTCLEANFILES += \ estonian/utf8.pl DOCS_CP1252 += \ estonian/cp1252-doc.tex DOCS_LATIN9 += \ estonian/latin9-doc.tex DOCS_UTF8_LAT += \ estonian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/estonian/cp1252.pl000066400000000000000000000131601264235421100226500ustar00rootroot00000000000000#!/usr/bin/perl $language = "Estonian"; $prefix = "et"; $script = "latin"; $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 acute (lower sorbian, polish) [], # s with circumflex (esperanto) [], # s with comma below (romanian) [], # s with cedilla (kurdish, turkish) ['Z', ['z','Z']], ['Ž', ['ž','Ž']], ['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 (many) ['Õ', ['õ','Õ']], ['Ä', ['ä','Ä']], ['Ö', ['ö','Ö']], ['Ü', ['ü','Ü']], ['X', ['x','X']], [], # xh (albanian) ['Y', ['y','Y']], [], # y preceded by apostrophe (hausa) [], # yogh (english) [], # z (many) [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/estonian/latin9.pl000066400000000000000000000131601264235421100231340ustar00rootroot00000000000000#!/usr/bin/perl $language = "Estonian"; $prefix = "et"; $script = "latin"; $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 acute (lower sorbian, polish) [], # s with circumflex (esperanto) [], # s with comma below (romanian) [], # s with cedilla (kurdish, turkish) ['Z', ['z','Z']], ['´', ['¸','´']], ['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 (many) ['Õ', ['õ','Õ']], ['Ä', ['ä','Ä']], ['Ö', ['ö','Ö']], ['Ü', ['ü','Ü']], ['X', ['x','X']], [], # xh (albanian) ['Y', ['y','Y']], [], # y preceded by apostrophe (hausa) [], # yogh (english) [], # z (many) [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/estonian/utf8.pl.in000066400000000000000000000132021264235421100232240ustar00rootroot00000000000000#!/usr/bin/perl $language = "Estonian"; $prefix = "et"; $script = "latin"; $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 acute (lower sorbian, polish) [], # s with circumflex (esperanto) [], # s with comma below (romanian) [], # s with cedilla (kurdish, turkish) ['Z', ['z','Z']], ['Ž', ['ž','Ž']], ['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 (many) ['Õ', ['õ','Õ']], ['Ä', ['ä','Ä']], ['Ö', ['ö','Ö']], ['Ü', ['ü','Ü']], ['X', ['x','X']], [], # xh (albanian) ['Y', ['y','Y']], [], # y preceded by apostrophe (hausa) [], # yogh (english) [], # z (many) [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/finnish/000077500000000000000000000000001264235421100212145ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/finnish/Makefile.am000066400000000000000000000025441264235421100232550ustar00rootroot00000000000000## Makefile.am fragment for alphabets/finnish/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ finnish/cp1252-lang.xdy \ finnish/cp1252-test.xdy \ finnish/cp1252.xdy \ finnish/latin9-lang.xdy \ finnish/latin9-test.xdy \ finnish/latin9.xdy \ finnish/utf8-lang.xdy \ finnish/utf8-test.xdy \ finnish/utf8.xdy EXTRA_DIST += \ finnish/cp1252.pl \ finnish/latin9.pl \ finnish/utf8.pl.in DISTCLEANFILES += \ finnish/utf8.pl DOCS_CP1252 += \ finnish/cp1252-doc.tex DOCS_LATIN9 += \ finnish/latin9-doc.tex DOCS_UTF8_LAT += \ finnish/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/finnish/cp1252.pl000066400000000000000000000134311264235421100224670ustar00rootroot00000000000000#!/usr/bin/perl $language = "Finnish"; $prefix = "fi"; $script = "latin"; $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 (many) [], # 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) [], # yogh (english) ['Z', ['z','Z'], ['ž','Ž']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # ligature ae (danish, icelandic, norwegian) [], # o with stroke (danish, norwegian) ['Å', ['å','Å']], ['Ä', ['ä','Ä'],['æ','Æ']], ['Ö', ['ö','Ö'],['ø','Ø'],['õ','Õ']], [] # a with ring above (icelandic) ]; #$sortcase = 'Aa'; $sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/finnish/latin9.pl000066400000000000000000000134311264235421100227530ustar00rootroot00000000000000#!/usr/bin/perl $language = "Finnish"; $prefix = "fi"; $script = "latin"; $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 (many) [], # 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) [], # yogh (english) ['Z', ['z','Z'], ['¸','´']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # ligature ae (danish, icelandic, norwegian) [], # o with stroke (danish, norwegian) ['Å', ['å','Å']], ['Ä', ['ä','Ä'],['æ','Æ']], ['Ö', ['ö','Ö'],['ø','Ø'],['õ','Õ']], [] # a with ring above (icelandic) ]; #$sortcase = 'Aa'; $sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/finnish/utf8.pl.in000066400000000000000000000134611264235421100230510ustar00rootroot00000000000000#!/usr/bin/perl $language = "Finnish"; $prefix = "fi"; $script = "latin"; $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 (many) [], # 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) [], # yogh (english) ['Z', ['z','Z'], ['ž','Ž']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # ligature ae (danish, icelandic, norwegian) [], # o with stroke (danish, norwegian) ['Ã…', ['Ã¥','Ã…']], ['Ä', ['ä','Ä'],['æ','Æ']], ['Ö', ['ö','Ö'],['ø','Ø'],['õ','Õ']], [] # a with ring above (icelandic) ]; #$sortcase = 'Aa'; $sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/french/000077500000000000000000000000001264235421100210235ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/french/Makefile.am000066400000000000000000000025231264235421100230610ustar00rootroot00000000000000## Makefile.am fragment for alphabets/french/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ french/cp1252-lang.xdy \ french/cp1252-test.xdy \ french/cp1252.xdy \ french/latin9-lang.xdy \ french/latin9-test.xdy \ french/latin9.xdy \ french/utf8-lang.xdy \ french/utf8-test.xdy \ french/utf8.xdy EXTRA_DIST += \ french/cp1252.pl \ french/latin9.pl \ french/utf8.pl.in DISTCLEANFILES += \ french/utf8.pl DOCS_CP1252 += \ french/cp1252-doc.tex DOCS_LATIN9 += \ french/latin9-doc.tex DOCS_UTF8_LAT += \ french/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/french/cp1252.pl000066400000000000000000000141401264235421100222740ustar00rootroot00000000000000#!/usr/bin/perl $language = "French"; $prefix = "fr"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zs (hungarian) [], # zh (albanian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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'; xindy-2.5.1.20160104/make-rules/alphabets/french/latin9.pl000066400000000000000000000141401264235421100225600ustar00rootroot00000000000000#!/usr/bin/perl $language = "French"; $prefix = "fr"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zs (hungarian) [], # zh (albanian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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'; xindy-2.5.1.20160104/make-rules/alphabets/french/utf8.pl.in000066400000000000000000000142061264235421100226560ustar00rootroot00000000000000#!/usr/bin/perl $language = "French"; $prefix = "fr"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zs (hungarian) [], # zh (albanian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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'; xindy-2.5.1.20160104/make-rules/alphabets/general/000077500000000000000000000000001264235421100211735ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/general/Makefile.am000066400000000000000000000027771264235421100232440ustar00rootroot00000000000000## Makefile.am fragment for alphabets/general/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ general/cp1252-lang.xdy \ general/cp1252-test.xdy \ general/cp1252.xdy \ general/cp850-lang.xdy \ general/cp850-test.xdy \ general/cp850.xdy \ general/latin9-lang.xdy \ general/latin9-test.xdy \ general/latin9.xdy \ general/utf8-lang.xdy \ general/utf8-test.xdy \ general/utf8.xdy EXTRA_DIST += \ general/cp1252.pl \ general/cp850.pl \ general/latin9.pl \ general/template.pl \ general/utf8.pl.in DISTCLEANFILES += \ general/utf8.pl DOCS_CP1252 += \ general/cp1252-doc.tex DOCS_CP850 += \ general/cp850-doc.tex DOCS_LATIN9 += \ general/latin9-doc.tex DOCS_UTF8_LAT += \ general/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/general/cp1252.pl000066400000000000000000000144071264235421100224520ustar00rootroot00000000000000#!/usr/bin/perl $language = "A general sorting order for Western European languages"; $prefix = "xy"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z'],['ž','Ž']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], [['æ','Æ'], 'after', [['a','e'], ['A','e']]], [['œ','Œ'], 'after', [['o','e'], ['O','e']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/general/cp850.pl000066400000000000000000000143031264235421100223700ustar00rootroot00000000000000#!/usr/bin/perl $language = "A general sorting order for Western European languages"; $prefix = "xy"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], [['‘','’'], 'after', [['a','e'], ['A','e']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/general/latin9.pl000066400000000000000000000144071264235421100227360ustar00rootroot00000000000000#!/usr/bin/perl $language = "A general sorting order for Western European languages"; $prefix = "xy"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z'],['¸','´']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], [['æ','Æ'], 'after', [['a','e'], ['A','e']]], [['½','¼'], 'after', [['o','e'], ['O','e']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/general/template.pl000066400000000000000000000147431264235421100233540ustar00rootroot00000000000000#!/usr/bin/perl $language = "Template"; $prefix = "??"; $script = "latin"; # preferred order of diacritics of not specified otherwise: # go from little to big, from non-touching to touching # caron acute grave dot-above breve circumflex tilde # ring-above diaeresis comma-below cedilla ogonek stroke $alphabet = [ [], # a (many) [], # a with breve (romanian, vietnamese) [], # a with circumflex (romanian, vietnamese) [], # a with ogonek (polish) [], # b (many) [], # b with hook (hausa) [], # c (many) [], # 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 (many) [], # dh (albanian) [], # dz (hungarian, gypsy/northrussian) [], # dzs (hungarian) [], # d+z with caron (croatian) [], # d+z with acute (upper sorbian) [], # d with caron (slovak/large) [], # d with stroke (croatian, vietnamese) [], # d with hook (hausa) [], # eth (icelandic) [], # e (many) [], # e with caron (lower/upper sorbian) [], # e with circumflex (kurdish, vietnamese) [], # e with diaeresis (albanian) [], # e with ogonek (polish) [], # f (many) [], # g (many) [], # gj (albanian) [], # gy (hungarian) [], # g with circumflex (esperanto) [], # g with breve (turkish) [], # g with cedilla/comma (latvian) [], # postpalatal fricative (gypsy/northrussian) [], # h (many) [], # h with circumflex (esperanto) [], # ch (many) [], # dotless i (turkish) [], # i (many) [], # i with inverted breve below (gypsy/northrussian) [], # i with circumflex (kurdish, romanian) [], # i with diaeresis (gypsy/northrussian) [], # j (many) [], # j with circumflex (esperanto) [], # k (many) [], # kh (gypsy/northrussian) [], # k with cedilla/comma (latvian) [], # k with hook (hausa) [], # x (gypsy/northrussian) [], # l with stroke (lower/upper sorbian) [], # l (many) [], # lj (croatian) [], # ll (albanian, spanish/traditional) [], # ly (hungarian) [], # l with caron (slovak/large) [], # l with cedilla/comma (latvian) [], # l with stroke (polish) [], # m (many) [], # n (many) [], # 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 (many) [], # o with acute (polish, upper sorbian) [], # o with circumflex (vietnamese) [], # o with horn (vietnamese) [], # o with diaeresis (hungarian, turkish) [], # p (many) [], # ph (gypsy/northrussian) [], # q (many) [], # r (many) [], # rr (albanian) [], # r with caron (czech, slovak/large, upper sorbian) [], # r with acute (lower sorbian) [], # r with cedilla/comma (latvian) [], # s (many) [], # 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 (many) [], # th (albanian, gypsy/northrussian) [], # ty (hungarian) [], # t with caron (slovak/large) [], # t with comma below (romanian) [], # c with acute (upper sorbian) [], # u (many) [], # u with breve (esperanto) [], # u with circumflex (kurdish) [], # u with horn (vietnamese) [], # u with diaeresis (hungarian, turkish) [], # v (many) [], # w (many) [], # o with tilde (estonian) [], # a with diaeresis (estonian) [], # o with diaeresis (estonian) [], # u with diaeresis (estonian) [], # x (many) [], # xh (albanian) [], # y (many) [], # y preceded by apostrophe (hausa) [], # yogh (english) [], # z (many) [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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, icelandic, swedish) [] # a with ring above (icelandic) ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/general/utf8.pl.in000066400000000000000000000154541264235421100230340ustar00rootroot00000000000000#!/usr/bin/perl $language = "A general sorting order for Western European languages"; $prefix = "xy"; $script = "latin"; $alphabet = [ ['A', ['a','A'],['á','Ã'],['à','À'],@u{['ă','Ä‚'],}['â','Â'],['ã','Ã'],['Ã¥','Ã…'], ['ä','Ä']@u{,['Ä…','Ä„']}], [], # a with breve (romanian) [], # a with circumflex (romanian) [], # a with ogonek (polish) ['B', ['b','B']], [], # b with hook (hausa) ['C', ['c','C']@u{,['Ä','ÄŒ'],['ć','Ć'],['ĉ','Ĉ']},['ç','Ç']], [], # 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']@u{,['Ä','ÄŽ'],['Ä‘','Ä']}], [], # 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']@u{,['Ä›','Äš']},['é','É'],['è','È'],['ê','Ê'],['ë','Ë']@u{,['Ä™','Ę']}], [], # e with caron (lower/upper sorbian) [], # e with circumflex (kurdish) [], # e with diaeresis (albanian) [], # e with ogonek (polish) ['F', ['f','F']], ['G', ['g','G']@u{,['Ä','Äœ'],['ÄŸ','Äž']}], [], # gj (albanian) [], # gy (hungarian) [], # g with circumflex (esperanto) [], # g with breve (turkish) [], # g with cedilla/comma (latvian) [], # postpalatal fricative (gypsy/northrussian) ['H', ['h','H']@u{,['Ä¥','Ĥ']}], [], # h with circumflex (esperanto) [], # ch (many) [], # dotless i (turkish) ['I', ['i','I']@u{,['ı'],['','İ']},['í','Ã'],['ì','ÃŒ'],['î','ÃŽ'],['ï','Ã']], [], # i with inverted breve below (gypsy/northrussian) [], # i with circumflex (kurdish, romanian) [], # i with diaeresis (gypsy/northrussian) ['J', ['j','J']@u{,['ĵ','Ä´']}], [], # 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']@u{,['ľ','Ľ'],['Å‚','Å']}], [], # 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'],@u{['ň','Ň'],['Å„','Ń'],}['ñ','Ñ']], [], # 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'],['ó','Ó'],['ò','Ã’'],['ô','Ô'],['õ','Õ'],['ö','Ö']@u{,['Å‘','Å']}, ['ø','Ø']], [], # 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']@u{,['Å™','Ř'],['Å•','Å”']}], [], # rr (albanian) [], # r with caron (czech, slovak/large, upper sorbian) [], # r with acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']@9{,['Å¡','Å ']}@u{,['Å›','Åš'],['Å','Åœ'],['È™','Ș'],['ÅŸ','Åž']}], [], # 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']@u{,['Å¥','Ť'],['È›','Èš']}], [], # th (albanian) [], # ty (hungarian) [], # t with caron (slovak/large) [], # t with comma below (romanian) [], # c with acute (upper sorbian) ['U', ['u','U'],['ú','Ú'],['ù','Ù']@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'],['ý','Ã'],['ÿ'@9{,'Ÿ'}]], [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']@9{,['ž','Ž']}@u{,['ź','Ź'],['ż','Å»']}], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], [['æ','Æ'], 'after', [['a','e'], ['A','e']]], @9{[['Å“','Å’'], 'after', [['o','e'], ['O','e']]]} ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/georgian/000077500000000000000000000000001264235421100213515ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/georgian/Makefile.am000066400000000000000000000021311264235421100234020ustar00rootroot00000000000000## Makefile.am fragment for alphabets/georgian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ georgian/utf8-lang.xdy \ georgian/utf8-test.xdy \ georgian/utf8.xdy EXTRA_DIST += \ georgian/utf8.pl.in DISTCLEANFILES += \ georgian/utf8.pl DOCS_UTF8_OTHER += \ georgian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/georgian/utf8.pl.in000066400000000000000000000020341264235421100232000ustar00rootroot00000000000000#!/usr/bin/perl $language = "Georgian"; $prefix = "ka"; $script = "georgian"; $alphabet = [ ['áƒ', ['áƒ']], ['ბ', ['ბ']], ['გ', ['გ']], ['დ', ['დ']], ['ე', ['ე']], ['ვ', ['ვ']], ['ზ', ['ზ']], ['ჱ', ['ჱ']], ['თ', ['თ']], ['ი', ['ი']], ['კ', ['კ']], ['ლ', ['ლ']], ['მ', ['მ']], ['ნ', ['ნ']], ['ჲ', ['ჲ']], ['áƒ', ['áƒ']], ['პ', ['პ']], ['ჟ', ['ჟ']], ['რ', ['რ']], ['ს', ['ს']], ['ტ', ['ტ']], ['ჳ', ['ჳ']], ['უ', ['უ']], ['ფ', ['ფ']], ['ქ', ['ქ']], ['ღ', ['ღ']], ['ყ', ['ყ']], ['შ', ['შ']], ['ჩ', ['ჩ']], ['ც', ['ც']], ['ძ', ['ძ']], ['წ', ['წ']], ['ჭ', ['ჭ']], ['ხ', ['ხ']], ['ჴ', ['ჴ']], ['ჯ', ['ჯ']], ['ჰ', ['ჰ']], ['ჵ', ['ჵ']] ]; @special = ('?', '!', '.', ';', '·', 'letters', '-', '\'', '\\/'); # first lower or upper case? $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/german/000077500000000000000000000000001264235421100210275ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/german/Makefile.am000066400000000000000000000034431264235421100230670ustar00rootroot00000000000000## Makefile.am fragment for alphabets/german/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ german/braille-utf8-lang.xdy \ german/braille-utf8-test.xdy \ german/braille-utf8.xdy \ german/din5007-latin1-lang.xdy \ german/din5007-latin1-test.xdy \ german/din5007-latin1.xdy \ german/din5007-utf8-lang.xdy \ german/din5007-utf8-test.xdy \ german/din5007-utf8.xdy \ german/duden-latin1-lang.xdy \ german/duden-latin1-test.xdy \ german/duden-latin1.xdy \ german/duden-utf8-lang.xdy \ german/duden-utf8-test.xdy \ german/duden-utf8.xdy EXTRA_DIST += \ german/braille-utf8.pl.in \ german/duden-latin1.pl \ german/din5007-latin1.pl \ german/duden-utf8.pl.in \ german/din5007-utf8.pl.in DISTCLEANFILES += \ german/braille-utf8.pl \ german/din5007-utf8.pl \ german/duden-utf8.pl DOCS_LATIN1 += \ german/din5007-latin1-doc.tex \ german/duden-latin1-doc.tex DOCS_UTF8_LAT += \ german/din5007-utf8-doc.tex \ german/duden-utf8-doc.tex DOCS_UTF8_OTHER += \ german/braille-utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/german/braille-utf8.pl.in000066400000000000000000000144131264235421100242720ustar00rootroot00000000000000#!/usr/bin/perl $language = "German"; $variant = "Blindenvollschrift"; $prefix = "de"; $script = "braille"; $alphabet = [ ['â ', ['â '],['â œ']], [], # a with breve (romanian) [], # a with circumflex (romanian) [], # a with ogonek (polish) ['â ƒ', ['â ƒ']], [], # b with hook (hausa) ['â ‰', ['â ‰']], [], # 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) ['â ™', ['â ™']], [], # 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 with caron (lower/upper sorbian) [], # e with circumflex (kurdish) [], # e with diaeresis (albanian) [], # e with ogonek (polish) ['â ‹', ['â ‹']], ['â ›', ['â ›']], [], # gj (albanian) [], # gy (hungarian) [], # g with circumflex (esperanto) [], # g with breve (turkish) [], # g with cedilla/comma (latvian) [], # postpalatal fricative (gypsy/northrussian) ['â “', ['â “']], [], # h with circumflex (esperanto) [], # ch (many) [], # dotless i (turkish) ['â Š', ['â Š']], [], # i with inverted breve below (gypsy/northrussian) [], # i with circumflex (kurdish, romanian) [], # i with diaeresis (gypsy/northrussian) ['â š', ['â š']], [], # j with circumflex (esperanto) ['â …', ['â …']], [], # kh (gypsy/northrussian) [], # k with cedilla/comma (latvian) [], # k with hook (hausa) [], # x (gypsy/northrussian) [], # l with stroke (lower/upper sorbian) ['â ‡', ['â ‡']], [], # lj (croatian) [], # ll (albanian, spanish/traditional) [], # ly (hungarian) [], # l with cedilla/comma (latvian) [], # l with stroke (polish) [], # l with caron (slovak/large) ['â ', ['â ']], ['â ', ['â ']], [], # 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 with acute (polish, upper sorbian) [], # o with circumflex (vietnamese) [], # o with horn (vietnamese) [], # o with diaeresis (hungarian, turkish) ['â ', ['â ']], [], # ph (gypsy/northrussian) ['â Ÿ', ['â Ÿ']], ['â —', ['â —']], [], # rr (albanian) [], # r with caron (czech, slovak/large, upper sorbian) [], # r with acute (lower sorbian) [], # r with cedilla/comma (latvian) ['â Ž', ['â Ž']], [], # 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) ['â ž', ['â ž']], [], # th (albanian) [], # ty (hungarian) [], # t with caron (slovak/large) [], # t with comma below (romanian) [], # c with acute (upper sorbian) ['â ¥', ['â ¥'],['â ³']], [], # u with breve (esperanto) [], # u with circumflex (kurdish) [], # u with horn (vietnamese) [], # u with diaeresis (hungarian, turkish) ['â §', ['â §']], ['â º', ['â º']], [], # o with tilde (estonian) [], # a with diaeresis (estonian) [], # o with diaeresis (estonian) [], # u with diaeresis (estonian) ['â ­', ['â ­']], [], # xh (albanian) ['â ½', ['â ½']], [], # y preceded by apostrophe (hausa) [], # yogh (english) ['â µ', ['â µ']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['â Ž','â Ž']]], [['â ¾'], 'after', [['â Ž','â ž']]], [['â ¡'], 'after', [['â ','â ¥']]], [['â £'], 'after', [['â ‘','â ¥']]], [['â ©'], 'after', [['â ‘','â Š']]], [['â ¹'], 'after', [['â ‰','â “']]], [['â ±'], 'after', [['â Ž','â ‰','â “']]], [['â Œ'], 'after', [['â œ','â ¥']]], [['â ¬'], 'after', [['â Š','â ‘']]] ]; @special = ('â ‚', 'â †', 'â ’', 'â ¢', 'â –', 'â ¶', 'â ¦', 'â ”', 'â ´', 'â „', 'â ¤', 'â â ‚', 'letters', 'â ˆ', 'â ˜', 'â ¸', 'â ¨', 'â  ', 'â ¼'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/german/din5007-latin1.pl000066400000000000000000000137501264235421100236460ustar00rootroot00000000000000#!/usr/bin/perl $language = "German"; $variant = "DIN 5007"; $prefix = "de"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], [['ä','Ä'], 'after', [['a','e'], ['A','e']]], [['ö','Ö'], 'after', [['o','e'], ['O','e']]], [['ü','Ü'], 'after', [['u','e'], ['U','e']]] ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/german/din5007-utf8.pl.in000066400000000000000000000137611264235421100237530ustar00rootroot00000000000000#!/usr/bin/perl $language = "German"; $variant = "DIN 5007"; $prefix = "de"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], [['ä','Ä'], 'after', [['a','e'], ['A','e']]], [['ö','Ö'], 'after', [['o','e'], ['O','e']]], [['ü','Ü'], 'after', [['u','e'], ['U','e']]] ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/german/duden-latin1.pl000066400000000000000000000136711264235421100236610ustar00rootroot00000000000000#!/usr/bin/perl $language = "German"; $variant = "Duden"; $prefix = "de"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/german/duden-utf8.pl.in000066400000000000000000000137021264235421100237570ustar00rootroot00000000000000#!/usr/bin/perl $language = "German"; $variant = "Duden"; $prefix = "de"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/greek/000077500000000000000000000000001264235421100206535ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/greek/Makefile.am000066400000000000000000000034111264235421100227060ustar00rootroot00000000000000## Makefile.am fragment for alphabets/greek/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ greek/iso88597-lang.xdy \ greek/iso88597-test.xdy \ greek/iso88597.xdy \ greek/polytonic-utf8-lang.xdy \ greek/polytonic-utf8-test.xdy \ greek/polytonic-utf8.xdy \ greek/translit-latin4-lang.xdy \ greek/translit-latin4-test.xdy \ greek/translit-latin4.xdy \ greek/translit-utf8-lang.xdy \ greek/translit-utf8-test.xdy \ greek/translit-utf8.xdy \ greek/utf8-lang.xdy \ greek/utf8-test.xdy \ greek/utf8.xdy EXTRA_DIST += \ greek/iso88597.pl \ greek/polytonic-utf8.pl.in \ greek/utf8.pl.in \ greek/translit-latin4.pl \ greek/translit-utf8.pl.in DISTCLEANFILES += \ greek/polytonic-utf8.pl \ greek/translit-utf8.pl \ greek/utf8.pl DOCS_LATIN4 += \ greek/translit-latin4-doc.tex DOCS_OTHER += \ greek/iso88597-doc.tex DOCS_UTF8_LAT += \ greek/translit-utf8-doc.tex \ greek/utf8-doc.tex DOCS_UTF8_OTHER += \ greek/utf8-doc.tex \ greek/polytonic-utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/greek/iso88597.pl000066400000000000000000000020771264235421100224350ustar00rootroot00000000000000#!/usr/bin/perl $language = "Greek"; $prefix = "el"; $script = "greek"; $alphabet = [ ['Á', ['á', 'Á'], ['Ü','¶']], ['Â', ['â', 'Â']], ['Ã', ['ã', 'Ã']], ['Ä', ['ä', 'Ä']], ['Å', ['å', 'Å'], ['Ý','¸']], ['Æ', ['æ', 'Æ']], [], ['Ç', ['ç', 'Ç'], ['Þ','¹']], ['È', ['è', 'È']], ['É', ['é', 'É'], ['ß','º'], ['ú', 'Ú'], ['À']], [], ['Ê', ['ê', 'Ê']], ['Ë', ['ë', 'Ë']], ['Ì', ['ì', 'Ì']], ['Í', ['í', 'Í']], ['Î', ['î', 'Î']], ['Ï', ['ï', 'Ï'], ['ü','¼']], ['Ð', ['ð', 'Ð']], [], ['Ñ', ['ñ', 'Ñ']], ['Ó', ['ó', 'Ó'], ['ò']], ['Ô', ['ô', 'Ô']], ['Õ', ['õ', 'Õ'], ['ý','¾'], ['û', 'Û'], ['à']], ['Ö', ['ö', 'Ö']], ['×', ['÷', '×']], ['Ø', ['ø', 'Ø']], ['Ù', ['ù', 'Ù'], ['þ', '¿']] ]; @special = ('?', '!', '.', ';', '·', 'letters', '-', '\'', '\\/'); # first lower or upper case? $sortcase = "Aa"; #$sortcase = "aA"; #@letter_group_names = ('Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì', #'Í','Î','Ï','Ð','Ñ','Ó','Ô','Õ','Ö','×','Ø','Ù'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/greek/polytonic-utf8.pl.in000066400000000000000000000050661264235421100245300ustar00rootroot00000000000000#!/usr/bin/perl $language = "Greek"; $variant = "polytonic"; $prefix = "el"; $script = "greek"; $alphabet = [ ['Α', ['α','Α'],['á¾°','Ᾰ'],['á¾±','á¾¹'],['á½°','Ὰ'],['á½±','á¾»'],['á¼€','Ἀ'], ['á¼','Ἁ'],['ἂ','Ἂ'],['ἃ','Ἃ'],['ἄ','Ἄ'],['á¼…','á¼'],['ἆ','Ἆ'], ['ἇ','á¼'],['á¾³','á¾¼'],['á¾²'],['á¾´'],['á¾¶'],['á¾·'],['á¾€','ᾈ'], ['á¾','ᾉ'],['ᾂ','ᾊ'],['ᾃ','ᾋ'],['ᾄ','ᾌ'],['á¾…','á¾'], ['ᾆ','ᾎ'],['ᾇ','á¾'],['á¾²'],['á¾´']], ['Î’', ['β','Î’'],['Ï']], ['Γ', ['γ','Γ']], ['Δ', ['δ','Δ']], ['Ε', ['ε','Ε'],['á½²','Ὲ'],['á½³','Έ'],['á¼','Ἐ'],['ἑ','á¼™'], ['έ','Έ'],['á¼’','Ἒ'],['ἓ','á¼›'],['á¼”','Ἔ'],['ἕ','á¼']], ['Ζ', ['ζ','Ζ']], ['Ïœ', ['Ï','Ïœ']], ['Η', ['η','Η'],['á½´','Ὴ'],['á½µ','á¿‹'],['á¼ ','Ἠ'],['ἡ','Ἡ'], ['á¼¢','Ἢ'],['á¼£','Ἣ'],['ἤ','Ἤ'],['á¼¥','á¼­'],['ἦ','á¼®'], ['á¼§','Ἧ'],['á¾','ᾘ'],['ᾑ','á¾™'],['á¾’','ᾚ'],['ᾓ','á¾›'], ['á¾”','ᾜ'],['ᾕ','á¾'],['á¾–','ᾞ'],['á¾—','ᾟ'],['ῃ','ῌ'], ['á¿‚'],['á¿„'],['ῆ'],['ῇ']], ['Θ', ['θ','Θ'],['Ï‘']], ['Ι', ['ι','Ι'],['ί','Ί'],['ÏŠ','Ϊ'],['á¼°','Ἰ'],['á¼±','á¼¹'], ['á¼²','Ἲ'],['á¼³','á¼»'],['á¼´','á¼¼'],['á¼µ','á¼½'],['á¼¶','á¼¾'], ['á¼·','Ἷ'],['á½¶','Ὶ'],['á¿','Ῐ'],['á¿‘','á¿™'], ['á¿—'],['á¿–'],['Î'],['á¿’'],['á¿“']], ['ϳ', ['ϳ']], ['Κ', ['κ','Κ']], ['Λ', ['λ','Λ']], ['Μ', ['μ','Μ']], ['Î', ['ν','Î']], ['Ξ', ['ξ','Ξ']], ['Ο', ['ο','Ο'],['ÏŒ','ÎŒ'],['ὄ','Ὄ'],['á½€','Ὀ'],['á½','Ὁ'], ['ὂ','Ὂ'],['ὃ','Ὃ'],['á½…','á½'],['ὸ','Ὸ'],['á½¹','Ό']], ['Π', ['Ï€','Π']], [], ['Ρ', ['Ï','Ρ'],['á¿¥','Ῥ'],['ῤ']], ['Σ', ['σ','Σ'], ['Ï‚']], ['Τ', ['Ï„','Τ']], ['Î¥', ['Ï…','Î¥'],['Ï','ÎŽ'],['Ï‹','Ϋ'],['ὑ','á½™'],['ὓ','á½›'], ['ὕ','á½'],['á½—','Ὗ'],['ὺ','Ὺ'],['á½»','á¿«'],['á¿ ','Ῠ'], ['á¿¡','á¿©'], ['ΰ'],['á¿¢'],['á¿£'],['á½'],['á½’'],['á½”'],['á½–']], ['Φ', ['φ','Φ'],['Ï•']], ['Χ', ['χ','Χ']], ['Ψ', ['ψ','Ψ']], ['Ω', ['ω','Ω'],['ÏŽ','Î'],['á½ ','Ὠ'],['ὡ','Ὡ'],['á½¢','Ὢ'], ['á½£','Ὣ'],['ὤ','Ὤ'],['á½¥','á½­'],['ὦ','á½®'],['á½§','Ὧ'], ['á½¼','Ὼ'],['á½½','á¿»'],['á¾ ','ᾨ'],['ᾡ','ᾩ'],['á¾¢','ᾪ'], ['á¾£','ᾫ'],['ᾤ','ᾬ'],['á¾¥','á¾­'],['ᾦ','á¾®'],['á¾§','ᾯ'], ['ῳ','ῼ'],['ῲ'],['á¿´'],['á¿¶'],['á¿·']] ]; @special = ('?','!','.',';','·','letters','-','\'','\\/'); # first lower or upper case? $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/greek/translit-latin4.pl000066400000000000000000000137431264235421100242510ustar00rootroot00000000000000#!/usr/bin/perl $language = "Greek"; $variant = "ISO transliteration, for western languages"; $prefix = "el"; $script = "latin"; $alphabet = [ ['A', ['a','A']], [], # a with breve (romanian) [], # a with circumflex (romanian) [], # a with ogonek (polish) ['B', ['b','B']], [], # b with hook (hausa) [], # c (many) [], # 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 (many) [], # 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 (many) ['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 (many) [], # w (many) [], # o with tilde (estonian) [], # a with diaeresis (estonian) [], # o with diaeresis (estonian) [], # u with diaeresis (estonian) ['X', ['x','X']], [], # xh (albanian) [], # y (many) [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/greek/translit-utf8.pl.in000066400000000000000000000137471264235421100243550ustar00rootroot00000000000000#!/usr/bin/perl $language = "Greek"; $variant = "ISO transliteration, for western languages"; $prefix = "el"; $script = "latin"; $alphabet = [ ['A', ['a','A']], [], # a with breve (romanian) [], # a with circumflex (romanian) [], # a with ogonek (polish) ['B', ['b','B']], [], # b with hook (hausa) [], # c (many) [], # 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 (many) [], # 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 (many) ['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 (many) [], # w (many) [], # o with tilde (estonian) [], # a with diaeresis (estonian) [], # o with diaeresis (estonian) [], # u with diaeresis (estonian) ['X', ['x','X']], [], # xh (albanian) [], # y (many) [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/greek/utf8.pl.in000066400000000000000000000022651264235421100225100ustar00rootroot00000000000000#!/usr/bin/perl $language = "Greek"; $prefix = "el"; $script = "greek"; $alphabet = [ ['Α', ['α', 'Α'], ['ά','Ά']], ['Î’', ['β', 'Î’']], ['Γ', ['γ', 'Γ']], ['Δ', ['δ', 'Δ']], ['Ε', ['ε', 'Ε'], ['έ','Έ']], ['Ζ', ['ζ', 'Ζ']], [], ['Η', ['η', 'Η'], ['ή','Ή']], ['Θ', ['θ', 'Θ']], ['Ι', ['ι', 'Ι'], ['ί','Ί'], ['ÏŠ', 'Ϊ'], ['Î']], [], ['Κ', ['κ', 'Κ']], ['Λ', ['λ', 'Λ']], ['Μ', ['μ', 'Μ']], ['Î', ['ν', 'Î']], ['Ξ', ['ξ', 'Ξ']], ['Ο', ['ο', 'Ο'], ['ÏŒ','ÎŒ']], ['Π', ['Ï€', 'Π']], [], ['Ρ', ['Ï', 'Ρ']], ['Σ', ['σ', 'Σ'], ['Ï‚']], ['Τ', ['Ï„', 'Τ']], ['Î¥', ['Ï…', 'Î¥'], ['Ï','ÎŽ'], ['Ï‹', 'Ϋ'], ['ΰ']], ['Φ', ['φ', 'Φ']], ['Χ', ['χ', 'Χ']], ['Ψ', ['ψ', 'Ψ']], ['Ω', ['ω', 'Ω'], ['ÏŽ', 'Î']] ]; @special = ('?', '!', '.', ';', '·', 'letters', '-', '\'', '\\/'); # first lower or upper case? $sortcase = "Aa"; #$sortcase = "aA"; #@letter_group_names = ('Α','Î’','Γ','Δ','Ε','Ζ','Η','Θ','Ι','Κ','Λ','Μ', #'Î','Ξ','Ο','Π','Ρ','Σ','Τ','Î¥','Φ','Χ','Ψ','Ω'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/gypsy/000077500000000000000000000000001264235421100207315ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/gypsy/Makefile.am000066400000000000000000000022201264235421100227610ustar00rootroot00000000000000## Makefile.am fragment for alphabets/gypsy/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ gypsy/northrussian-utf8-lang.xdy \ gypsy/northrussian-utf8-test.xdy \ gypsy/northrussian-utf8.xdy EXTRA_DIST += \ gypsy/northrussian-utf8.pl.in DISTCLEANFILES += \ gypsy/northrussian-utf8.pl DOCS_UTF8_LAT += \ gypsy/northrussian-utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/gypsy/northrussian-utf8.pl.in000066400000000000000000000132501264235421100253170ustar00rootroot00000000000000#!/usr/bin/perl $language = "Gypsy"; $variant = "North-Russian dialect"; $prefix = "g1"; $script = "latin"; $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 acute (croatian, lower sorbian, polish) [], # c with circumflex (esperanto) [], # c with cedilla (albanian, kurdish, turkish) ['D', ['d','D']], [], # dh (albanian) ['Dz', ['dz','Dz','DZ']], [], # 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) ['Γ', ['γ','Γ']], ['H', ['h','H']], [], # h with circumflex (esperanto) [], # ch (many) [], # dotless i (turkish) ['I', ['i','I'],['í','Ã']], ['I̯', ['i̯','I̯']], [], # i with circumflex (kurdish, romanian) ['Ã', ['ï','Ã'],['ḯ','Ḯ']], ['J', ['j','J']], [], # j with circumflex (esperanto) ['K', ['k','K']], ['Kh', ['kh','Kh','KH']], [], # k with cedilla/comma (latvian) [], # k with hook (hausa) ['X', ['x','X']], [], # 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', ['ph','Ph','PH']], ['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 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', ['th','Th','TH']], [], # 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 (many) [], # xh (albanian) ['Y', ['y','Y']], [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', 'ˈ', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/hausa/000077500000000000000000000000001264235421100206575ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/hausa/Makefile.am000066400000000000000000000021021264235421100227060ustar00rootroot00000000000000## Makefile.am fragment for alphabets/hausa/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ hausa/utf8-lang.xdy \ hausa/utf8-test.xdy \ hausa/utf8.xdy EXTRA_DIST += \ hausa/utf8.pl.in DISTCLEANFILES += \ hausa/utf8.pl DOCS_UTF8_LAT += \ hausa/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/hausa/utf8.pl.in000066400000000000000000000140741264235421100225150ustar00rootroot00000000000000#!/usr/bin/perl $language = "Hausa"; $prefix = "ha"; $script = "latin"; $alphabet = [ ['A', ['a','A'],['Ä','Ä€'],['a̱','A̱'],['Ä̱','Ā̱'],['à','À'],['ÄÌ€','Ā̀']], [], # a with breve (romanian) [], # a with circumflex (romanian) [], # a with ogonek (polish) ['B', ['b','B']], ['Æ', ['É“','Æ']], ['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) ['ÆŠ', ['É—','ÆŠ']], [], # eth (icelandic) ['E', ['e','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̱','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) ['Ƙ', ['Æ™','Ƙ']], [], # 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̱','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̱','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', ['ʼy','ʼY']], [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', 'ʼ', '-', '\'', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/hebrew/000077500000000000000000000000001264235421100210325ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/hebrew/Makefile.am000066400000000000000000000023311264235421100230650ustar00rootroot00000000000000## Makefile.am fragment for alphabets/hebrew/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ hebrew/iso88598-lang.xdy \ hebrew/iso88598-test.xdy \ hebrew/iso88598.xdy \ hebrew/utf8-lang.xdy \ hebrew/utf8-test.xdy \ hebrew/utf8.xdy EXTRA_DIST += \ hebrew/iso88598.pl \ hebrew/utf8.pl.in DISTCLEANFILES += \ hebrew/utf8.pl DOCS_OTHER += \ hebrew/iso88598-doc.tex DOCS_UTF8_OTHER += \ hebrew/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/hebrew/iso88598.pl000066400000000000000000000012411264235421100226050ustar00rootroot00000000000000#!/usr/bin/perl $language = "Hebrew"; $prefix = "iw"; $script = "hebrew"; $alphabet = [ ['à', ['à'] ], ['á', ['á'] ], ['â', ['â'] ], ['ã', ['ã'] ], ['ä', ['ä'] ], ['å', ['å'] ], ['æ', ['æ'] ], ['ç', ['ç']], ['è', ['è'] ], ['é', ['é'] ], ['ë', ['ë','ê'] ], ['ì', ['ì'] ], ['î', ['î','í'] ], ['ð', ['ð','ï'] ], ['ñ', ['ñ'] ], ['ò', ['ò']], ['ô', ['ô','ó'] ], ['ö', ['ö','õ'] ], ['÷', ['÷'] ], ['ø', ['ø'] ], ['ù', ['ù'] ], ['ú', ['ú'] ] ]; $ligatures = [ ]; @special = ('?', '!', '.', ';', '·', 'letters', '-'); # first lower or upper case? $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/hebrew/utf8.pl.in000066400000000000000000000022261264235421100226640ustar00rootroot00000000000000#!/usr/bin/perl $language = "Hebrew"; $prefix = "iw"; $script = "hebrew"; $alphabet = [ ['×', ['×'] @u{,['אַ'],['×Ö¶'],['אּ'],['אָ'],['×Ö»']}], ['ב', ['ב'] @u{,['בַ'],['בָ'],['בּ'],['בֵּ']}], ['×’', ['×’'] @u{,['גּ']}], ['ד', ['ד'] @u{,['דּ']}], ['×”', ['×”'] @u{,['הּ']}], ['ו', ['ו'] @u{,['וּ']}], ['×–', ['×–'] @u{,['זּ']}], ['×—', ['×—']], ['ט', ['ט'] @u{,['טּ']}], ['×™', ['×™'] @u{,['יּ']}], ['×›', ['×›','ך'] @u{,['כּ','ךּ']}], ['ל', ['ל'] @u{,['לּ']}], ['מ', ['מ','×'] @u{,['מּ']}], ['× ', ['× ','ן'] @u{,['ï­€']}], ['ס', ['ס'] @u{,['ï­']}], ['×¢', ['×¢']], ['פ', ['פ','×£'] @u{,['ï­„','ï­ƒ']}], ['צ', ['צ','×¥'] @u{,['ï­†']}], ['×§', ['×§'] @u{,['ï­‡']}], ['ר', ['ר'] @u{,['ï­ˆ']}], ['ש', ['ש'] @u{,['שׂ'],['שׁ'],['שּׁ']}], ['ת', ['ת'] @u{,['ï­Š']}] ]; $ligatures = [ @u{[['×°'], 'after', [['ו','ו']]],} @u{[['×±'], 'after', [['ו','×™']]],} @u{[['ײ'], 'after', [['×™','×™']]],} ]; @special = ('?', '!', '.', ';', '·', 'letters', @u{'ï­‹',} '-'); # first lower or upper case? $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/hungarian/000077500000000000000000000000001264235421100215325ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/hungarian/Makefile.am000066400000000000000000000026061264235421100235720ustar00rootroot00000000000000## Makefile.am fragment for alphabets/hungarian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ hungarian/cp1250-lang.xdy \ hungarian/cp1250-test.xdy \ hungarian/cp1250.xdy \ hungarian/latin2-lang.xdy \ hungarian/latin2-test.xdy \ hungarian/latin2.xdy \ hungarian/utf8-lang.xdy \ hungarian/utf8-test.xdy \ hungarian/utf8.xdy EXTRA_DIST += \ hungarian/cp1250.pl \ hungarian/latin2.pl \ hungarian/utf8.pl.in DISTCLEANFILES += \ hungarian/utf8.pl DOCS_CP1250 += \ hungarian/cp1250-doc.tex DOCS_LATIN2 += \ hungarian/latin2-doc.tex DOCS_UTF8_LAT += \ hungarian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/hungarian/cp1250.pl000066400000000000000000000133671264235421100230130ustar00rootroot00000000000000#!/usr/bin/perl # TODO: It seems that "ssz" has to be sorted like "szs" (?) # I don't know why, I don't know how... $language = "Hungarian"; $prefix = "hu"; $script = "latin"; $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', ['cs','Cs','CS']], [], # 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) ['D', ['dz','Dz','DZ']], ['D', ['dzs','Dzs','DZs','DZS']], [], # 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) ['G', ['gy','Gy','GY']], [], # 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']], ['L', ['ly','Ly','LY']], [], # 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', ['ny','Ny','NY']], [], # 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) ['Ö', ['ö','Ö'],['õ','Õ']], ['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', ['sz','Sz','SZ']], [], # 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) ['T', ['ty','Ty','TY']], [], # 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) ['Ü', ['ü','Ü'],['û','Û']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) ['Zs', ['zs','Zs','ZS']], [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/hungarian/latin2.pl000066400000000000000000000133671264235421100232720ustar00rootroot00000000000000#!/usr/bin/perl # TODO: It seems that "ssz" has to be sorted like "szs" (?) # I don't know why, I don't know how... $language = "Hungarian"; $prefix = "hu"; $script = "latin"; $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', ['cs','Cs','CS']], [], # 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) ['D', ['dz','Dz','DZ']], ['D', ['dzs','Dzs','DZs','DZS']], [], # 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) ['G', ['gy','Gy','GY']], [], # 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']], ['L', ['ly','Ly','LY']], [], # 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', ['ny','Ny','NY']], [], # 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) ['Ö', ['ö','Ö'],['õ','Õ']], ['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', ['sz','Sz','SZ']], [], # 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) ['T', ['ty','Ty','TY']], [], # 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) ['Ü', ['ü','Ü'],['û','Û']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) ['Zs', ['zs','Zs','ZS']], [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/hungarian/utf8.pl.in000066400000000000000000000134331264235421100233660ustar00rootroot00000000000000#!/usr/bin/perl # TODO: It seems that "ssz" has to be sorted like "szs" (?) # I don't know why, I don't know how... $language = "Hungarian"; $prefix = "hu"; $script = "latin"; $alphabet = [ ['A', ['a','A'],['á','Ã']@u{,['à','À']}], [], # 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', ['cs','Cs','CS']], [], # 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) ['D', ['dz','Dz','DZ']], ['D', ['dzs','Dzs','DZs','DZS']], [], # 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) ['G', ['gy','Gy','GY']], [], # 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']], ['L', ['ly','Ly','LY']], [], # 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', ['ny','Ny','NY']], [], # 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) ['Ö', ['ö','Ö'],['Å‘','Å']], ['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', ['sz','Sz','SZ']], [], # 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) ['T', ['ty','Ty','TY']], [], # 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) ['Ü', ['ü','Ü'],['ű','Ű']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) ['Zs', ['zs','Zs','ZS']], [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/icelandic/000077500000000000000000000000001264235421100214715ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/icelandic/Makefile.am000066400000000000000000000026061264235421100235310ustar00rootroot00000000000000## Makefile.am fragment for alphabets/icelandic/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ icelandic/cp1252-lang.xdy \ icelandic/cp1252-test.xdy \ icelandic/cp1252.xdy \ icelandic/latin9-lang.xdy \ icelandic/latin9-test.xdy \ icelandic/latin9.xdy \ icelandic/utf8-lang.xdy \ icelandic/utf8-test.xdy \ icelandic/utf8.xdy EXTRA_DIST += \ icelandic/cp1252.pl \ icelandic/latin9.pl \ icelandic/utf8.pl.in DISTCLEANFILES += \ icelandic/utf8.pl DOCS_CP1252 += \ icelandic/cp1252-doc.tex DOCS_LATIN9 += \ icelandic/latin9-doc.tex DOCS_UTF8_LAT += \ icelandic/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/icelandic/cp1252.pl000066400000000000000000000133671264235421100227540ustar00rootroot00000000000000#!/usr/bin/perl $language = "Icelandic"; $prefix = "is"; $script = "latin"; $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) ['ð', ['ð','Ð']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) ['Þ', ['þ','Þ']], [], # wynn (english) ['Æ', ['æ','Æ'],['œ','Œ'],['ä','Ä']], [], # o with stroke (danish, norwegian) [], # a with ring above (danish, norwegian, swedish) [], # a with diaeresis (finnish, swedish) ['Ö', ['ö','Ö'],['ø','Ø']], ['Å', ['å','Å']], ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/icelandic/latin9.pl000066400000000000000000000133671264235421100232400ustar00rootroot00000000000000#!/usr/bin/perl $language = "Icelandic"; $prefix = "is"; $script = "latin"; $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) ['ð', ['ð','Ð']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) ['Þ', ['þ','Þ']], [], # wynn (english) ['Æ', ['æ','Æ'],['½','¼'],['ä','Ä']], [], # o with stroke (danish, norwegian) [], # a with ring above (danish, norwegian, swedish) [], # a with diaeresis (finnish, swedish) ['Ö', ['ö','Ö'],['ø','Ø']], ['Å', ['å','Å']], ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/icelandic/utf8.pl.in000066400000000000000000000135751264235421100233340ustar00rootroot00000000000000#!/usr/bin/perl $language = "Icelandic"; $prefix = "is"; $script = "latin"; $alphabet = [ ['A', ['a','A'],['á','Ã']@u{,['Ç«Ì','ǪÌ']}], [], # 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) ['ð', ['ð','Ã']], ['E', ['e','E']@u{,['Ä™','Ę']},['ë','Ë'],['é','É']], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) ['Þ', ['þ','Þ']], [], # wynn (english) ['Æ', ['æ','Æ']@u{,['ǽ','Ǽ'],['Ä™Ì','ĘÌ'],['Ç¿','Ǿ']},['Å“','Å’'],['ä','Ä']], [], # o with stroke (danish, norwegian) [], # a with ring above (danish, norwegian, swedish) [], # a with diaeresis (finnish, swedish) ['Ö', ['ö','Ö'],['ø','Ø']@u{,['Ç«','Ǫ']}], ['Ã…', ['Ã¥','Ã…']], ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/italian/000077500000000000000000000000001264235421100211775ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/italian/Makefile.am000066400000000000000000000023321264235421100232330ustar00rootroot00000000000000## Makefile.am fragment for alphabets/italian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ italian/latin1-lang.xdy \ italian/latin1-test.xdy \ italian/latin1.xdy \ italian/utf8-lang.xdy \ italian/utf8-test.xdy \ italian/utf8.xdy EXTRA_DIST += \ italian/latin1.pl \ italian/utf8.pl.in DISTCLEANFILES += \ italian/utf8.pl DOCS_LATIN1 += \ italian/latin1-doc.tex DOCS_UTF8_LAT += \ italian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/italian/latin1.pl000066400000000000000000000136441264235421100227340ustar00rootroot00000000000000#!/usr/bin/perl $language = "Italian"; $prefix = "it"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zs (hungarian) [], # zh (albanian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/italian/utf8.pl.in000066400000000000000000000136711264235421100230370ustar00rootroot00000000000000#!/usr/bin/perl $language = "Italian"; $prefix = "it"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zs (hungarian) [], # zh (albanian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/klingon/000077500000000000000000000000001264235421100212175ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/klingon/Makefile.am000066400000000000000000000021571264235421100232600ustar00rootroot00000000000000## Makefile.am fragment for alphabets/klingon/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ klingon/utf8-lang.xdy \ klingon/utf8-test.xdy \ klingon/utf8.xdy EXTRA_DIST += \ klingon/utf8.pl.in \ klingon/translit-ascii.pl DISTCLEANFILES += \ klingon/utf8.pl DOCS_UTF8_OTHER += \ klingon/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/klingon/translit-ascii.pl000066400000000000000000000012471264235421100245060ustar00rootroot00000000000000#!/usr/bin/perl $language = "Klingon"; $variant = "Standard Okrand Latin transliteration"; $prefix = "k1"; $script = "latin"; $alphabet = [ ['a', ['a']], ['b', ['b']], ['ch', ['ch']], ['D', ['D']], ['e', ['e']], ['gh', ['gh']], ['H', ['H']], ['I', ['I']], ['j', ['j']], ['l', ['l']], ['m', ['m']], ['n', ['n']], ['ng', ['ng']], ['o', ['o']], ['p', ['p']], ['q', ['q']], ['Q', ['Q']], ['r', ['r']], ['S', ['S']], ['t', ['t']], ['tlh', ['tlh']], ['u', ['u']], ['v', ['v']], ['w', ['w']], ['y', ['y']], ['\'', ['\'']] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/klingon/utf8.pl.in000066400000000000000000000012531264235421100230500ustar00rootroot00000000000000#!/usr/bin/perl $language = "Klingon"; $prefix = "k1"; $script = "klingon"; $alphabet = [ ['ï£', ['ï£']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['ï£', ['ï£']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']], ['', ['']] ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '{', '}'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/kurdish/000077500000000000000000000000001264235421100212275ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/kurdish/Makefile.am000066400000000000000000000032551264235421100232700ustar00rootroot00000000000000## Makefile.am fragment for alphabets/kurdish/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ kurdish/bedirxan-latin5-lang.xdy \ kurdish/bedirxan-latin5-test.xdy \ kurdish/bedirxan-latin5.xdy \ kurdish/bedirxan-utf8-lang.xdy \ kurdish/bedirxan-utf8-test.xdy \ kurdish/bedirxan-utf8.xdy \ kurdish/turkish-i-latin5-lang.xdy \ kurdish/turkish-i-latin5-test.xdy \ kurdish/turkish-i-latin5.xdy \ kurdish/turkish-i-utf8-lang.xdy \ kurdish/turkish-i-utf8-test.xdy \ kurdish/turkish-i-utf8.xdy EXTRA_DIST += \ kurdish/bedirxan-latin5.pl \ kurdish/bedirxan-utf8.pl.in \ kurdish/turkish-i-latin5.pl \ kurdish/turkish-i-utf8.pl.in DISTCLEANFILES += \ kurdish/bedirxan-utf8.pl \ kurdish/turkish-i-utf8.pl DOCS_LATIN5 += \ kurdish/bedirxan-latin5-doc.tex \ kurdish/turkish-i-latin5-doc.tex DOCS_UTF8_LAT += \ kurdish/bedirxan-utf8-doc.tex \ kurdish/turkish-i-utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/kurdish/bedirxan-latin5.pl000066400000000000000000000131621264235421100245550ustar00rootroot00000000000000#!/usr/bin/perl $language = "Kurdish"; $variant = "Bedirxan"; $prefix = "ku"; $script = "latin"; $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) ['Ç', ['ç','Ç']], ['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 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 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 (many) ['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) ['Þ', ['þ','Þ']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/kurdish/bedirxan-utf8.pl.in000066400000000000000000000132011264235421100246460ustar00rootroot00000000000000#!/usr/bin/perl $language = "Kurdish"; $variant = "Bedirxan"; $prefix = "ku"; $script = "latin"; $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) ['Ç', ['ç','Ç']], ['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 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 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 (many) ['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) ['Åž', ['ÅŸ','Åž']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/kurdish/turkish-i-latin5.pl000066400000000000000000000132051264235421100246760ustar00rootroot00000000000000#!/usr/bin/perl $language = "Kurdish"; $variant = "Turkish i"; $prefix = "ku"; $script = "latin"; $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) ['Ç', ['ç','Ç']], ['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 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) ['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 (many) ['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) ['Þ', ['þ','Þ']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/kurdish/turkish-i-utf8.pl.in000066400000000000000000000132241264235421100247760ustar00rootroot00000000000000#!/usr/bin/perl $language = "Kurdish"; $variant = "Turkish i"; $prefix = "ku"; $script = "latin"; $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) ['Ç', ['ç','Ç']], ['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 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) ['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 (many) ['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) ['Åž', ['ÅŸ','Åž']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/latin/000077500000000000000000000000001264235421100206655ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/latin/Makefile.am000066400000000000000000000021021264235421100227140ustar00rootroot00000000000000## Makefile.am fragment for alphabets/latin/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ latin/utf8-lang.xdy \ latin/utf8-test.xdy \ latin/utf8.xdy EXTRA_DIST += \ latin/utf8.pl.in DISTCLEANFILES += \ latin/utf8.pl DOCS_UTF8_LAT += \ latin/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/latin/utf8.pl.in000066400000000000000000000137321264235421100225230ustar00rootroot00000000000000#!/usr/bin/perl $language = "Latin"; $prefix = "la"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/latvian/000077500000000000000000000000001264235421100212145ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/latvian/Makefile.am000066400000000000000000000023321264235421100232500ustar00rootroot00000000000000## Makefile.am fragment for alphabets/latvian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ latvian/latin4-lang.xdy \ latvian/latin4-test.xdy \ latvian/latin4.xdy \ latvian/utf8-lang.xdy \ latvian/utf8-test.xdy \ latvian/utf8.xdy EXTRA_DIST += \ latvian/latin4.pl \ latvian/utf8.pl.in DISTCLEANFILES += \ latvian/utf8.pl DOCS_LATIN4 += \ latvian/latin4-doc.tex DOCS_UTF8_LAT += \ latvian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/latvian/latin4.pl000066400000000000000000000132671264235421100227550ustar00rootroot00000000000000#!/usr/bin/perl $language = "Latvian"; $prefix = "lv"; $script = "latin"; $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']], ['È', ['è','È']], [], # 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) ['«', ['»','«']], [], # postpalatal fricative (gypsy/northrussian) ['H', ['h','H']], [], # h with circumflex (esperanto) [], # ch (many) [], # dotless i (turkish) ['I', ['i','I'],['y','Y'],['ï','Ï']], [], # 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 hook (hausa) [], # x (gypsy/northrussian) [], # l with stroke (lower/upper sorbian) ['L', ['l','L']], [], # lj (croatian) [], # ll (albanian, spanish/traditional) [], # ly (hungarian) [], # l with caron (slovak/large) ['¦', ['¶','¦']], [], # 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) ['Ñ', ['ñ','Ñ']], ['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) ['£', ['³','£']], ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['©', ['¹','©']], [], # 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 (many) [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['®', ['¾','®']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/latvian/utf8.pl.in000066400000000000000000000133321264235421100230460ustar00rootroot00000000000000#!/usr/bin/perl $language = "Latvian"; $prefix = "lv"; $script = "latin"; $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']], ['ÄŒ', ['Ä','ÄŒ']], [], # 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) ['Ä¢', ['Ä£','Ä¢']], [], # postpalatal fricative (gypsy/northrussian) ['H', ['h','H']], [], # h with circumflex (esperanto) [], # ch (many) [], # dotless i (turkish) ['I', ['i','I'],['y','Y'],['Ä«','Ī']], [], # 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 hook (hausa) [], # x (gypsy/northrussian) [], # l with stroke (lower/upper sorbian) ['L', ['l','L']], [], # lj (croatian) [], # ll (albanian, spanish/traditional) [], # ly (hungarian) [], # l with caron (slovak/large) ['Ä»', ['ļ','Ä»']], [], # 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) ['Å…', ['ņ','Å…']], ['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) ['Å–', ['Å—','Å–']], ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['Å ', ['Å¡','Å ']], [], # 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 (many) [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/lithuanian/000077500000000000000000000000001264235421100217125ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/lithuanian/Makefile.am000066400000000000000000000023761264235421100237560ustar00rootroot00000000000000## Makefile.am fragment for alphabets/lithuanian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ lithuanian/latin4-lang.xdy \ lithuanian/latin4-test.xdy \ lithuanian/latin4.xdy \ lithuanian/utf8-lang.xdy \ lithuanian/utf8-test.xdy \ lithuanian/utf8.xdy EXTRA_DIST += \ lithuanian/latin4.pl \ lithuanian/utf8.pl.in DISTCLEANFILES += \ lithuanian/utf8.pl DOCS_LATIN4 += \ lithuanian/latin4-doc.tex DOCS_UTF8_LAT += \ lithuanian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/lithuanian/latin4.pl000066400000000000000000000135451264235421100234520ustar00rootroot00000000000000#!/usr/bin/perl $language = "Lithuanian"; $prefix = "lt"; $script = "latin"; $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','Ch','CH']], [], # ch (spanish/traditional) [], # cs (hungarian) ['È', ['è','È']], [], # 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'],['ç','Ç'],['y','Y']], [], # 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 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 (many) [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['®', ['¾','®']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/lithuanian/utf8.pl.in000066400000000000000000000135721264235421100235520ustar00rootroot00000000000000#!/usr/bin/perl $language = "Lithuanian"; $prefix = "lt"; $script = "latin"; $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','Ch','CH']], [], # ch (spanish/traditional) [], # cs (hungarian) ['ÄŒ', ['Ä','ÄŒ']], [], # 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'],['į','Ä®'],['y','Y']], [], # 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 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 (many) [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/lower-sorbian/000077500000000000000000000000001264235421100223415ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/lower-sorbian/Makefile.am000066400000000000000000000027121264235421100243770ustar00rootroot00000000000000## Makefile.am fragment for alphabets/lower-sorbian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ lower-sorbian/cp1250-lang.xdy \ lower-sorbian/cp1250-test.xdy \ lower-sorbian/cp1250.xdy \ lower-sorbian/latin2-lang.xdy \ lower-sorbian/latin2-test.xdy \ lower-sorbian/latin2.xdy \ lower-sorbian/utf8-lang.xdy \ lower-sorbian/utf8-test.xdy \ lower-sorbian/utf8.xdy EXTRA_DIST += \ lower-sorbian/cp1250.pl \ lower-sorbian/latin2.pl \ lower-sorbian/utf8.pl.in DISTCLEANFILES += \ lower-sorbian/utf8.pl DOCS_CP1250 += \ lower-sorbian/cp1250-doc.tex DOCS_LATIN2 += \ lower-sorbian/latin2-doc.tex DOCS_UTF8_LAT += \ lower-sorbian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/lower-sorbian/cp1250.pl000066400000000000000000000127471264235421100236230ustar00rootroot00000000000000#!/usr/bin/perl $language = "Lower Sorbian"; $prefix = "s1"; $script = "latin"; $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 (many) [], # cs (hungarian) ['È', ['è','È']], ['Æ', ['æ','Æ']], [], # 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 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', ['ch','Ch','CH']], [], # 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', ['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 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 cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['Š', ['š','Š']], ['Œ', ['œ','Œ']], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], ['', ['Ÿ','']], [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/lower-sorbian/latin2.pl000066400000000000000000000127471264235421100241020ustar00rootroot00000000000000#!/usr/bin/perl $language = "Lower Sorbian"; $prefix = "s1"; $script = "latin"; $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 (many) [], # cs (hungarian) ['È', ['è','È']], ['Æ', ['æ','Æ']], [], # 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 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', ['ch','Ch','CH']], [], # 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', ['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 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 cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['©', ['¹','©']], ['¦', ['¶','¦']], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['®', ['¾','®']], ['¬', ['¼','¬']], [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/lower-sorbian/utf8.pl.in000066400000000000000000000130061264235421100241710ustar00rootroot00000000000000#!/usr/bin/perl $language = "Lower Sorbian"; $prefix = "s1"; $script = "latin"; $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 (many) [], # cs (hungarian) ['ÄŒ', ['Ä','ÄŒ']], ['Ć', ['ć','Ć']], [], # 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 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', ['ch','Ch','CH']], [], # 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', ['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 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 cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['Å ', ['Å¡','Å ']], ['Åš', ['Å›','Åš']], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], ['Ź', ['ź','Ź']], [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/macedonian/000077500000000000000000000000001264235421100216545ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/macedonian/Makefile.am000066400000000000000000000031221264235421100237060ustar00rootroot00000000000000## Makefile.am fragment for alphabets/macedonian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ macedonian/cp1251-lang.xdy \ macedonian/cp1251-test.xdy \ macedonian/cp1251.xdy \ macedonian/iso88595-lang.xdy \ macedonian/iso88595-test.xdy \ macedonian/iso88595.xdy \ macedonian/isoir111-lang.xdy \ macedonian/isoir111-test.xdy \ macedonian/isoir111.xdy \ macedonian/utf8-lang.xdy \ macedonian/utf8-test.xdy \ macedonian/utf8.xdy EXTRA_DIST += \ macedonian/cp1251.pl \ macedonian/iso88595.pl \ macedonian/isoir111.pl \ macedonian/utf8.pl.in DISTCLEANFILES += \ macedonian/utf8.pl DOCS_CYR_1251 += \ macedonian/cp1251-doc.tex DOCS_CYR_ISO88595 += \ macedonian/iso88595-doc.tex DOCS_CYR_ISOIR111 += \ macedonian/isoir111-doc.tex DOCS_UTF8_CYR += \ macedonian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/macedonian/cp1251.pl000066400000000000000000000032641264235421100231310ustar00rootroot00000000000000#!/usr/bin/perl $language = "Macedonian"; $prefix = "mk"; $script = "cyrillic"; $alphabet = [ ['À', ['à','À']], ['Á', ['á','Á']], ['Â', ['â','Â']], ['Ã', ['ã','Ã']], [], # ghe with upturn (ukrainian) ['Ä', ['ä','Ä']], [], # dje (serbian) ['', ['ƒ','']], ['Å', ['å','Å']], [], # io (mongolian) [], # ukrainian ie ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], ['½', ['¾','½']], ['È', ['è','È']], [], # belarusian-ukrainian i [], # yi (ukrainian) [], # short i (many) ['£', ['¼','£']], ['Ê', ['ê','Ê']], ['Ë', ['ë','Ë']], ['Š', ['š','Š']], ['Ì', ['ì','Ì']], ['Í', ['í','Í']], ['Œ', ['œ','Œ']], ['Î', ['î','Î']], [], # barred o (mongolian) ['Ï', ['ï','Ï']], ['Ð', ['ð','Ð']], ['Ñ', ['ñ','Ñ']], ['Ò', ['ò','Ò']], [], # tshe (serbian) ['', ['','']], ['Ó', ['ó','Ó']], [], # short u (belarusian) [], # straight u (mongolian) ['Ô', ['ô','Ô']], ['Õ', ['õ','Õ']], ['Ö', ['ö','Ö']], ['×', ['÷','×']], ['', ['Ÿ','']], ['Ø', ['ø','Ø']], [], # shcha (many) [], # hard sign (bulgarian, russian) [], # yeru (belarusian, russian) [], # soft sign (many) [], [], # e (belarusian, russian) [], # yu (many) [], # ya (many) [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/macedonian/iso88595.pl000066400000000000000000000032641264235421100234330ustar00rootroot00000000000000#!/usr/bin/perl $language = "Macedonian"; $prefix = "mk"; $script = "cyrillic"; $alphabet = [ ['°', ['Ð','°']], ['±', ['Ñ','±']], ['²', ['Ò','²']], ['³', ['Ó','³']], [], # ghe with upturn (ukrainian) ['´', ['Ô','´']], [], # dje (serbian) ['£', ['ó','£']], ['µ', ['Õ','µ']], [], # io (mongolian) [], # ukrainian ie ['¶', ['Ö','¶']], ['·', ['×','·']], ['¥', ['õ','¥']], ['¸', ['Ø','¸']], [], # belarusian-ukrainian i [], # yi (ukrainian) [], # short i (many) ['¨', ['ø','¨']], ['º', ['Ú','º']], ['»', ['Û','»']], ['©', ['ù','©']], ['¼', ['Ü','¼']], ['½', ['Ý','½']], ['ª', ['ú','ª']], ['¾', ['Þ','¾']], [], # barred o (mongolian) ['¿', ['ß','¿']], ['À', ['à','À']], ['Á', ['á','Á']], ['Â', ['â','Â']], [], # tshe (serbian) ['¬', ['ü','¬']], ['Ã', ['ã','Ã']], [], # short u (belarusian) [], # straight u (mongolian) ['Ä', ['ä','Ä']], ['Å', ['å','Å']], ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], ['¯', ['ÿ','¯']], ['È', ['è','È']], [], # shcha (many) [], # hard sign (bulgarian, russian) [], # yeru (belarusian, russian) [], # soft sign (many) [], [], # e (belarusian, russian) [], # yu (many) [], # ya (many) [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/macedonian/isoir111.pl000066400000000000000000000032641264235421100235660ustar00rootroot00000000000000#!/usr/bin/perl $language = "Macedonian"; $prefix = "mk"; $script = "cyrillic"; $alphabet = [ ['á', ['Á','á']], ['â', ['Â','â']], ['÷', ['×','÷']], ['ç', ['Ç','ç']], [], # ghe with upturn (ukrainian) ['ä', ['Ä','ä']], [], # dje (serbian) ['²', ['¢','²']], ['å', ['Å','å']], [], # io (mongolian) [], # ukrainian ie ['ö', ['Ö','ö']], ['ú', ['Ú','ú']], ['µ', ['¥','µ']], ['é', ['É','é']], [], # belarusian-ukrainian i [], # yi (ukrainian) [], # short i (many) ['¸', ['¨','¸']], ['ë', ['Ë','ë']], ['ì', ['Ì','ì']], ['¹', ['©','¹']], ['í', ['Í','í']], ['î', ['Î','î']], ['º', ['ª','º']], ['ï', ['Ï','ï']], [], # barred o (mongolian) ['ð', ['Ð','ð']], ['ò', ['Ò','ò']], ['ó', ['Ó','ó']], ['ô', ['Ô','ô']], [], # tshe (serbian) ['¼', ['¬','¼']], ['õ', ['Õ','õ']], [], # short u (belarusian) [], # straight u (mongolian) ['æ', ['Æ','æ']], ['è', ['È','è']], ['ã', ['Ã','ã']], ['þ', ['Þ','þ']], ['¿', ['¯','¿']], ['û', ['Û','û']], [], # shcha (many) [], # hard sign (bulgarian, russian) [], # yeru (belarusian, russian) [], # soft sign (many) [], [], # e (belarusian, russian) [], # yu (many) [], # ya (many) [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/macedonian/utf8.pl.in000066400000000000000000000034611264235421100235100ustar00rootroot00000000000000#!/usr/bin/perl $language = "Macedonian"; $prefix = "mk"; $script = "cyrillic"; $alphabet = [ ['Ð', ['а','Ð']], ['Б', ['б','Б']], ['Ð’', ['в','Ð’']], ['Г', ['г','Г']], [], # ghe with upturn (ukrainian) ['Д', ['д','Д']], [], # dje (serbian) ['Ѓ', ['Ñ“','Ѓ']], ['Е', ['е','Е']@u{,['Ñ','Ѐ']}], [], # io (mongolian) [], # ukrainian ie ['Ж', ['ж','Ж']], ['З', ['з','З']], ['Ð…', ['Ñ•','Ð…']], ['И', ['и','И']@u{,['Ñ','Ð']}], [], # belarusian-ukrainian i [], # yi (ukrainian) [], # short i (many) ['Ј', ['ј','Ј']], ['К', ['к','К']], ['Л', ['л','Л']], ['Љ', ['Ñ™','Љ']], ['М', ['м','М']], ['Ð', ['н','Ð']], ['Њ', ['Ñš','Њ']], ['О', ['о','О']], [], # barred o (mongolian) ['П', ['п','П']], ['Р', ['Ñ€','Р']], ['С', ['Ñ','С']], ['Т', ['Ñ‚','Т']], [], # tshe (serbian) ['ÐŒ', ['Ñœ','ÐŒ']], ['У', ['у','У']], [], # short u (belarusian) [], # straight u (mongolian) ['Ф', ['Ñ„','Ф']], ['Ð¥', ['Ñ…','Ð¥']], ['Ц', ['ц','Ц']], ['Ч', ['ч','Ч']], ['Ð', ['ÑŸ','Ð']], ['Ш', ['ш','Ш']], [], # shcha (many) [], # hard sign (bulgarian, russian) [], # yeru (belarusian, russian) [], # soft sign (many) [], [], # e (belarusian, russian) [], # yu (many) [], # ya (many) [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/make-rules.pl000077500000000000000000000151371264235421100221720ustar00rootroot00000000000000#!/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 = (); } xindy-2.5.1.20160104/make-rules/alphabets/mongolian/000077500000000000000000000000001264235421100215415ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/mongolian/Makefile.am000066400000000000000000000022241264235421100235750ustar00rootroot00000000000000## Makefile.am fragment for alphabets/mongolian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ mongolian/cyrillic-utf8-lang.xdy \ mongolian/cyrillic-utf8-test.xdy \ mongolian/cyrillic-utf8.xdy EXTRA_DIST += \ mongolian/cyrillic-utf8.pl.in DISTCLEANFILES += \ mongolian/cyrillic-utf8.pl DOCS_UTF8_CYR += \ mongolian/cyrillic-utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/mongolian/cyrillic-utf8.pl.in000066400000000000000000000037111264235421100252030ustar00rootroot00000000000000#!/usr/bin/perl $language = "Mongolian"; $prefix = "mn"; $script = "cyrillic"; $alphabet = [ ['Ð', ['а','Ð'] @u{,['аÌ','ÐÌ']}], ['Б', ['б','Б']], ['Ð’', ['в','Ð’']], ['Г', ['г','Г']], [], # ghe with upturn (ukrainian) ['Д', ['д','Д']], [], # dje (serbian) [], # gje (macedonian) ['Е', ['е','Е'], @u{['еÌ','ЕÌ']}], ['Ð', ['Ñ‘','Ð'], @u{['Ñ‘Ì','ÐÌ']}], [], # ukrainian ie ['Ж', ['ж','Ж']], ['З', ['з','З']], [], # dze (macedonian) ['И', ['и','И']@u{,['иÌ','ИÌ']}], [], [], # yi (ukrainian) ['Й', ['й','Й']@u{,['йÌ','ЙÌ']}], [], # je (macedonian, serbian) ['К', ['к','К']], ['Л', ['л','Л']], [], # lje (macedonian, serbian) ['М', ['м','М']], ['Ð', ['н','Ð']], [], # nje (macedonian, serbian) ['О', ['о','О']@u{,['оÌ','ОÌ']}], ['Ó¨', ['Ó©','Ó¨']@u{,['Ó©Ì','Ó¨Ì']}], ['П', ['п','П']], ['Р', ['Ñ€','Р']], ['С', ['Ñ','С']], ['Т', ['Ñ‚','Т']], [], # tshe (serbian) [], # kje (macedonian) ['У', ['у','У']@u{,['уÌ','УÌ']}], [], # short u (belarusian) ['Ò®', ['Ò¯','Ò®']@u{,['Ò¯Ì','Ò®Ì']}], ['Ф', ['Ñ„','Ф']], ['Ð¥', ['Ñ…','Ð¥']], ['Ц', ['ц','Ц']], ['Ч', ['ч','Ч']], [], # dzhe (macedonian, serbian) ['Ш', ['ш','Ш']], ['Щ', ['щ','Щ']], ['Ъ', ['ÑŠ','Ъ']], ['Ы', ['Ñ‹','Ы']@u{,['Ñ‹Ì','ЫÌ']}], ['Ь', ['ÑŒ','Ь']], [], ['Э', ['Ñ','Э']@u{,['ÑÌ','ЭÌ']}], ['Ю', ['ÑŽ','Ю']@u{,['ÑŽÌ','ЮÌ']}], ['Я', ['Ñ','Я']@u{,['ÑÌ','ЯÌ']}], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''@u{, 'Ì'}); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/norwegian/000077500000000000000000000000001264235421100215475ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/norwegian/Makefile.am000066400000000000000000000023621264235421100236060ustar00rootroot00000000000000## Makefile.am fragment for alphabets/norwegian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ norwegian/latin1-lang.xdy \ norwegian/latin1-test.xdy \ norwegian/latin1.xdy \ norwegian/utf8-lang.xdy \ norwegian/utf8-test.xdy \ norwegian/utf8.xdy EXTRA_DIST += \ norwegian/latin1.pl \ norwegian/utf8.pl.in DISTCLEANFILES += \ norwegian/utf8.pl DOCS_LATIN1 += \ norwegian/latin1-doc.tex DOCS_UTF8_LAT += \ norwegian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/norwegian/latin1.pl000066400000000000000000000134641264235421100233040ustar00rootroot00000000000000#!/usr/bin/perl $language = "Norwegian"; $prefix = "no"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) ['Æ', ['æ','Æ'],['ä','Ä']], ['Ø', ['ø','Ø'],['ö','Ö']], ['Å', ['å','Å']], [], # a with diaeresis (finnish, swedish) [], # o with diaeresis (finnish, swedish) [], # a with ring above (icelandic) ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/norwegian/utf8.pl.in000066400000000000000000000135321264235421100234030ustar00rootroot00000000000000#!/usr/bin/perl $language = "Norwegian"; $prefix = "no"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) ['Æ', ['æ','Æ'],['ä','Ä']], ['Ø', ['ø','Ø'],['ö','Ö']], ['Ã…', ['Ã¥','Ã…']], [], # a with diaeresis (finnish, swedish) [], # o with diaeresis (finnish, swedish) [], # a with ring above (icelandic) ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/persian/000077500000000000000000000000001264235421100212175ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/persian/Makefile.am000066400000000000000000000024671264235421100232640ustar00rootroot00000000000000## Makefile.am fragment for alphabets/persian/. ## Copyright (C) 2014 by Joachim Schrod. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ persian/variant1-utf8-lang.xdy \ persian/variant1-utf8-test.xdy \ persian/variant1-utf8.xdy \ persian/variant2-utf8-lang.xdy \ persian/variant2-utf8-test.xdy \ persian/variant2-utf8.xdy EXTRA_DIST += \ persian/README \ persian/variant1-utf8.pl.in \ persian/variant2-utf8.pl.in DISTCLEANFILES += \ persian/utf8.pl DOCS_UTF8_OTHER += \ persian/variant1-utf8-doc.tex \ persian/variant2-utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/persian/README000066400000000000000000000024221264235421100220770ustar00rootroot00000000000000________________________ The “xindy-persian†package v0.6 The “xindy-persian†package is the Persian language support for xindy program. Two Variants are provided: * Variant One: Sorts Ø¢ as ا * Variant Two: Sorts Ø¢ as a separate letter 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: 2013/10/14 _________________ Vafa Khalighi persian-tex@tug.org Copyright © 2011–2013 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 this license is at: http://www.latex-project.org/lppl.txt This work is “maintained†(as per LPPL maintenance status) by Vafa Khalighi. xindy-2.5.1.20160104/make-rules/alphabets/persian/variant1-utf8.pl.in000066400000000000000000000031271264235421100245750ustar00rootroot00000000000000#!/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'; xindy-2.5.1.20160104/make-rules/alphabets/persian/variant2-utf8.pl.in000066400000000000000000000031271264235421100245760ustar00rootroot00000000000000#!/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'; xindy-2.5.1.20160104/make-rules/alphabets/polish/000077500000000000000000000000001264235421100210545ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/polish/Makefile.am000066400000000000000000000025231264235421100231120ustar00rootroot00000000000000## Makefile.am fragment for alphabets/polish/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ polish/cp1250-lang.xdy \ polish/cp1250-test.xdy \ polish/cp1250.xdy \ polish/latin2-lang.xdy \ polish/latin2-test.xdy \ polish/latin2.xdy \ polish/utf8-lang.xdy \ polish/utf8-test.xdy \ polish/utf8.xdy EXTRA_DIST += \ polish/cp1250.pl \ polish/latin2.pl \ polish/utf8.pl.in DISTCLEANFILES += \ polish/utf8.pl DOCS_CP1250 += \ polish/cp1250-doc.tex DOCS_LATIN2 += \ polish/latin2-doc.tex DOCS_UTF8_LAT += \ polish/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/polish/cp1250.pl000066400000000000000000000130261264235421100223250ustar00rootroot00000000000000#!/usr/bin/perl $language = "Polish"; $prefix = "pl"; $script = "latin"; $alphabet = [ ['A', ['a','A']], [], # a with breve (romanian) [], # a with circumflex (romanian) ['¥', ['¹','¥']], ['B', ['b','B']], [], # b with hook (hausa) ['C', ['c','C']], [], # ch (spanish/traditional) [], # cs (hungarian) [], # c with caron (many) ['Æ', ['æ','Æ']], [], # 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) ['Ê', ['ê','Ê']], ['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 caron (slovak/large) [], # l with cedilla/comma (latvian) ['£', ['³','£']], ['M', ['m','M']], ['N', ['n','N']], [], # nj (albanian, croatian) [], # ny (hungarian) [], # n with caron (slovak/large) ['Ñ', ['ñ','Ñ']], [], # n with tilde (spanish/modern, spanish/traditional) [], # n with cedilla/comma (latvian) ['O', ['o','O']], ['Ó', ['ó','Ó']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) ['', ['Ÿ','']], ['¯', ['¿','¯']], [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/polish/latin2.pl000066400000000000000000000130261264235421100226040ustar00rootroot00000000000000#!/usr/bin/perl $language = "Polish"; $prefix = "pl"; $script = "latin"; $alphabet = [ ['A', ['a','A']], [], # a with breve (romanian) [], # a with circumflex (romanian) ['¡', ['±','¡']], ['B', ['b','B']], [], # b with hook (hausa) ['C', ['c','C']], [], # ch (spanish/traditional) [], # cs (hungarian) [], # c with caron (many) ['Æ', ['æ','Æ']], [], # 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) ['Ê', ['ê','Ê']], ['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 caron (slovak/large) [], # l with cedilla/comma (latvian) ['£', ['³','£']], ['M', ['m','M']], ['N', ['n','N']], [], # nj (albanian, croatian) [], # ny (hungarian) [], # n with caron (slovak/large) ['Ñ', ['ñ','Ñ']], [], # n with tilde (spanish/modern, spanish/traditional) [], # n with cedilla/comma (latvian) ['O', ['o','O']], ['Ó', ['ó','Ó']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) ['¬', ['¼','¬']], ['¯', ['¿','¯']], [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/polish/utf8.pl.in000066400000000000000000000130621264235421100227060ustar00rootroot00000000000000#!/usr/bin/perl $language = "Polish"; $prefix = "pl"; $script = "latin"; $alphabet = [ ['A', ['a','A']], [], # a with breve (romanian) [], # a with circumflex (romanian) ['Ä„', ['Ä…','Ä„']], ['B', ['b','B']], [], # b with hook (hausa) ['C', ['c','C']], [], # ch (spanish/traditional) [], # cs (hungarian) [], # c with caron (many) ['Ć', ['ć','Ć']], [], # 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) ['Ę', ['Ä™','Ę']], ['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 caron (slovak/large) [], # l with cedilla/comma (latvian) ['Å', ['Å‚','Å']], ['M', ['m','M']], ['N', ['n','N']], [], # nj (albanian, croatian) [], # ny (hungarian) [], # n with caron (slovak/large) ['Ń', ['Å„','Ń']], [], # n with tilde (spanish/modern, spanish/traditional) [], # n with cedilla/comma (latvian) ['O', ['o','O']], ['Ó', ['ó','Ó']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) ['Ź', ['ź','Ź']], ['Å»', ['ż','Å»']], [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/portuguese/000077500000000000000000000000001264235421100217605ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/portuguese/Makefile.am000066400000000000000000000024011264235421100240110ustar00rootroot00000000000000## Makefile.am fragment for alphabets/portuguese/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ portuguese/latin1-lang.xdy \ portuguese/latin1-test.xdy \ portuguese/latin1.xdy \ portuguese/utf8-lang.xdy \ portuguese/utf8-test.xdy \ portuguese/utf8.xdy EXTRA_DIST += \ portuguese/latin1.pl \ portuguese/utf8.pl.in DISTCLEANFILES += \ portuguese/utf8.pl DOCS_LATIN1 += \ portuguese/latin1-doc.tex DOCS_UTF8_LAT += \ portuguese/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/portuguese/latin1.pl000066400000000000000000000140171264235421100235100ustar00rootroot00000000000000#!/usr/bin/perl $language = "Portuguese"; $prefix = "pt"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], [['æ','Æ'], 'after', [['a','e'], ['A','e']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/portuguese/utf8.pl.in000066400000000000000000000140641264235421100236150ustar00rootroot00000000000000#!/usr/bin/perl $language = "Portuguese"; $prefix = "pt"; $script = "latin"; $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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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', [['s','s']]], [['æ','Æ'], 'after', [['a','e'], ['A','e']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/rom-comma-kludge.sed000066400000000000000000000002111264235421100234050ustar00rootroot00000000000000# replace [SsTt] with comma below -> [SsTt] with cedilla # for latin2 with romanian language s/Ș/Åž/g; s/È™/ÅŸ/g; s/Èš/Å¢/g; s/È›/Å£/g; xindy-2.5.1.20160104/make-rules/alphabets/romanian/000077500000000000000000000000001264235421100213625ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/romanian/Makefile.am000066400000000000000000000023511264235421100234170ustar00rootroot00000000000000## Makefile.am fragment for alphabets/romanian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ romanian/latin2-lang.xdy \ romanian/latin2-test.xdy \ romanian/latin2.xdy \ romanian/utf8-lang.xdy \ romanian/utf8-test.xdy \ romanian/utf8.xdy EXTRA_DIST += \ romanian/latin2.pl \ romanian/utf8.pl.in DISTCLEANFILES += \ romanian/utf8.pl DOCS_LATIN2 += \ romanian/latin2-doc.tex DOCS_UTF8_LAT += \ romanian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/romanian/latin2.pl000066400000000000000000000131431264235421100231120ustar00rootroot00000000000000#!/usr/bin/perl $language = "Romanian"; $prefix = "ro"; $script = "latin"; $alphabet = [ ['A', ['a','A']], ['Ã', ['ã','Ã']], ['Â', ['â','Â']], [], # a with ogonek (polish) ['B', ['b','B']], [], # b with hook (hausa) ['C', ['c','C']], [], # ch (spanish/traditonal) [], # 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 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/traditonal) [], # 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 cedilla (kurdish, turkish) [], # z (estonian) [], # z with caron (estonian) ['T', ['t','T']], [], # th (albanian) [], # ty (hungarian) [], # t with caron (slovak/large) ['Þ', ['þ','Þ']], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/romanian/utf8.pl.in000066400000000000000000000131621264235421100232150ustar00rootroot00000000000000#!/usr/bin/perl $language = "Romanian"; $prefix = "ro"; $script = "latin"; $alphabet = [ ['A', ['a','A']], ['Ä‚', ['ă','Ä‚']], ['Â', ['â','Â']], [], # a with ogonek (polish) ['B', ['b','B']], [], # b with hook (hausa) ['C', ['c','C']], [], # ch (spanish/traditonal) [], # 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 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/traditonal) [], # 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 cedilla (kurdish, turkish) [], # z (estonian) [], # z with caron (estonian) ['T', ['t','T']], [], # th (albanian) [], # ty (hungarian) [], # t with caron (slovak/large) ['Èš', ['È›','Èš']], [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/russian/000077500000000000000000000000001264235421100212425ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/russian/Makefile.am000066400000000000000000000033551264235421100233040ustar00rootroot00000000000000## Makefile.am fragment for alphabets/russian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ russian/cp1251-lang.xdy \ russian/cp1251-test.xdy \ russian/cp1251.xdy \ russian/iso88595-lang.xdy \ russian/iso88595-test.xdy \ russian/iso88595.xdy \ russian/koi8-r-lang.xdy \ russian/koi8-r-test.xdy \ russian/koi8-r.xdy \ russian/translit-iso-utf8-lang.xdy \ russian/translit-iso-utf8-test.xdy \ russian/translit-iso-utf8.xdy \ russian/utf8-lang.xdy \ russian/utf8-test.xdy \ russian/utf8.xdy EXTRA_DIST += \ russian/cp1251.pl \ russian/iso88595.pl \ russian/koi8-r.pl \ russian/translit-iso-utf8.pl.in \ russian/utf8.pl.in DISTCLEANFILES += \ russian/translit-iso-utf8.pl \ russian/utf8.pl DOCS_CYR_1251 += \ russian/cp1251-doc.tex DOCS_CYR_ISO88595 += \ russian/iso88595-doc.tex DOCS_CYR_KOI8_R += \ russian/koi8-r-doc.tex DOCS_UTF8_LAT += \ russian/translit-iso-utf8-doc.tex DOCS_UTF8_CYR += \ russian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/russian/cp1251.pl000066400000000000000000000031341264235421100225130ustar00rootroot00000000000000#!/usr/bin/perl $language = "Russian"; $prefix = "ru"; $script = "cyrillic"; $alphabet = [ ['À', ['à','À'] ], ['Á', ['á','Á']], ['Â', ['â','Â']], ['Ã', ['ã','Ã']], [], # ghe with upturn (ukrainian) ['Ä', ['ä','Ä']], [], # dje (serbian) [], # gje (macedonian) ['Å', ['å','Å'], ['¸','¨'] ], [], # io (mongolian) [], # ukrainian ie ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], [], # dze (macedonian) ['È', ['è','È']], [], [], # yi (ukrainian) ['É', ['é','É']], [], # je (macedonian, serbian) ['Ê', ['ê','Ê']], ['Ë', ['ë','Ë']], [], # lje (macedonian, serbian) ['Ì', ['ì','Ì']], ['Í', ['í','Í']], [], # nje (macedonian, serbian) ['Î', ['î','Î']], [], # barred o (mongolian) ['Ï', ['ï','Ï']], ['Ð', ['ð','Ð']], ['Ñ', ['ñ','Ñ']], ['Ò', ['ò','Ò']], [], # tshe (serbian) [], # kje (macedonian) ['Ó', ['ó','Ó']], [], # short u (belarusian) [], # straight u (mongolian) ['Ô', ['ô','Ô']], ['Õ', ['õ','Õ']], ['Ö', ['ö','Ö']], ['×', ['÷','×']], [], # dzhe (macedonian, serbian) ['Ø', ['ø','Ø']], ['Ù', ['ù','Ù']], ['Ú', ['ú','Ú']], ['Û', ['û','Û']], ['Ü', ['ü','Ü']], [], ['Ý', ['ý','Ý']], ['Þ', ['þ','Þ']], ['ß', ['ÿ','ß']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/russian/iso88595.pl000066400000000000000000000031341264235421100230150ustar00rootroot00000000000000#!/usr/bin/perl $language = "Russian"; $prefix = "ru"; $script = "cyrillic"; $alphabet = [ ['°', ['Ð','°'] ], ['±', ['Ñ','±']], ['²', ['Ò','²']], ['³', ['Ó','³']], [], # ghe with upturn (ukrainian) ['´', ['Ô','´']], [], # dje (serbian) [], # gje (macedonian) ['µ', ['Õ','µ'], ['ñ','¡'] ], [], # io (mongolian) [], # ukrainian ie ['¶', ['Ö','¶']], ['·', ['×','·']], [], # dze (macedonian) ['¸', ['Ø','¸']], [], [], # yi (ukrainian) ['¹', ['Ù','¹']], [], # je (macedonian, serbian) ['º', ['Ú','º']], ['»', ['Û','»']], [], # lje (macedonian, serbian) ['¼', ['Ü','¼']], ['½', ['Ý','½']], [], # nje (macedonian, serbian) ['¾', ['Þ','¾']], [], # barred o (mongolian) ['¿', ['ß','¿']], ['À', ['à','À']], ['Á', ['á','Á']], ['Â', ['â','Â']], [], # tshe (serbian) [], # kje (macedonian) ['Ã', ['ã','Ã']], [], # short u (belarusian) [], # straight u (mongolian) ['Ä', ['ä','Ä']], ['Å', ['å','Å']], ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], [], # dzhe (macedonian, serbian) ['È', ['è','È']], ['É', ['é','É']], ['Ê', ['ê','Ê']], ['Ë', ['ë','Ë']], ['Ì', ['ì','Ì']], [], ['Í', ['í','Í']], ['Î', ['î','Î']], ['Ï', ['ï','Ï']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/russian/koi8-r.pl000066400000000000000000000031341264235421100227110ustar00rootroot00000000000000#!/usr/bin/perl $language = "Russian"; $prefix = "ru"; $script = "cyrillic"; $alphabet = [ ['á', ['Á','á'] ], ['â', ['Â','â']], ['÷', ['×','÷']], ['ç', ['Ç','ç']], [], # ghe with upturn (ukrainian) ['ä', ['Ä','ä']], [], # dje (serbian) [], # gje (macedonian) ['å', ['Å','å'], ['£','³'] ], [], # io (mongolian) [], # ukrainian ie ['ö', ['Ö','ö']], ['ú', ['Ú','ú']], [], # dze (macedonian) ['é', ['É','é']], [], [], # yi (ukrainian) ['ê', ['Ê','ê']], [], # je (macedonian, serbian) ['ë', ['Ë','ë']], ['ì', ['Ì','ì']], [], # lje (macedonian, serbian) ['í', ['Í','í']], ['î', ['Î','î']], [], # nje (macedonian, serbian) ['ï', ['Ï','ï']], [], # barred o (mongolian) ['ð', ['Ð','ð']], ['ò', ['Ò','ò']], ['ó', ['Ó','ó']], ['ô', ['Ô','ô']], [], # tshe (serbian) [], # kje (macedonian) ['õ', ['Õ','õ']], [], # short u (belarusian) [], # straight u (mongolian) ['æ', ['Æ','æ']], ['è', ['È','è']], ['ã', ['Ã','ã']], ['þ', ['Þ','þ']], [], # dzhe (macedonian, serbian) ['û', ['Û','û']], ['ý', ['Ý','ý']], ['ÿ', ['ß','ÿ']], ['ù', ['Ù','ù']], ['ø', ['Ø','ø']], [], ['ü', ['Ü','ü']], ['à', ['À','à']], ['ñ', ['Ñ','ñ']], [], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/russian/translit-iso-utf8.pl.in000066400000000000000000000140221264235421100255170ustar00rootroot00000000000000#!/usr/bin/perl $language = "Russian"; $variant = "ISO 9 transliteration, for western languages"; $prefix = "ru"; $script = "latin"; $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 (many) ['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 (many) [], # o with tilde (estonian) [], # a with diaeresis (estonian) [], # o with diaeresis (estonian) [], # u with diaeresis (estonian) [], # x (many) [], # xh (albanian) ['Y', ['y','Y']], [], # y preceded by apostrophe (hausa) [], # yogh (english) ['Z', ['z','Z'],['ž','Ž']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', 'ʺ', 'ʹ', '-'); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/russian/utf8.pl.in000066400000000000000000000040141264235421100230710ustar00rootroot00000000000000#!/usr/bin/perl $language = "Russian"; $prefix = "ru"; $script = "cyrillic"; $alphabet = [ ['Ð', ['а','Ð'] @u{,['аÌ','ÐÌ']}], ['Б', ['б','Б']], ['Ð’', ['в','Ð’']], ['Г', ['г','Г']], [], # ghe with upturn (ukrainian) ['Д', ['д','Д']], [], # dje (serbian) [], # gje (macedonian) ['Е', ['е','Е'], @u{['еÌ','ЕÌ'],} ['Ñ‘','Ð'] @u{,['Ñ‘Ì','ÐÌ']}], [], # io (mongolian) [], # ukrainian ie ['Ж', ['ж','Ж']], ['З', ['з','З']], [], # dze (macedonian) ['И', ['и','И']@u{,['иÌ','ИÌ']}], [@u{'І', ['Ñ–','І'],['Ñ–Ì','ІÌ']}], [], # yi (ukrainian) ['Й', ['й','Й']@u{,['йÌ','ЙÌ']}], [], # je (macedonian, serbian) ['К', ['к','К']], ['Л', ['л','Л']], [], # lje (macedonian, serbian) ['М', ['м','М']], ['Ð', ['н','Ð']], [], # nje (macedonian, serbian) ['О', ['о','О']@u{,['оÌ','ОÌ']}], [], # barred o (mongolian) ['П', ['п','П']], ['Р', ['Ñ€','Р']], ['С', ['Ñ','С']], ['Т', ['Ñ‚','Т']], [], # tshe (serbian) [], # kje (macedonian) ['У', ['у','У']@u{,['уÌ','УÌ']}], [], # short u (belarusian) [], # straight u (mongolian) ['Ф', ['Ñ„','Ф']], ['Ð¥', ['Ñ…','Ð¥']], ['Ц', ['ц','Ц']], ['Ч', ['ч','Ч']], [], # dzhe (macedonian, serbian) ['Ш', ['ш','Ш']], ['Щ', ['щ','Щ']], ['Ъ', ['ÑŠ','Ъ']], ['Ы', ['Ñ‹','Ы']@u{,['Ñ‹Ì','ЫÌ']}], ['Ь', ['ÑŒ','Ь']], [@u{'Ñ¢', ['Ñ£','Ñ¢']}], ['Э', ['Ñ','Э']@u{,['ÑÌ','ЭÌ']}], ['Ю', ['ÑŽ','Ю']@u{,['ÑŽÌ','ЮÌ']}], ['Я', ['Ñ','Я']@u{,['ÑÌ','ЯÌ']}], [], [], [@u{'Ѳ', ['ѳ','Ѳ']}], [@u{'Ñ´', ['ѵ','Ñ´']}] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''@u{, 'Ì'}); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/serbian/000077500000000000000000000000001264235421100212015ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/serbian/Makefile.am000066400000000000000000000030231264235421100232330ustar00rootroot00000000000000## Makefile.am fragment for alphabets/serbian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ serbian/cp1251-lang.xdy \ serbian/cp1251-test.xdy \ serbian/cp1251.xdy \ serbian/iso88595-lang.xdy \ serbian/iso88595-test.xdy \ serbian/iso88595.xdy \ serbian/isoir111-lang.xdy \ serbian/isoir111-test.xdy \ serbian/isoir111.xdy \ serbian/utf8-lang.xdy \ serbian/utf8-test.xdy \ serbian/utf8.xdy EXTRA_DIST += \ serbian/cp1251.pl \ serbian/iso88595.pl \ serbian/isoir111.pl \ serbian/utf8.pl.in DISTCLEANFILES += \ serbian/utf8.pl DOCS_CYR_1251 += \ serbian/cp1251-doc.tex DOCS_CYR_ISO88595 += \ serbian/iso88595-doc.tex DOCS_CYR_ISOIR111 += \ serbian/isoir111-doc.tex DOCS_UTF8_CYR += \ serbian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/serbian/cp1251.pl000066400000000000000000000033531264235421100224550ustar00rootroot00000000000000#!/usr/bin/perl $language = "Serbian"; $prefix = "sr"; $script = "cyrillic"; $alphabet = [ ['À', ['à','À'] ], ['Á', ['á','Á']], ['Â', ['â','Â']], ['Ã', ['ã','Ã']], [], # ghe with upturn (ukrainian) ['Ä', ['ä','Ä']], ['€', ['','€']], [], # gje (macedonian) ['Å', ['å','Å'] ], [], # io (mongolian) [], # ukrainian ie ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], [], # dze (macedonian) ['È', ['è','È'] ], [], # belarusian-ukrainian i [], # yi (ukrainian) [], # short i (many) ['£', ['¼','£']], ['Ê', ['ê','Ê']], ['Ë', ['ë','Ë']], ['Š', ['š','Š']], ['Ì', ['ì','Ì']], ['Í', ['í','Í']], ['Œ', ['œ','Œ']], ['Î', ['î','Î'] ], [], # barred o (mongolian) ['Ï', ['ï','Ï']], ['Ð', ['ð','Ð'] ], ['Ñ', ['ñ','Ñ']], ['Ò', ['ò','Ò']], ['Ž', ['ž','Ž']], [], # kje (macedonian) ['Ó', ['ó','Ó'] ], [], # short u (belarusian) [], # straight u (mongolian) ['Ô', ['ô','Ô']], ['Õ', ['õ','Õ']], ['Ö', ['ö','Ö']], ['×', ['÷','×']], ['', ['Ÿ','']], ['Ø', ['ø','Ø']], [], # shcha (many) [], # hard sign (bulgarian, russian) [], # yeru (belarusian, russian) [], # soft sign (many) [], [], # e (belarusian, russian) [], # yu (many) [], # ya (many) [], # soft sign (ukrainian) [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/serbian/iso88595.pl000066400000000000000000000033531264235421100227570ustar00rootroot00000000000000#!/usr/bin/perl $language = "Serbian"; $prefix = "sr"; $script = "cyrillic"; $alphabet = [ ['°', ['Ð','°'] ], ['±', ['Ñ','±']], ['²', ['Ò','²']], ['³', ['Ó','³']], [], # ghe with upturn (ukrainian) ['´', ['Ô','´']], ['¢', ['ò','¢']], [], # gje (macedonian) ['µ', ['Õ','µ'] ], [], # io (mongolian) [], # ukrainian ie ['¶', ['Ö','¶']], ['·', ['×','·']], [], # dze (macedonian) ['¸', ['Ø','¸'] ], [], # belarusian-ukrainian i [], # yi (ukrainian) [], # short i (many) ['¨', ['ø','¨']], ['º', ['Ú','º']], ['»', ['Û','»']], ['©', ['ù','©']], ['¼', ['Ü','¼']], ['½', ['Ý','½']], ['ª', ['ú','ª']], ['¾', ['Þ','¾'] ], [], # barred o (mongolian) ['¿', ['ß','¿']], ['À', ['à','À'] ], ['Á', ['á','Á']], ['Â', ['â','Â']], ['«', ['û','«']], [], # kje (macedonian) ['Ã', ['ã','Ã'] ], [], # short u (belarusian) [], # straight u (mongolian) ['Ä', ['ä','Ä']], ['Å', ['å','Å']], ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], ['¯', ['ÿ','¯']], ['È', ['è','È']], [], # shcha (many) [], # hard sign (bulgarian, russian) [], # yeru (belarusian, russian) [], # soft sign (many) [], [], # e (belarusian, russian) [], # yu (many) [], # ya (many) [], # soft sign (ukrainian) [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/serbian/isoir111.pl000066400000000000000000000033531264235421100231120ustar00rootroot00000000000000#!/usr/bin/perl $language = "Serbian"; $prefix = "sr"; $script = "cyrillic"; $alphabet = [ ['á', ['Á','á'] ], ['â', ['Â','â']], ['÷', ['×','÷']], ['ç', ['Ç','ç']], [], # ghe with upturn (ukrainian) ['ä', ['Ä','ä']], ['±', ['¡','±']], [], # gje (macedonian) ['å', ['Å','å'] ], [], # io (mongolian) [], # ukrainian ie ['ö', ['Ö','ö']], ['ú', ['Ú','ú']], [], # dze (macedonian) ['é', ['É','é'] ], [], # belarusian-ukrainian i [], # yi (ukrainian) [], # short i (many) ['¸', ['¨','¸']], ['ë', ['Ë','ë']], ['ì', ['Ì','ì']], ['¹', ['©','¹']], ['í', ['Í','í']], ['î', ['Î','î']], ['º', ['ª','º']], ['ï', ['Ï','ï'] ], [], # barred o (mongolian) ['ð', ['Ð','ð']], ['ò', ['Ò','ò'] ], ['ó', ['Ó','ó']], ['ô', ['Ô','ô']], ['»', ['«','»']], [], # kje (macedonian) ['õ', ['Õ','õ'] ], [], # short u (belarusian) [], # straight u (mongolian) ['æ', ['Æ','æ']], ['è', ['È','è']], ['ã', ['Ã','ã']], ['þ', ['Þ','þ']], ['¿', ['¯','¿']], ['û', ['Û','û']], [], # shcha (many) [], # hard sign (bulgarian, russian) [], # yeru (belarusian, russian) [], # soft sign (many) [], [], # e (belarusian, russian) [], # yu (many) [], # ya (many) [], # soft sign (ukrainian) [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/serbian/utf8.pl.in000066400000000000000000000040551264235421100230350ustar00rootroot00000000000000#!/usr/bin/perl $language = "Serbian"; $prefix = "sr"; $script = "cyrillic"; $alphabet = [ ['Ð', ['а','Ð'] @u{,['аÌ','ÐÌ'],['а̑','ÐÌ‘']}], ['Б', ['б','Б']], ['Ð’', ['в','Ð’']], ['Г', ['г','Г']], [], # ghe with upturn (ukrainian) ['Д', ['д','Д']], ['Ђ', ['Ñ’','Ђ']], [], # gje (macedonian) ['Е', ['е','Е'] @u{,['еÌ','ЕÌ'],['е̑','Е̑']}], [], # io (mongolian) [], # ukrainian ie ['Ж', ['ж','Ж']], ['З', ['з','З']], [], # dze (macedonian) ['И', ['и','И'] @u{,['иÌ','ИÌ'],['и̑','И̑']}], [], # belarusian-ukrainian i [], # yi (ukrainian) [], # short i (many) ['Ј', ['ј','Ј']], ['К', ['к','К']], ['Л', ['л','Л']], ['Љ', ['Ñ™','Љ']], ['М', ['м','М']], ['Ð', ['н','Ð']], ['Њ', ['Ñš','Њ']], ['О', ['о','О'] @u{,['оÌ','ОÌ'],['о̑','О̑']}], [], # barred o (mongolian) ['П', ['п','П']], ['Р', ['Ñ€','Р'] @u{,['Ñ€Ì','РÌ'],['р̑','Р̑']}], ['С', ['Ñ','С']], ['Т', ['Ñ‚','Т']], ['Ћ', ['Ñ›','Ћ']], [], # kje (macedonian) ['У', ['у','У'] @u{,['уÌ','УÌ'],['у̑','У̑']}], [], # short u (belarusian) [], # straight u (mongolian) ['Ф', ['Ñ„','Ф']], ['Ð¥', ['Ñ…','Ð¥']], ['Ц', ['ц','Ц']], ['Ч', ['ч','Ч']], ['Ð', ['ÑŸ','Ð']], ['Ш', ['ш','Ш']], [], # shcha (many) [], # hard sign (bulgarian, russian) [], # yeru (belarusian, russian) [], # soft sign (many) [], [], # e (belarusian, russian) [], # yu (many) [], # ya (many) [], # soft sign (ukrainian) [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''@u{, 'Ì', 'Ì‘'}); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/slovak/000077500000000000000000000000001264235421100210555ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/slovak/Makefile.am000066400000000000000000000036031264235421100231130ustar00rootroot00000000000000## Makefile.am fragment for alphabets/slovak/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ slovak/large-cp1250-lang.xdy \ slovak/large-cp1250-test.xdy \ slovak/large-cp1250.xdy \ slovak/large-latin2-lang.xdy \ slovak/large-latin2-test.xdy \ slovak/large-latin2.xdy \ slovak/large-utf8-lang.xdy \ slovak/large-utf8-test.xdy \ slovak/large-utf8.xdy \ slovak/small-cp1250-lang.xdy \ slovak/small-cp1250-test.xdy \ slovak/small-cp1250.xdy \ slovak/small-latin2-lang.xdy \ slovak/small-latin2-test.xdy \ slovak/small-latin2.xdy \ slovak/small-utf8-lang.xdy \ slovak/small-utf8-test.xdy \ slovak/small-utf8.xdy EXTRA_DIST += \ slovak/large-cp1250.pl \ slovak/large-latin2.pl \ slovak/large-utf8.pl.in \ slovak/small-cp1250.pl \ slovak/small-latin2.pl \ slovak/small-utf8.pl.in DISTCLEANFILES += \ slovak/large-utf8.pl \ slovak/small-utf8.pl DOCS_CP1250 += \ slovak/large-cp1250-doc.tex \ slovak/small-cp1250-doc.tex DOCS_LATIN2 += \ slovak/small-latin2-doc.tex \ slovak/large-latin2-doc.tex DOCS_UTF8_LAT += \ slovak/small-utf8-doc.tex \ slovak/large-utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/slovak/large-cp1250.pl000066400000000000000000000133451264235421100234220ustar00rootroot00000000000000#!/usr/bin/perl $language = "Slovak"; $variant = "large"; $prefix = "sk"; $script = "latin"; $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 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 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', ['ch','Ch','CH']], [], # 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) ['M', ['m','M']], ['N', ['n','N']], [], # nj (albanian, croatian) [], # ny (hungarian) ['Ò', ['ò','Ò']], [], # 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 acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['Š', ['š','Š']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/slovak/large-latin2.pl000066400000000000000000000133451264235421100237010ustar00rootroot00000000000000#!/usr/bin/perl $language = "Slovak"; $variant = "large"; $prefix = "sk"; $script = "latin"; $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 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 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', ['ch','Ch','CH']], [], # 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) ['M', ['m','M']], ['N', ['n','N']], [], # nj (albanian, croatian) [], # ny (hungarian) ['Ò', ['ò','Ò']], [], # 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 acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['©', ['¹','©']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['®', ['¾','®']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/slovak/large-utf8.pl.in000066400000000000000000000134221264235421100237770ustar00rootroot00000000000000#!/usr/bin/perl $language = "Slovak"; $variant = "large"; $prefix = "sk"; $script = "latin"; $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 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 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', ['ch','Ch','CH']], [], # 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) ['M', ['m','M']], ['N', ['n','N']], [], # nj (albanian, croatian) [], # ny (hungarian) ['Ň', ['ň','Ň']], [], # 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 acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['Å ', ['Å¡','Å ']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/slovak/small-cp1250.pl000066400000000000000000000140731264235421100234370ustar00rootroot00000000000000#!/usr/bin/perl $language = "Slovak"; $variant = "small"; $prefix = "sk"; $script = "latin"; $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', ['ch','Ch','CH']], [], # 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) [], # yogh (english) ['Z', ['z','Z'], ['ž','Ž']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/slovak/small-latin2.pl000066400000000000000000000140731264235421100237160ustar00rootroot00000000000000#!/usr/bin/perl $language = "Slovak"; $variant = "small"; $prefix = "sk"; $script = "latin"; $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', ['ch','Ch','CH']], [], # 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) [], # yogh (english) ['Z', ['z','Z'], ['¾','®']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/slovak/small-utf8.pl.in000066400000000000000000000141401264235421100240130ustar00rootroot00000000000000#!/usr/bin/perl $language = "Slovak"; $variant = "small"; $prefix = "sk"; $script = "latin"; $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', ['ch','Ch','CH']], [], # 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) [], # yogh (english) ['Z', ['z','Z'], ['ž','Ž']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/slovenian/000077500000000000000000000000001264235421100215545ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/slovenian/Makefile.am000066400000000000000000000026111264235421100236100ustar00rootroot00000000000000## Makefile.am fragment for alphabets/slovenian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ slovenian/cp1250-lang.xdy \ slovenian/cp1250-test.xdy \ slovenian/cp1250.xdy \ slovenian/latin2-lang.xdy \ slovenian/latin2-test.xdy \ slovenian/latin2.xdy \ slovenian/utf8-lang.xdy \ slovenian/utf8-test.xdy \ slovenian/utf8.xdy EXTRA_DIST += \ slovenian/cp1250.pl \ slovenian/latin2.pl \ slovenian/utf8.pl.in DISTCLEANFILES += \ slovenian/utf8.pl DOCS_CP1250 += \ slovenian/cp1250-doc.tex DOCS_LATIN2 += \ slovenian/latin2-doc.tex DOCS_UTF8_LAT += \ slovenian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/slovenian/cp1250.pl000066400000000000000000000134261264235421100230310ustar00rootroot00000000000000#!/usr/bin/perl $language = "Slovenian"; $prefix = "sl"; $script = "latin"; $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 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/slovenian/latin2.pl000066400000000000000000000134261264235421100233100ustar00rootroot00000000000000#!/usr/bin/perl $language = "Slovenian"; $prefix = "sl"; $script = "latin"; $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 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['®', ['¾','®']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/slovenian/utf8.pl.in000066400000000000000000000141131264235421100234040ustar00rootroot00000000000000#!/usr/bin/perl $language = "Slovenian"; $prefix = "sl"; $script = "latin"; $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 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']@u{,['ǵ','Ç´']}], [], # 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']@u{,['ḱ','Ḱ']}], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ @u{[['dz','Dz','DZ'], 'after', [['d','z'],['D','z'],['D','Z']]],} @u{[['dž','Ç…','Ç„'], 'after', [['d','ž'],['D','ž'],['D','Ž']]],} @u{[['lj','Lj','LJ'], 'after', [['l','j'],['L','j'],['L','J']]],} @u{[['ÇŒ','Ç‹','ÇŠ'], 'after', [['n','j'],['N','j'],['N','J']]]} ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/spanish/000077500000000000000000000000001264235421100212235ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/spanish/Makefile.am000066400000000000000000000032611264235421100232610ustar00rootroot00000000000000## Makefile.am fragment for alphabets/spanish/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ spanish/modern-latin1-lang.xdy \ spanish/modern-latin1-test.xdy \ spanish/modern-latin1.xdy \ spanish/modern-utf8-lang.xdy \ spanish/modern-utf8-test.xdy \ spanish/modern-utf8.xdy \ spanish/traditional-latin1-lang.xdy \ spanish/traditional-latin1-test.xdy \ spanish/traditional-latin1.xdy \ spanish/traditional-utf8-lang.xdy \ spanish/traditional-utf8-test.xdy \ spanish/traditional-utf8.xdy EXTRA_DIST += \ spanish/modern-latin1.pl \ spanish/modern-utf8.pl.in \ spanish/traditional-latin1.pl \ spanish/traditional-utf8.pl.in DISTCLEANFILES += \ spanish/modern-utf8.pl \ spanish/traditional-utf8.pl DOCS_LATIN1 += \ spanish/modern-latin1-doc.tex \ spanish/traditional-latin1-doc.tex DOCS_UTF8_LAT += \ spanish/modern-utf8-doc.tex \ spanish/traditional-utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/spanish/modern-latin1.pl000066400000000000000000000136231264235421100242370ustar00rootroot00000000000000#!/usr/bin/perl $language = "Spanish"; $variant = "modern"; $prefix = "es"; $script = "latin"; $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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('letters', '.', '-', '\'', '¿', '?', '¡', '!'); #$sortcase = "Aa"; $sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/spanish/modern-utf8.pl.in000066400000000000000000000136451264235421100243460ustar00rootroot00000000000000#!/usr/bin/perl $language = "Spanish"; $variant = "modern"; $prefix = "es"; $script = "latin"; $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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('letters', '.', '-', '\'', '¿', '?', '¡', '!'); #$sortcase = "Aa"; $sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/spanish/traditional-latin1.pl000066400000000000000000000135551264235421100252710ustar00rootroot00000000000000#!/usr/bin/perl $language = "Spanish"; $variant = "traditional"; $prefix = "es"; $script = "latin"; $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', ['ch','Ch','CH']], [], # 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', ['ll','Ll','LL']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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, icelandic, swedish) [] # a with ring above (icelandic) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('letters', '.', '-', '\'', '¿', '?', '¡', '!'); #$sortcase = "Aa"; $sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/spanish/traditional-utf8.pl.in000066400000000000000000000135771264235421100254000ustar00rootroot00000000000000#!/usr/bin/perl $language = "Spanish"; $variant = "traditional"; $prefix = "es"; $script = "latin"; $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', ['ch','Ch','CH']], [], # 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', ['ll','Ll','LL']], [], # 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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, icelandic, swedish) [] # a with ring above (icelandic) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('letters', '.', '-', '\'', '¿', '?', '¡', '!'); #$sortcase = "Aa"; $sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/swedish/000077500000000000000000000000001264235421100212245ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/swedish/Makefile.am000066400000000000000000000025471264235421100232700ustar00rootroot00000000000000## Makefile.am fragment for alphabets/swedish/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ swedish/cp1252-lang.xdy \ swedish/cp1252-test.xdy \ swedish/cp1252.xdy \ swedish/latin9-lang.xdy \ swedish/latin9-test.xdy \ swedish/latin9.xdy \ swedish/utf8-lang.xdy \ swedish/utf8-test.xdy \ swedish/utf8.xdy EXTRA_DIST += \ swedish/cp1252.pl \ swedish/latin9.pl \ swedish/utf8.pl.in DISTCLEANFILES += \ swedish/utf8.pl DOCS_CP1252 += \ swedish/cp1252-doc.tex DOCS_LATIN9 += \ swedish/latin9-doc.tex DOCS_UTF8_LAT += \ swedish/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/swedish/cp1252.pl000066400000000000000000000137001264235421100224760ustar00rootroot00000000000000#!/usr/bin/perl $language = "Swedish"; $prefix = "sv"; $script = "latin"; $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 (many) [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # ligature ae (danish, icelandic, norwegian) [], # o with stroke (danish, norwegian) ['Å', ['å','Å']], ['Ä', ['ä','Ä'],['æ','Æ']], ['Ö', ['ö','Ö'],['ø','Ø']], [] # a with ring above (icelandic) ]; #$sortcase = 'Aa'; $sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/swedish/latin9.pl000066400000000000000000000137001264235421100227620ustar00rootroot00000000000000#!/usr/bin/perl $language = "Swedish"; $prefix = "sv"; $script = "latin"; $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 (many) [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # ligature ae (danish, icelandic, norwegian) [], # o with stroke (danish, norwegian) ['Å', ['å','Å']], ['Ä', ['ä','Ä'],['æ','Æ']], ['Ö', ['ö','Ö'],['ø','Ø']], [] # a with ring above (icelandic) ]; #$sortcase = 'Aa'; $sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/swedish/utf8.pl.in000066400000000000000000000141301264235421100230530ustar00rootroot00000000000000#!/usr/bin/perl $language = "Swedish"; $prefix = "sv"; $script = "latin"; $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'],['ç','Ç']@u{,['ć','Ć'],['Ä','ÄŒ']}], [], # 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']@u{,['Å‚','Å']}], [], # 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'],@u{['Å„','Ń'],}['ñ','Ñ']], [], # 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'] @u{,['Å™','Ř']}], [], # rr (albanian) [], # r with caron (czech, slovak/large, upper sorbian) [], # r with acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']@u{,['Å›','Åš']},['Å¡','Å ']], [], # 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 (many) [], # 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # ligature ae (danish, icelandic, norwegian) [], # o with stroke (danish, norwegian) ['Ã…', ['Ã¥','Ã…']], ['Ä', ['ä','Ä'],['æ','Æ']], ['Ö', ['ö','Ö'],['ø','Ø']], [] # a with ring above (icelandic) ]; #$sortcase = 'Aa'; $sortcase = 'aA'; $ligatures = [ [['ß'], 'after', [['s','s']]] ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/test.xdy000066400000000000000000000043011264235421100212610ustar00rootroot00000000000000 ;; 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: xindy-2.5.1.20160104/make-rules/alphabets/test1/000077500000000000000000000000001264235421100206165ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/test1/Makefile.am000066400000000000000000000016331264235421100226550ustar00rootroot00000000000000## Makefile.am fragment for alphabets/test1/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. EXTRA_DIST += \ test1/test1.pl xindy-2.5.1.20160104/make-rules/alphabets/test1/test1.pl000066400000000000000000000154271264235421100222240ustar00rootroot00000000000000#!/usr/bin/perl # a string describing the language (to be exact, the sorting order) $language = "Test1"; $prefix = "xx"; $script = "latin"; # Technically speaking, $alphabet is (a reference to) an array of arrays of # arrays. Sounds complicated? Don't worry! Explanation follows: # Every line describes one letter of the alphabet (in all its variants). # The first string is the name of the letter; this appears in the heading of # letter groups (when defined with the proper markup). Currently the maximum # number of letters is limited to 95. A future expansion up to 223 letters # should be no problem. # Next follows a sequence of arrays, delimited by commas. Each of these arrays # describes one variant of the letter with different diacritical marks # (accents). The order of those describes the sorting order if two words # appear which differ only in the diacritical variant of this letter. # Currently the maximum supported number of diacritical variants of one letter # is 93. # Each of these arrays contains first the lowercase variant of the letter, # followed by uppercase variant(s). You might wonder: How can there be other # than one uppercase variant? Consider the letter combination `ch': Uppercase # variants here are: `Ch' and `CH'. Also, in some character sets there might # not exist an uppercase variant of a letter, e.g. the letter `ÿ' in the # ISO-8859-1 character set. In this case we just leave it out. # The sum of the number of uppercase and lowercase variants of one diacritical # version of a letter should be 10 or less. (In case of `ch' it is 3: # `ch', `Ch' and `CH') # There can be empty arrays [] which are called slots. They are used for # mixing alphabets of different languages. # In order to merge several letters into on letter group, give them the same # letter-group name. (see 'c' and 'ch'). $alphabet = [ ['A', ['a','A'], ['á','Á']], [], # a with breve (romanian) [], # a with circumflex (romanian) [], # a with ogonek (polish) ['B', ['b','B']], ['C', ['c','C']], ['C', ['ch','Ch','CH']], [], # 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) [], # d+z with caron (croatian) [], # d+z with acute (upper sorbian) [], # d with caron (slovak/large) [], # d with stroke (croatian) [], # 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) [], # g with circumflex (esperanto) [], # g with breve (turkish) ['H', ['h','H']], [], # h with circumflex (esperanto) [], # ch (many) [], # dotless i (turkish) ['I', ['i','I'], ['í','Í']], [], # i with circumflex (kurdish, romanian) ['J', ['j','J']], [], # j with circumflex (esperanto) ['K', ['k','K']], [], # l with stroke (lower/upper sorbian) ['L', ['l','L']], [], # lj (croatian) ['Ll', ['ll','Ll','LL']], [], # l with stroke (polish) [], # l with caron (slovak/large) ['M', ['m','M']], ['N', ['n','N']], [], # nj (albanian, croatian) [], # ny (hungarian) ['Ñ', ['ñ','Ñ']], [], # n with acute (lower/upper sorbian, polish) [], # n with tilde (spanish/modern, spanish/traditional) ['O', ['o','O'], ['ó','Ó']], [], # o with acute (polish, upper sorbian) [], # o with diaeresis (hungarian, turkish) ['P', ['p','P']], ['Q', ['q','Q']], ['R', ['r','R']], [], # rr (albanian) [], # r with caron (czech, slovak/large, upper sorbian) [], # r with acute (lower sorbian) ['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) ['T', ['t','T']], [], # th (albanian) [], # 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 diaeresis (hungarian, turkish) ['V', ['v','V']], ['W', ['w','W']], ['X', ['x','X']], [], # xh (albanian) ['Y', ['y','Y']], ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # 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) ]; # The next should be pretty easy: # It means: 'ß' is a ligature which is sorted like the letter sequence `ss' # but in case two words differs only there, the word with 'ß' comes after the # one with 'ss' (e.g. Masse, Maße.) # The same with Ä/ä, only this time with uppercase/lowercase variants. # The order of the lines in $ligatures does not matter. $ligatures = [ [['ß'], 'after', [['s','s']]], [['Ä','ä'], 'before', [['A','e'], ['a','e']]], [['Ö','ö'], 'before', [['O','e'], ['o','e']]] ]; # `special' are those characters which are normally ignored in the sorting # process, but e.g. to sort the words "coop" and "co-op" we must also define # an order here. @special = ('?', '!', '.', 'letters', '-', '\'', '\\/'); # first lower or upper case? $sortcase = "Aa"; #$sortcase = "aA"; #@letter_group_names = ('A','B','C','Ch','D','E','F','G','H','I','J','K', #'L','Ll','M','N','Ñ','O','P','Q','R','S','T','U','V','W','X','Y','Z'); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/turkish/000077500000000000000000000000001264235421100212475ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/turkish/Makefile.am000066400000000000000000000025471264235421100233130ustar00rootroot00000000000000## Makefile.am fragment for alphabets/turkish/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ turkish/latin3-lang.xdy \ turkish/latin3-test.xdy \ turkish/latin3.xdy \ turkish/latin5-lang.xdy \ turkish/latin5-test.xdy \ turkish/latin5.xdy \ turkish/utf8-lang.xdy \ turkish/utf8-test.xdy \ turkish/utf8.xdy EXTRA_DIST += \ turkish/latin3.pl \ turkish/latin5.pl \ turkish/utf8.pl.in DISTCLEANFILES += \ turkish/utf8.pl DOCS_LATIN3 += \ turkish/latin3-doc.tex DOCS_LATIN5 += \ turkish/latin5-doc.tex DOCS_UTF8_LAT += \ turkish/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/turkish/latin3.pl000066400000000000000000000131011264235421100227720ustar00rootroot00000000000000#!/usr/bin/perl $language = "Turkish"; $prefix = "tr"; $script = "latin"; $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) ['Ç', ['ç','Ç']], ['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 cedilla/comma (latvian) [], # postpalatal fricative (gypsy/northrussian) ['H', ['h','H']], [], # h with circumflex (esperanto) [], # ch (many) ['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) ['Ö', ['ö','Ö']], ['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) ['ª', ['º','ª']], [], # 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) ['Ü', ['ü','Ü']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/turkish/latin5.pl000066400000000000000000000131011264235421100227740ustar00rootroot00000000000000#!/usr/bin/perl $language = "Turkish"; $prefix = "tr"; $script = "latin"; $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) ['Ç', ['ç','Ç']], ['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 cedilla/comma (latvian) [], # postpalatal fricative (gypsy/northrussian) ['H', ['h','H']], [], # h with circumflex (esperanto) [], # ch (many) ['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) ['Ö', ['ö','Ö']], ['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) ['Þ', ['þ','Þ']], [], # 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) ['Ü', ['ü','Ü']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/turkish/utf8.pl.in000066400000000000000000000131271264235421100231030ustar00rootroot00000000000000#!/usr/bin/perl $language = "Turkish"; $prefix = "tr"; $script = "latin"; $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) ['Ç', ['ç','Ç']], ['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 cedilla/comma (latvian) [], # postpalatal fricative (gypsy/northrussian) ['H', ['h','H']], [], # h with circumflex (esperanto) [], # ch (many) ['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) ['Ö', ['ö','Ö']], ['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) ['Åž', ['ÅŸ','Åž']], [], # 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) ['Ü', ['ü','Ü']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/ukrainian/000077500000000000000000000000001264235421100215375ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/ukrainian/Makefile.am000066400000000000000000000026171264235421100236010ustar00rootroot00000000000000## Makefile.am fragment for alphabets/ukrainian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ ukrainian/cp1251-lang.xdy \ ukrainian/cp1251-test.xdy \ ukrainian/cp1251.xdy \ ukrainian/koi8-u-lang.xdy \ ukrainian/koi8-u-test.xdy \ ukrainian/koi8-u.xdy \ ukrainian/utf8-lang.xdy \ ukrainian/utf8-test.xdy \ ukrainian/utf8.xdy EXTRA_DIST += \ ukrainian/cp1251.pl \ ukrainian/koi8-u.pl \ ukrainian/utf8.pl.in DISTCLEANFILES += \ ukrainian/utf8.pl DOCS_CYR_1251 += \ ukrainian/cp1251-doc.tex DOCS_CYR_KOI8_U += \ ukrainian/koi8-u-doc.tex DOCS_UTF8_CYR += \ ukrainian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/ukrainian/cp1251.pl000066400000000000000000000031531264235421100230110ustar00rootroot00000000000000#!/usr/bin/perl $language = "Ukrainian"; $prefix = "uk"; $script = "cyrillic"; $alphabet = [ ['À', ['à','À']], ['Á', ['á','Á']], ['Â', ['â','Â']], ['Ã', ['ã','Ã']], ['¥', ['´','¥']], ['Ä', ['ä','Ä']], [], # dje (serbian) [], # gje (macedonian) ['Å', ['å','Å'],['¸','¨']], [], # io (mongolian) ['ª', ['º','ª']], ['Æ', ['æ','Æ']], ['Ç', ['ç','Ç']], [], # dze (macedonian) ['È', ['è','È']], ['²', ['³','²']], ['¯', ['¿','¯']], ['É', ['é','É']], [], # je (macedonian, serbian) ['Ê', ['ê','Ê']], ['Ë', ['ë','Ë']], [], # lje (macedonian, serbian) ['Ì', ['ì','Ì']], ['Í', ['í','Í']], [], # nje (macedonian, serbian) ['Î', ['î','Î']], [], # barred o (mongolian) ['Ï', ['ï','Ï']], ['Ð', ['ð','Ð']], ['Ñ', ['ñ','Ñ']], ['Ò', ['ò','Ò']], [], # tshe (serbian) [], # kje (macedonian) ['Ó', ['ó','Ó']], [], # short u (belarusian) [], # straight u (mongolian) ['Ô', ['ô','Ô']], ['Õ', ['õ','Õ']], ['Ö', ['ö','Ö']], ['×', ['÷','×']], [], # dzhe (macedonian, serbian) ['Ø', ['ø','Ø']], ['Ù', ['ù','Ù']], ['Ú', ['ú','Ú']], ['Û', ['û','Û']], [], # soft sign (many) [], ['Ý', ['ý','Ý']], ['Þ', ['þ','Þ']], ['ß', ['ÿ','ß']], ['Ü', ['ü','Ü']], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/ukrainian/koi8-u.pl000066400000000000000000000031531264235421100232120ustar00rootroot00000000000000#!/usr/bin/perl $language = "Ukrainian"; $prefix = "uk"; $script = "cyrillic"; $alphabet = [ ['á', ['Á','á']], ['â', ['Â','â']], ['÷', ['×','÷']], ['ç', ['Ç','ç']], ['½', ['­','½']], ['ä', ['Ä','ä']], [], # dje (serbian) [], # gje (macedonian) ['å', ['Å','å'],['£','³']], [], # io (mongolian) ['´', ['¤','´']], ['ö', ['Ö','ö']], ['ú', ['Ú','ú']], [], # dze (macedonian) ['é', ['É','é']], ['¶', ['¦','¶']], ['·', ['§','·']], ['ê', ['Ê','ê']], [], # je (macedonian, serbian) ['ë', ['Ë','ë']], ['ì', ['Ì','ì']], [], # lje (macedonian, serbian) ['í', ['Í','í']], ['î', ['Î','î']], [], # nje (macedonian, serbian) ['ï', ['Ï','ï']], [], # barred o (mongolian) ['ð', ['Ð','ð']], ['ò', ['Ò','ò']], ['ó', ['Ó','ó']], ['ô', ['Ô','ô']], [], # tshe (serbian) [], # kje (macedonian) ['õ', ['Õ','õ']], [], # short u (belarusian) [], # straight u (mongolian) ['æ', ['Æ','æ']], ['è', ['È','è']], ['ã', ['Ã','ã']], ['þ', ['Þ','þ']], [], # dzhe (macedonian, serbian) ['û', ['Û','û']], ['ý', ['Ý','ý']], ['ÿ', ['ß','ÿ']], ['ù', ['Ù','ù']], [], # soft sign (many) [], ['ü', ['Ü','ü']], ['à', ['À','à']], ['ñ', ['Ñ','ñ']], ['ø', ['Ø','ø']], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/ukrainian/utf8.pl.in000066400000000000000000000033311264235421100233670ustar00rootroot00000000000000#!/usr/bin/perl $language = "Ukrainian"; $prefix = "uk"; $script = "cyrillic"; $alphabet = [ ['Ð', ['а','Ð']], ['Б', ['б','Б']], ['Ð’', ['в','Ð’']], ['Г', ['г','Г']], ['Ò', ['Ò‘','Ò']], ['Д', ['д','Д']], [], # dje (serbian) [], # gje (macedonian) ['Е', ['е','Е'],['Ñ‘','Ð']], [], # io (mongolian) ['Є', ['Ñ”','Є']], ['Ж', ['ж','Ж']], ['З', ['з','З']], [], # dze (macedonian) ['И', ['и','И']], ['І', ['Ñ–','І']], ['Ї', ['Ñ—','Ї']], ['Й', ['й','Й']], [], # je (macedonian, serbian) ['К', ['к','К']], ['Л', ['л','Л']], [], # lje (macedonian, serbian) ['М', ['м','М']], ['Ð', ['н','Ð']], [], # nje (macedonian, serbian) ['О', ['о','О']], [], # barred o (mongolian) ['П', ['п','П']], ['Р', ['Ñ€','Р']], ['С', ['Ñ','С']], ['Т', ['Ñ‚','Т']], [], # tshe (serbian) [], # kje (macedonian) ['У', ['у','У']], [], # short u (belarusian) [], # straight u (mongolian) ['Ф', ['Ñ„','Ф']], ['Ð¥', ['Ñ…','Ð¥']], ['Ц', ['ц','Ц']], ['Ч', ['ч','Ч']], [], # dzhe (macedonian, serbian) ['Ш', ['ш','Ш']], ['Щ', ['щ','Щ']], ['Ъ', ['ÑŠ','Ъ']], ['Ы', ['Ñ‹','Ы']], [], # soft sign (many) [], ['Э', ['Ñ','Э']], ['Ю', ['ÑŽ','Ю']], ['Я', ['Ñ','Я']], ['Ь', ['ÑŒ','Ь']], [], [], [] ]; $sortcase = 'Aa'; #$sortcase = 'aA'; $ligatures = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/upper-sorbian/000077500000000000000000000000001264235421100223445ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/upper-sorbian/Makefile.am000066400000000000000000000027151264235421100244050ustar00rootroot00000000000000## Makefile.am fragment for alphabets/upper-sorbian/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ upper-sorbian/cp1250-lang.xdy \ upper-sorbian/cp1250-test.xdy \ upper-sorbian/cp1250.xdy \ upper-sorbian/latin2-lang.xdy \ upper-sorbian/latin2-test.xdy \ upper-sorbian/latin2.xdy \ upper-sorbian/utf8-lang.xdy \ upper-sorbian/utf8-test.xdy \ upper-sorbian/utf8.xdy EXTRA_DIST += \ upper-sorbian/cp1250.pl \ upper-sorbian/latin2.pl \ upper-sorbian/utf8.pl.in DISTCLEANFILES += \ upper-sorbian/utf8.pl DOCS_CP1250 += \ upper-sorbian/cp1250-doc.tex DOCS_LATIN2 += \ upper-sorbian/latin2-doc.tex DOCS_UTF8_LAT += \ upper-sorbian/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/upper-sorbian/cp1250.pl000066400000000000000000000127671264235421100236300ustar00rootroot00000000000000#!/usr/bin/perl $language = "Upper Sorbian"; $prefix = "s2"; $script = "latin"; $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 (many) [], # cs (hungarian) ['È', ['è','È']], [], # 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Ÿ', ['dŸ','DŸ','D']], [], # d with caron (slovak/large) [], # d with stroke (croatian) [], # d with hook (hausa) [], # eth (icelandic) ['E', ['e','E']], ['Ì', ['ì','Ì']], [], # 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', ['ch','Ch','CH']], [], # 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', ['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 tilde (spanish/modern, spanish/traditional) [], # n with cedilla/comma (latvian) ['O', ['o','O']], ['Ó', ['ó','Ó']], [], # 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 acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['Š', ['š','Š']], [], # 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) ['Æ', ['æ','Æ']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/upper-sorbian/latin2.pl000066400000000000000000000127671264235421100241070ustar00rootroot00000000000000#!/usr/bin/perl $language = "Upper Sorbian"; $prefix = "s2"; $script = "latin"; $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 (many) [], # cs (hungarian) ['È', ['è','È']], [], # 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¼', ['d¼','D¼','D¬']], [], # d with caron (slovak/large) [], # d with stroke (croatian) [], # d with hook (hausa) [], # eth (icelandic) ['E', ['e','E']], ['Ì', ['ì','Ì']], [], # 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', ['ch','Ch','CH']], [], # 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', ['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 tilde (spanish/modern, spanish/traditional) [], # n with cedilla/comma (latvian) ['O', ['o','O']], ['Ó', ['ó','Ó']], [], # 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 acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['©', ['¹','©']], [], # 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) ['Æ', ['æ','Æ']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['®', ['¾','®']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/upper-sorbian/utf8.pl.in000066400000000000000000000130271264235421100241770ustar00rootroot00000000000000#!/usr/bin/perl $language = "Upper Sorbian"; $prefix = "s2"; $script = "latin"; $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 (many) [], # cs (hungarian) ['ÄŒ', ['Ä','ÄŒ']], [], # 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ź', ['dź','Dź','DŹ']], [], # d with caron (slovak/large) [], # d with stroke (croatian) [], # d with hook (hausa) [], # eth (icelandic) ['E', ['e','E']], ['Äš', ['Ä›','Äš']], [], # 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', ['ch','Ch','CH']], [], # 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', ['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 tilde (spanish/modern, spanish/traditional) [], # n with cedilla/comma (latvian) ['O', ['o','O']], ['Ó', ['ó','Ó']], [], # 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 acute (lower sorbian) [], # r with cedilla/comma (latvian) ['S', ['s','S']], [], # sh (albanian) [], # sz (hungarian) ['Å ', ['Å¡','Å ']], [], # 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) ['Ć', ['ć','Ć']], ['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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) ['Ž', ['ž','Ž']], [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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) ]; $ligatures = [ [['ß'], 'after', [['s','s']]], ]; @special = ('?', '!', '.', 'letters', '-', '\''); $sortcase = "Aa"; #$sortcase = "aA"; do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/alphabets/utf8-to-tex.sed000066400000000000000000000033661264235421100223670ustar00rootroot00000000000000# $Id: utf8-to-tex.sed,v 1.8 2001/04/01 18:03:18 thenlich Exp $ # translate UTF-8 to something that TeX understands # for russian transliteration: s/Ä/\\v c/g; s/ÄŒ/\\v C/g; s/Ä—/\\.e/g; s/Ä–/\\.E/g; s/è/\\`e/g; s/È/\\`E/g; s/ë/\\"e/g; s/Ë/\\"E/g; s/ï/\\"i/g; s/Ã/\\"I/g; s/Å¡/\\v s/g; s/Å /\\v S/g; s/ž/\\v z/g; s/Ž/\\v Z/g; s/″/$\\\'\\\'$/g; s/′/$\\\'$/g; s/Å/\\^s/g; s/Åœ/\\^S/g; s/û/\\^u/g; s/Û/\\^U/g; s/â/\\^a/g; s/Â/\\^A/g; # greek: s/Ä“/\\=e/g; s/Ä’/\\=E/g; s/Å/\\=o/g; s/ÅŒ/\\=O/g; # turkish: s/ç/\\c c/g; s/Ç/\\c C/g; s/ÄŸ/\\u g/g; s/Äž/\\u G/g; s/ı/\\i/g; s/İ/\\.I/g; s/ö/\\"o/g; s/Ö/\\"O/g; s/ÅŸ/\\c s/g; s/Åž/\\c S/g; s/ü/\\"u/g; s/Ü/\\"U/g; # esperanto: s/ĉ/\\^c/g; s/Ĉ/\\^C/g; s/Ä/\\^g/g; s/Äœ/\\^G/g; s/Ä¥/\\^h/g; s/Ĥ/\\^H/g; s/ĵ/\\^\\j/g; s/Ä´/\\^J/g; s/Å­/\\u u/g; s/Ŭ/\\u U/g; # german: s/ä/\\"a/g; s/Ä/\\"A/g; s/ß/\\ss{}/g; # romanian: s/È™/\\ooalign{s\\crcr\\hidewidth\\raise-.3ex\\hbox{\\scriptsize,}\\hidewidth}/g; s/Ș/\\ooalign{S\\crcr\\hidewidth\\raise-.3ex\\hbox{\\scriptsize,}\\hidewidth}/g; s/È›/\\ooalign{t\\crcr\\hidewidth\\raise-.25ex\\hbox{\\scriptsize,}\\hidewidth}/g; s/Èš/\\ooalign{T\\crcr\\hidewidth\\raise-.25ex\\hbox{\\scriptsize,}\\hidewidth}/g; s/ă/\\u a/g; s/Ä‚/\\u A/g; s/î/\\^\\i/g; s/ÃŽ/\\^I/g; # dutch: s/é/\\\\\\\'e/g; s/É/\\\\\\\'E/g; s/ij/ij/g; s/IJ/IJ/g; # croatian: s/ć/\\\\\\\'c/g; s/Ć/\\\\\\\'C/g; s/Ä‘/\\dj{}/g; s/Ä/\\DJ{}/g; s/dž/d\\v z/g; s/Ç…/D\\v z/g; s/Ç„/D\\v Z/g; s/lj/lj/g; s/Lj/Lj/g; s/LJ/LJ/g; s/ÇŒ/nj/g; s/Ç‹/Nj/g; s/ÇŠ/NJ/g; s/dz/dz/g; s/Dz/Dz/g; s/DZ/DZ/g; # kurdish: s/ê/\\^e/g; s/Ê/\\^E/g; # lithuanian: s/Ä…/\\k a/g; s/Ä„/\\k A/g; s/Ä™/\\k e/g; s/Ę/\\k E/g; s/Ä—/\\.e/g; s/Ä–/\\.E/g; s/į/\\k i/g; s/Ä®/\\k I/g; s/ų/\\k u/g; s/Ų/\\k U/g; s/Å«/\\=u/g; s/Ū/\\=U/g; xindy-2.5.1.20160104/make-rules/alphabets/vietnamese/000077500000000000000000000000001264235421100217165ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/alphabets/vietnamese/Makefile.am000066400000000000000000000021751264235421100237570ustar00rootroot00000000000000## Makefile.am fragment for alphabets/vietnamese/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_nodist_lang_DATA += \ vietnamese/utf8-lang.xdy \ vietnamese/utf8-test.xdy \ vietnamese/utf8.xdy EXTRA_DIST += \ vietnamese/README \ vietnamese/utf8.pl.in DISTCLEANFILES += \ vietnamese/utf8.pl DOCS_UTF8_LAT += \ vietnamese/utf8-doc.tex xindy-2.5.1.20160104/make-rules/alphabets/vietnamese/README000066400000000000000000000010641264235421100225770ustar00rootroot00000000000000http://vietunicode.sourceforge.net/charset/quytacABC_en.html is documentation from the Vietnam Lexicography Centre about Vietnamese sorting rules for dictionary entries. Thanks to Pavel Striz for supplying that information at 2014-03-28 in the xindy mailing list and also sending a patch that fixes the former incorrect sorting. Comment from Joachim Schrod at 2014-04-19: I have not checked if rule 4 and Note 1 from that documentation are really realized by xindy. If somebody could check and tell me, I would be grateful. xindy-2.5.1.20160104/make-rules/alphabets/vietnamese/utf8.pl.in000066400000000000000000000145641264235421100235600ustar00rootroot00000000000000#!/usr/bin/perl $language = "Vietnamese"; $prefix = "vi"; $script = "latin"; $alphabet = [ ['A', ['a','A'],['à','À'],['ả','Ả'],['ã','Ã'],['á','Ã'],['ạ','Ạ']], ['Ä‚', ['ă','Ä‚'],['ằ','Ằ'],['ẳ','Ẳ'],['ẵ','Ẵ'],['ắ','Ắ'],['ặ','Ặ']], ['Â', ['â','Â'],['ầ','Ầ'],['ẩ','Ẩ'],['ẫ','Ẫ'],['ấ','Ấ'],['ậ','Ậ']], [], # a with ogonek (polish) ['B', ['b','B']], [], # b with hook (hausa) ['C', ['c','C']], [], # ch (spanish/traditonal) [], # 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 hook (hausa) [], # eth (icelandic) ['E', ['e','E'],['è','È'],['ẻ','Ẻ'],['ẽ','Ẽ'],['é','É'],['ẹ','Ẹ']], [], # e with caron (lower/upper sorbian) ['Ê', ['ê','Ê'],['á»','Ề'],['ể','Ể'],['á»…','Ễ'],['ế','Ế'],['ệ','Ệ']], [], # 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/traditonal) [], # 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 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 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) [], # yogh (english) ['Z', ['z','Z']], [], # zh (albanian) [], # zs (hungarian) [], # z with caron (many) [], # z with acute (lower sorbian, polish) [], # z with dot above (polish) [], # thorn (icelandic) [], # wynn (english) [], # 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 = [ ]; @special = ('?', '!', '.', 'letters', '-', '\''); do 'make-rules.pl'; xindy-2.5.1.20160104/make-rules/inputenc/000077500000000000000000000000001264235421100174405ustar00rootroot00000000000000xindy-2.5.1.20160104/make-rules/inputenc/Makefile.am000066400000000000000000000061601264235421100214770ustar00rootroot00000000000000## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `automake Makefile' to create only Makefile.in. ## Copyright (C) 2004-2005 by Gour. ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. modulesdir = $(pkglibdir)/modules inputencdir = $(modulesdir)/tex/inputenc INPUTENCS = \ cp1250.xdy \ cp1251.xdy \ cp1252.xdy \ cp437.xdy \ cp850.xdy \ cp855.xdy \ cp866.xdy \ iso88595.xdy \ isoir111.xdy \ koi8-r.xdy \ koi8-u.xdy \ latin.xdy \ latin1.xdy \ latin2.xdy \ latin3.xdy \ utf8.xdy latin.xdy : latin1.xdy latin2.xdy latin3.xdy echo ';; Generated from latin?.xdy' >latin.xdy echo >>latin.xdy sort -u latin?.xdy | grep -v '^;' >>latin.xdy utf8.xdy : latin1.xdy latin2.xdy latin3.xdy iconv -t UTF-8 -f ISO8859-1 latin1.xdy >latin1-utf8.xdy iconv -t UTF-8 -f ISO8859-2 latin2.xdy >latin2-utf8.xdy iconv -t UTF-8 -f ISO8859-3 latin3.xdy >latin3-utf8.xdy echo ';; Generated from recoded latin?.xdy' >utf8.xdy echo >>utf8.xdy sort -u latin?-utf8.xdy | grep -v '^;' >>utf8.xdy %.xdy %.idx : $(PERL) $(srcdir)/make-testidx.pl TS1,T2A,T1 $* >$*.tex $(LATEX) -interaction nonstopmode $*.tex $(PERL) $(srcdir)/make-inp-rules.pl <$*.idx >$*.xdy PERLSCRIPTS = \ make-inp-rules.pl \ make-testidx.pl AUXS = \ cp1250.aux \ cp1251.aux \ cp1252.aux \ cp437.aux \ cp850.aux \ cp855.aux \ cp866.aux \ iso88595.aux \ isoir111.aux \ koi8-r.aux \ koi8-u.aux \ latin1.aux \ latin2.aux \ latin3.aux DVIS = \ cp1250.dvi \ cp1251.dvi \ cp1252.dvi \ cp437.dvi \ cp850.dvi \ cp855.dvi \ cp866.dvi \ iso88595.dvi \ isoir111.dvi \ koi8-r.dvi \ koi8-u.dvi \ latin1.dvi \ latin2.dvi \ latin3.dvi IDXS = \ cp1250.idx \ cp1251.idx \ cp1252.idx \ cp437.idx \ cp850.idx \ cp855.idx \ cp866.idx \ iso88595.idx \ isoir111.idx \ koi8-r.idx \ koi8-u.idx \ latin1.idx \ latin2.idx \ latin3.idx LOGS = \ cp1250.log \ cp1251.log \ cp1252.log \ cp437.log \ cp850.log \ cp855.log \ cp866.log \ iso88595.log \ isoir111.log \ koi8-r.log \ koi8-u.log \ latin1.log \ latin2.log \ latin3.log TEXS = \ cp1250.tex \ cp1251.tex \ cp1252.tex \ cp437.tex \ cp850.tex \ cp855.tex \ cp866.tex \ iso88595.tex \ isoir111.tex \ koi8-r.tex \ koi8-u.tex \ latin1.tex \ latin2.tex \ latin3.tex UTF8 = \ latin1-utf8.xdy \ latin2-utf8.xdy \ latin3-utf8.xdy EXTRA_DIST = $(PERLSCRIPTS) CLEANFILES = $(AUXS) $(DVIS) $(IDXS) $(INPUTENCS) $(LOGS) $(TEXS) $(UTF8) nodist_inputenc_DATA = $(INPUTENCS) xindy-2.5.1.20160104/make-rules/inputenc/Makefile.in000066400000000000000000000400141264235421100215040ustar00rootroot00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = xindy-2.5.1/make-rules/inputenc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ $(top_srcdir)/../../m4/kpse-progs.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 $(top_srcdir)/version.ac \ $(top_srcdir)/ac/xindy.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(inputencdir)" DATA = $(nodist_inputenc_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibdir = @pkglibdir@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLISP = @CLISP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LISP_RUN = @LISP_RUN@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PERL = @PERL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WARNING_CFLAGS = @WARNING_CFLAGS@ WIN_WRAPPER = @WIN_WRAPPER@ XINDY_RUN = @XINDY_RUN@ XINDY_TREE = @XINDY_TREE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ memdir = @memdir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ modulesdir = $(pkglibdir)/modules inputencdir = $(modulesdir)/tex/inputenc INPUTENCS = \ cp1250.xdy \ cp1251.xdy \ cp1252.xdy \ cp437.xdy \ cp850.xdy \ cp855.xdy \ cp866.xdy \ iso88595.xdy \ isoir111.xdy \ koi8-r.xdy \ koi8-u.xdy \ latin.xdy \ latin1.xdy \ latin2.xdy \ latin3.xdy \ utf8.xdy PERLSCRIPTS = \ make-inp-rules.pl \ make-testidx.pl AUXS = \ cp1250.aux \ cp1251.aux \ cp1252.aux \ cp437.aux \ cp850.aux \ cp855.aux \ cp866.aux \ iso88595.aux \ isoir111.aux \ koi8-r.aux \ koi8-u.aux \ latin1.aux \ latin2.aux \ latin3.aux DVIS = \ cp1250.dvi \ cp1251.dvi \ cp1252.dvi \ cp437.dvi \ cp850.dvi \ cp855.dvi \ cp866.dvi \ iso88595.dvi \ isoir111.dvi \ koi8-r.dvi \ koi8-u.dvi \ latin1.dvi \ latin2.dvi \ latin3.dvi IDXS = \ cp1250.idx \ cp1251.idx \ cp1252.idx \ cp437.idx \ cp850.idx \ cp855.idx \ cp866.idx \ iso88595.idx \ isoir111.idx \ koi8-r.idx \ koi8-u.idx \ latin1.idx \ latin2.idx \ latin3.idx LOGS = \ cp1250.log \ cp1251.log \ cp1252.log \ cp437.log \ cp850.log \ cp855.log \ cp866.log \ iso88595.log \ isoir111.log \ koi8-r.log \ koi8-u.log \ latin1.log \ latin2.log \ latin3.log TEXS = \ cp1250.tex \ cp1251.tex \ cp1252.tex \ cp437.tex \ cp850.tex \ cp855.tex \ cp866.tex \ iso88595.tex \ isoir111.tex \ koi8-r.tex \ koi8-u.tex \ latin1.tex \ latin2.tex \ latin3.tex UTF8 = \ latin1-utf8.xdy \ latin2-utf8.xdy \ latin3-utf8.xdy EXTRA_DIST = $(PERLSCRIPTS) CLEANFILES = $(AUXS) $(DVIS) $(IDXS) $(INPUTENCS) $(LOGS) $(TEXS) $(UTF8) nodist_inputenc_DATA = $(INPUTENCS) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xindy-2.5.1/make-rules/inputenc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign xindy-2.5.1/make-rules/inputenc/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-nodist_inputencDATA: $(nodist_inputenc_DATA) @$(NORMAL_INSTALL) @list='$(nodist_inputenc_DATA)'; test -n "$(inputencdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(inputencdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(inputencdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(inputencdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(inputencdir)" || exit $$?; \ done uninstall-nodist_inputencDATA: @$(NORMAL_UNINSTALL) @list='$(nodist_inputenc_DATA)'; test -n "$(inputencdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(inputencdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(inputencdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nodist_inputencDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nodist_inputencDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-nodist_inputencDATA \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-nodist_inputencDATA .PRECIOUS: Makefile latin.xdy : latin1.xdy latin2.xdy latin3.xdy echo ';; Generated from latin?.xdy' >latin.xdy echo >>latin.xdy sort -u latin?.xdy | grep -v '^;' >>latin.xdy utf8.xdy : latin1.xdy latin2.xdy latin3.xdy iconv -t UTF-8 -f ISO8859-1 latin1.xdy >latin1-utf8.xdy iconv -t UTF-8 -f ISO8859-2 latin2.xdy >latin2-utf8.xdy iconv -t UTF-8 -f ISO8859-3 latin3.xdy >latin3-utf8.xdy echo ';; Generated from recoded latin?.xdy' >utf8.xdy echo >>utf8.xdy sort -u latin?-utf8.xdy | grep -v '^;' >>utf8.xdy %.xdy %.idx : $(PERL) $(srcdir)/make-testidx.pl TS1,T2A,T1 $* >$*.tex $(LATEX) -interaction nonstopmode $*.tex $(PERL) $(srcdir)/make-inp-rules.pl <$*.idx >$*.xdy # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xindy-2.5.1.20160104/make-rules/inputenc/make-inp-rules.pl000077500000000000000000000013201264235421100226250ustar00rootroot00000000000000#!/usr/bin/perl print <<"EOF"; ;; this file was generated by make-inp-rules.pl ;; these rules map inputenc generated macros (back) to 8-bit characters EOF while () { if (/\\indexentry{(.+)--([8-9a-f][0-9a-f])\}\{1\}/) { if (!($1 =~ /inputenc Error|\@inpenc\@undefined/)) { $i = hex($2); $macro = $1; $macro =~ s/\~/~~/g; $macro =~ s/\"/~\"/g; printf("(merge-rule \"%s\" \"%c\" :string)\n", $macro, $i); if (@ARGV[0] eq "cyracc" && $macro =~ /(cyra |cyre |cyri |cyro |cyru |cyrerev |cyryu |cyrya )/i) { printf("(merge-rule \"\\'{%s}\" \"\\'%c\" :string)\n", $macro, $i); } } } } print <<"EOF"; ;; end of style file. EOF xindy-2.5.1.20160104/make-rules/inputenc/make-testidx.pl000077500000000000000000000005411264235421100223770ustar00rootroot00000000000000#!/usr/bin/perl print <<"EOF"; \\documentclass{article} % this file was generated by make-testidx.pl \\usepackage[@ARGV[0]]{fontenc} \\usepackage[@ARGV[1]]{inputenc} \\makeindex \\begin{document} % test of index writing with inputenc . EOF for ($i = 128; $i < 256; $i++) { printf("\\index{%c--%2x}\n", $i, $i); } print <<"EOF"; \\end{document} EOF xindy-2.5.1.20160104/modules/000077500000000000000000000000001264235421100152165ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/Makefile.am000066400000000000000000000025541264235421100172600ustar00rootroot00000000000000## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `automake Makefile' to create only Makefile.in. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 by Joachim Schrod. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. modulesdir = $(pkglibdir)/modules nobase_modules_DATA = EXTRA_DIST = $(nobase_modules_DATA) ## Include all Makefile.am fragments. ## include base/Makefile.am include class/Makefile.am include lang/german/Makefile.am include lang/korean/Makefile.am include lang/latin/Makefile.am include ord/Makefile.am include rules/Makefile.am include styles/Makefile.am xindy-2.5.1.20160104/modules/Makefile.in000066400000000000000000000367741264235421100173040ustar00rootroot00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = xindy-2.5.1/modules ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ $(top_srcdir)/../../m4/kpse-progs.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 $(top_srcdir)/version.ac \ $(top_srcdir)/ac/xindy.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(modulesdir)" DATA = $(nobase_modules_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/base/Makefile.am \ $(srcdir)/class/Makefile.am $(srcdir)/lang/german/Makefile.am \ $(srcdir)/lang/korean/Makefile.am \ $(srcdir)/lang/latin/Makefile.am $(srcdir)/ord/Makefile.am \ $(srcdir)/rules/Makefile.am $(srcdir)/styles/Makefile.am DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibdir = @pkglibdir@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLISP = @CLISP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LISP_RUN = @LISP_RUN@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PERL = @PERL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WARNING_CFLAGS = @WARNING_CFLAGS@ WIN_WRAPPER = @WIN_WRAPPER@ XINDY_RUN = @XINDY_RUN@ XINDY_TREE = @XINDY_TREE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ memdir = @memdir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ modulesdir = $(pkglibdir)/modules nobase_modules_DATA = base/book-order.xdy base/ff-ranges-only.xdy \ base/ff-ranges.xdy base/german-sty.xdy base/ignore-hyphen.xdy \ base/ignore-punctuation.xdy base/keep-blanks.xdy \ base/latex-loc-fmts.xdy base/latex.xdy \ base/latin-lettergroups.xdy base/letter-order.xdy \ base/makeindex.xdy base/numeric-sort.xdy base/page-ranges.xdy \ base/texindy.xdy base/tex.xdy base/word-order.xdy \ class/pagenums.xdy lang/german/din5007.xdy \ lang/german/duden.xdy lang/german/tex.xdy lang/korean/utf8.xdy \ lang/korean/utf8-lang.xdy lang/latin/caseisrt.xdy \ lang/latin/letgroup.xdy ord/letorder.xdy \ rules/isolatin1-exchange.xdy rules/latin-exchange.xdy \ rules/isolatin1-tolower.xdy rules/latin-tolower.xdy \ styles/basic.xdy styles/makeidx.xdy EXTRA_DIST = $(nobase_modules_DATA) lang/korean/README all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(srcdir)/base/Makefile.am $(srcdir)/class/Makefile.am $(srcdir)/lang/german/Makefile.am $(srcdir)/lang/korean/Makefile.am $(srcdir)/lang/latin/Makefile.am $(srcdir)/ord/Makefile.am $(srcdir)/rules/Makefile.am $(srcdir)/styles/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xindy-2.5.1/modules/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign xindy-2.5.1/modules/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(srcdir)/base/Makefile.am $(srcdir)/class/Makefile.am $(srcdir)/lang/german/Makefile.am $(srcdir)/lang/korean/Makefile.am $(srcdir)/lang/latin/Makefile.am $(srcdir)/ord/Makefile.am $(srcdir)/rules/Makefile.am $(srcdir)/styles/Makefile.am $(am__empty): $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-nobase_modulesDATA: $(nobase_modules_DATA) @$(NORMAL_INSTALL) @list='$(nobase_modules_DATA)'; test -n "$(modulesdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(modulesdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(modulesdir)" || exit 1; \ fi; \ $(am__nobase_list) | while read dir files; do \ xfiles=; for file in $$files; do \ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ test -z "$$xfiles" || { \ test "x$$dir" = x. || { \ echo " $(MKDIR_P) '$(DESTDIR)$(modulesdir)/$$dir'"; \ $(MKDIR_P) "$(DESTDIR)$(modulesdir)/$$dir"; }; \ echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(modulesdir)/$$dir'"; \ $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(modulesdir)/$$dir" || exit $$?; }; \ done uninstall-nobase_modulesDATA: @$(NORMAL_UNINSTALL) @list='$(nobase_modules_DATA)'; test -n "$(modulesdir)" || list=; \ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ dir='$(DESTDIR)$(modulesdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(modulesdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-nobase_modulesDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_modulesDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-nobase_modulesDATA \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-nobase_modulesDATA .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xindy-2.5.1.20160104/modules/base/000077500000000000000000000000001264235421100161305ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/base/Makefile.am000066400000000000000000000024421264235421100201660ustar00rootroot00000000000000## Makefile.am fragment for modules/base/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_modules_DATA += \ base/book-order.xdy \ base/ff-ranges-only.xdy \ base/ff-ranges.xdy \ base/german-sty.xdy \ base/ignore-hyphen.xdy \ base/ignore-punctuation.xdy \ base/keep-blanks.xdy \ base/latex-loc-fmts.xdy \ base/latex.xdy \ base/latin-lettergroups.xdy \ base/letter-order.xdy \ base/makeindex.xdy \ base/numeric-sort.xdy \ base/page-ranges.xdy \ base/texindy.xdy \ base/tex.xdy \ base/word-order.xdy xindy-2.5.1.20160104/modules/base/book-order.xdy000066400000000000000000000012011264235421100207130ustar00rootroot00000000000000;; $Id: book-order.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; book order scheme ;;; ;; NOTE: Assumes that makeindex.xdy has been loaded. (define-location-class-order ("roman-page-numbers" "Roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers" "Alpha-page-numbers" "see" "seealso")) ;;====================================================================== ;; ;; $Log: book-order.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/ff-ranges-only.xdy000066400000000000000000000015631264235421100215120ustar00rootroot00000000000000;; $Id: ff-ranges-only.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; ff ranges only ;;; ;;; Use "f" for two pages, "ff" notation for ranges of three and more pages ;;; ;; FIXME: This will output a warning about a redefinition if latex.xdy ;; is already loaded. Which it is, most of the time. I don't want that ;; message, and we should get rid of it. (define-location-class "arabic-page-numbers" ("arabic-numbers") :min-range-length 1) (markup-range :sep "f" :length 1 :ignore-end :class "arabic-page-numbers") (markup-range :sep "ff" :ignore-end :class "arabic-page-numbers") ;;====================================================================== ;; ;; $Log: ff-ranges-only.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/ff-ranges.xdy000066400000000000000000000015701264235421100205310ustar00rootroot00000000000000;; $Id: ff-ranges.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; ff ranges ;;; ;;; Use "f" for two pages, "ff" notation for ranges of three pages, ;;; and explicit ranges thereafter: 2f, 2ff, 2--6. ;;; ;; FIXME: This will output a warning about a redefinition if latex.xdy ;; is already loaded. Which it is, most of the time. I don't want that ;; message, and we should get rid of it. (define-location-class "arabic-page-numbers" ("arabic-numbers") :min-range-length 1) (markup-range :sep "f" :length 1 :ignore-end) (markup-range :sep "ff" :length 2 :ignore-end) (markup-range :sep "--") ;;====================================================================== ;; ;; $Log: ff-ranges.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/german-sty.xdy000066400000000000000000000013071264235421100207450ustar00rootroot00000000000000;; $Id: german-sty.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; german sty ;;; ;;; Map special German TeX letters (german.sty) to 8-bit characters. ;;; (merge-rule "~"A" "Ä" :again :string) (merge-rule "~"O" "Ö" :again :string) (merge-rule "~"U" "Ü" :again :string) (merge-rule "~"a" "ä" :again :string) (merge-rule "~"o" "ö" :again :string) (merge-rule "~"u" "ü" :again :string) (merge-rule "~"s" "ß" :again :string) ;;====================================================================== ;; ;; $Log: german-sty.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/ignore-hyphen.xdy000066400000000000000000000007231264235421100214340ustar00rootroot00000000000000;; $Id: ignore-hyphen.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; ignore hyphen scheme ;;; ;;; hyphens are ignored, "ad-hoc" is sorted as "adhoc". ;;; (sort-rule "-" "") ;;====================================================================== ;; ;; $Log: ignore-hyphen.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/ignore-punctuation.xdy000066400000000000000000000017141264235421100225130ustar00rootroot00000000000000;; $Id: ignore-punctuation.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; ignore punctuation scheme ;;; ;;; all kind of punctuations are ignored during sorting ;;; ;; accents and other special characters (plus, etc) are not considered ;; punctuations. (sort-rule "!" "") (sort-rule "\"" "") (sort-rule "/" "") (sort-rule "(" "") (sort-rule ")" "") (sort-rule "{" "") (sort-rule "}" "") (sort-rule "[" "") (sort-rule "]" "") (sort-rule "<" "") (sort-rule ">" "") (sort-rule "=" "") (sort-rule "?" "") (sort-rule "\\" "") (sort-rule "'" "") (sort-rule "|" "") (sort-rule "," "") (sort-rule ";" "") (sort-rule "." "") (sort-rule ":" "") (sort-rule "-" "") (sort-rule "_" "") ;;====================================================================== ;; ;; $Log: ignore-punctuation.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/keep-blanks.xdy000066400000000000000000000025411264235421100210540ustar00rootroot00000000000000;; $Id: keep-blanks.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; keep blanks ;;; ;;; Don't trim white space at start or end, and don't collapse white ;;; space in an index key. ;;; ;; This does not work currently. White space compression is ;; implemented by merge rules in tex.xdy; and we would need to undo ;; these rules. An implementation possibility is the postponing of ;; these merge rules and our ability to stop their activation. But ;; this is not implemented yet. Either we need a method to delete a ;; merge rule, or we need a hook in the kernel. ;; FIXME: I must coerce the error string to a simple-string because we ;; use a special reader syntax in index styles. This reader syntax ;; parses C-like strings and creates character arrays, but not simple ;; strings. Frankly, I don't know how I may code this more easily, ;; perhaps by a reader macro? (base:oops (coerce " Module keep-blanks does not work currently, due to a missing functionality in the xindy kernel. Please contact the xindy mailing list for more information. " 'simple-string)) (base:error-exit) ;;====================================================================== ;; ;; $Log: keep-blanks.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/latex-loc-fmts.xdy000066400000000000000000000015351264235421100215210ustar00rootroot00000000000000;; $Id: latex-loc-fmts.xdy,v 1.2 2006/08/31 00:10:59 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; Define default location attributes, and their markup. ;;; ;; Default attributes are all merged into one location group. (define-attributes (("default" "textbf" "textit" "hyperpage"))) (markup-locref :open "\textbf{" :close "}" :attr "textbf") (markup-locref :open "\textit{" :close "}" :attr "textit") (markup-locref :open "\hyperpage{" :close "}" :attr "hyperpage") ;;====================================================================== ;; ;; $Log: latex-loc-fmts.xdy,v $ ;; Revision 1.2 2006/08/31 00:10:59 jschrod ;; Ticket 1549661: Default attributes should be in the same location group. ;; ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/latex.xdy000066400000000000000000000045541264235421100200030ustar00rootroot00000000000000;; $Id: latex.xdy,v 1.4 2008/01/09 15:13:29 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; LaTeX conventions ;;; ;;; both in raw index entries and output markup ;;; ;; We need to define merge rules for known macros first, as tex.xdy ;; has a merge-rule that will discard all macros. (merge-rule "\\LaTeXe *" "LaTeX2e" :eregexp :again) (merge-rule "\\BibTeX *" "BibTeX" :eregexp :again) (merge-rule "\\AmSTeX *" "AmSTeX" :eregexp :again) (merge-rule "\\AmSLaTeX *" "AmSLaTeX" :eregexp :again) (merge-rule "\\XeT *" "XeT" :eregexp :again) ;; LaTeX has the same conventions as TeX (require "tex.xdy") ;; We do not define attributes, this is done in latex-loc-fmts. ;; Standard location classes: arabic and roman numbers, and alphabets. (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")) ;;; ;;; Output Markup ;;; (markup-index :open "\begin{theindex} \providecommand*\lettergroupDefault[1]{} \providecommand*\lettergroup[1]{% \par\textbf{#1}\par \nopagebreak } " :close "~n~n\end{theindex}~n" :tree) (markup-letter-group-list :sep "~n~n \indexspace~n") (markup-letter-group :open-head "~n % ") (markup-indexentry :open "~n \item " :depth 0) (markup-indexentry :open "~n \subitem " :depth 1) (markup-indexentry :open "~n \subsubitem " :depth 2) (markup-locclass-list :open ", " :sep ", ") (markup-locref-list :sep ", ") ;;====================================================================== ;; ;; $Log: latex.xdy,v $ ;; Revision 1.4 2008/01/09 15:13:29 jschrod ;; Configurable section headline for the Default letter group. ;; ;; Revision 1.3 2006/11/07 01:16:50 jschrod ;; Prevent page break after letter group heading. ;; Introduce a \lettergroup tag for that, which can be redefined ;; by the user in an own theindex environment. (Ticket 1255990) ;; ;; Revision 1.2 2005/05/09 20:21:11 jschrod ;; Support handling of some common macros for logos; ignore all other ;; TeX commands. ;; ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/latin-lettergroups.xdy000066400000000000000000000016211264235421100225220ustar00rootroot00000000000000;; $Id: latin-lettergroups.xdy,v 1.3 2008/01/09 15:13:29 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; latin lettergroups ;;; (markup-letter-group :open-head "~n \lettergroupDefault{" :close-head "}" :group "default") (markup-letter-group :open-head "~n \lettergroup{" :close-head "}") ;;====================================================================== ;; ;; $Log: latin-lettergroups.xdy,v $ ;; Revision 1.3 2008/01/09 15:13:29 jschrod ;; Configurable section headline for the Default letter group. ;; ;; Revision 1.2 2006/11/07 01:16:50 jschrod ;; Prevent page break after letter group heading. ;; Introduce a \lettergroup tag for that, which can be redefined ;; by the user in an own theindex environment. (Ticket 1255990) ;; ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/letter-order.xdy000066400000000000000000000007321264235421100212700ustar00rootroot00000000000000;; $Id: letter-order.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; letter order scheme ;;; ;;; spaces are ignored, "index style" is sorted after "indexing". ;;; (sort-rule " " "") ;;====================================================================== ;; ;; $Log: letter-order.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/makeindex.xdy000066400000000000000000000030171264235421100206240ustar00rootroot00000000000000;; $Id: makeindex.xdy,v 1.3 2006/08/30 23:35:43 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; MakeIndex behaviour ;;; (define-crossref-class "see") ;; \see takes two parameters, the second one is for the page number. ;; We don't emit one in xindy, so we add an empty second argument. (markup-crossref-list :class "see" :open "\see{" :sep "; " :close "}{}") ;; FIXME: This does not work properly. This should be for entries that ;; have both a locref (e.g., the page number) and a cross reference. ;; Currently, it works as if it's the same as \see, just with another ;; macro. (define-crossref-class "seealso") (markup-crossref-list :class "seealso" :open "\seealso{" :sep "; " :close "}{}") ;; Subentries in cross references are seperated by comma for all ;; crossref classes. (markup-crossref-layer-list :sep ", ") (define-location-class-order ("roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers" "Roman-page-numbers" "Alpha-page-numbers" "see" "seealso")) ;;====================================================================== ;; ;; $Log: makeindex.xdy,v $ ;; Revision 1.3 2006/08/30 23:35:43 jschrod ;; Ticket 1255983: Markup for multiple cross references and cross ;; references to sub entries were missing. ;; ;; Revision 1.2 2005/05/09 20:19:15 jschrod ;; Typo in seealso crossref class definition. ;; ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/numeric-sort.xdy000066400000000000000000000013741264235421100213120ustar00rootroot00000000000000;; $Id: numeric-sort.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; numerically sorting ;;; ;;; "V64" appears before "V128". ;;; ;; FIXME: Works only for up to 7 digits. (merge-rule "[0-9][0-9][0-9][0-9][0-9][0-9]" "0&" :eregexp) (merge-rule "[0-9][0-9][0-9][0-9][0-9]" "00&" :eregexp) (merge-rule "[0-9][0-9][0-9][0-9]" "000&" :eregexp) (merge-rule "[0-9][0-9][0-9]" "0000&" :eregexp) (merge-rule "[0-9][0-9]" "00000&" :eregexp) (merge-rule "[0-9]" "000000&" :eregexp) ;;====================================================================== ;; ;; $Log: numeric-sort.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/page-ranges.xdy000066400000000000000000000007171264235421100210540ustar00rootroot00000000000000;; $Id: page-ranges.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; page ranges ;;; ;;; More than two consecutive pages are listed as a range. ;;; (markup-range :sep "--") ;;====================================================================== ;; ;; $Log: page-ranges.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/tex.xdy000066400000000000000000000050301264235421100174540ustar00rootroot00000000000000;; $Id: tex.xdy,v 1.3 2010/06/11 11:01:46 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; TeX conventions ;;; ;; Discard leading and trailing white space. Collapse multiple white ;; space characters to blank. ;; ;; FIXME: How do I specify tabs in that regexp? [ \t] does *not* work, ;; it is taken as blank and t. ;; ;; FIXME: Definition of these rules should be postponed until we start ;; with the actual work. Then they should be only issued if module ;; keep-blanks is not loaded. Module keep-blanks would set a flag, and ;; this code would check for it. We will need a hook in the kernel, to ;; achieve that goal. (merge-rule "^ +" "" :eregexp) (merge-rule " +$" "" :eregexp) (merge-rule " +" " " :eregexp) ;; ;; Handle TeX markup ;; ;; First, some markup that produces output and that we want to keep. ;; If this module is required, similar merge-rules for other markup ;; that shall be kept must be defined first. Otherwise it will be ;; discarded, by the default rule below. (merge-rule "\\([{}$%&#])" "\1" :eregexp) (merge-rule "~~" " ") (merge-rule "---?" "-") (merge-rule "\\TeX *" "TeX" :eregexp :again) (merge-rule "\\LaTeX *" "LaTeX" :eregexp :again) (merge-rule "\\MF *" "METAFONT" :eregexp :again) (merge-rule "\\MP *" "METAPOST" :eregexp :again) ;; Ignore TeX commands by default. Some macros are known to be written ;; to index files where the arguments must be ignored as well. Our ;; argument parsing code is optimistic -- it will be possible to break ;; it. Let's wait for an error report and repair it then... ;-) (merge-rule "\\discretionary *\{[^}]*\}\{[^}]*\}" "" :eregexp) (merge-rule "\\kern *[-\.0-9a-z]* ?" "" :eregexp) (merge-rule "\\[a-zA-Z@]+ *" "" :eregexp) (merge-rule "\\[^a-zA-Z@]" "" :eregexp) (merge-rule "[{}$]" "" :eregexp) ;;====================================================================== ;; ;; $Log: tex.xdy,v $ ;; Revision 1.3 2010/06/11 11:01:46 jschrod ;; New 2.4 ordrules supports regexps with start-anchored matches. ;; Thus we can activate the leading blank processing rule. The ;; parenthesis-discard rule must trigger everywhere, not just at the ;; start of the index key. ;; The blank suppression clause got optimized, it now triggers only ;; if there are multiple blanks and not for each appearing blank. ;; ;; Revision 1.2 2005/05/09 20:21:11 jschrod ;; Support handling of some common macros for logos; ignore all other ;; TeX commands. ;; ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/texindy.xdy000066400000000000000000000010171264235421100203410ustar00rootroot00000000000000;; $Id: texindy.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; all auto modules of texindy. ;;; (require "numeric-sort.xdy") (require "latex.xdy") (require "latex-loc-fmts.xdy") (require "makeindex.xdy") (require "latin-lettergroups.xdy") ;;====================================================================== ;; ;; $Log: texindy.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/base/word-order.xdy000066400000000000000000000011621264235421100207420ustar00rootroot00000000000000;; $Id: word-order.xdy,v 1.1 2004/05/24 21:53:27 jschrod Exp $ ;;------------------------------------------------------------ ;;; ;;; word order scheme ;;; ;;; a space comes before any letter in the alphabet: "index style" is ;;; listed before "indexing". ; This is the default, we don't need any code for this behaviour. ; In fact, this module just exists to satisfy the Companion ; description... ;-) ;;====================================================================== ;; ;; $Log: word-order.xdy,v $ ;; Revision 1.1 2004/05/24 21:53:27 jschrod ;; Standard modules, introduced in "LaTeX Companion Release". ;; xindy-2.5.1.20160104/modules/class/000077500000000000000000000000001264235421100163235ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/class/Makefile.am000066400000000000000000000016421264235421100203620ustar00rootroot00000000000000## Makefile.am fragment for modules/class/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_modules_DATA += \ class/pagenums.xdy xindy-2.5.1.20160104/modules/class/pagenums.xdy000066400000000000000000000002711264235421100206700ustar00rootroot00000000000000;; $Id: pagenums.xdy,v 1.1 1996/07/03 18:44:40 kehr Exp $ ;; ;; This module defines the location-class "page-numbers" (define-location-class "page-numbers" ("arabic-numbers")) ;; End xindy-2.5.1.20160104/modules/lang/000077500000000000000000000000001264235421100161375ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/lang/german/000077500000000000000000000000001264235421100174105ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/lang/german/Makefile.am000066400000000000000000000017351264235421100214520ustar00rootroot00000000000000## Makefile.am fragment for modules/lang/german/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_modules_DATA += \ lang/german/din5007.xdy \ lang/german/duden.xdy \ lang/german/tex.xdy xindy-2.5.1.20160104/modules/lang/german/din5007.xdy000066400000000000000000000006131264235421100212240ustar00rootroot00000000000000;; $Id: din5007.xdy,v 1.1 1996/07/03 18:44:46 kehr Exp $ ;; ;; This file contains the basic sort-rules that are necessary to sort ;; a german index. ;; Die folgenden Regeln entsprechen der DIN 5007. (sort-rule "ä" "ae") (sort-rule "ö" "oe") (sort-rule "ü" "ue") (sort-rule "Ä" "ae") (sort-rule "Ö" "oe") (sort-rule "Ü" "ue") (sort-rule "ß" "ss") (require "lang/latin/caseisrt.xdy") ;; End xindy-2.5.1.20160104/modules/lang/german/duden.xdy000066400000000000000000000021751264235421100212420ustar00rootroot00000000000000;; $Id: duden.xdy,v 1.1 1996/07/03 18:44:46 kehr Exp $ ;; ;; This file contains the basic sort-rules that are necessary to sort ;; a german index. ;; Dieses Modul definiert die Regeln zum Sortieren eines Wörterbuchs. ;; Die folgenden Regeln wurden dem Duden entnommen und bilden die ;; Sortierregeln des Dudens selbst. ;; ;; (1) ä wird wie a, ö wie o, ü wie u und äu wie au einsortiert. (sort-rule "ä" "a") (sort-rule "ö" "o") (sort-rule "ü" "u") ;; (2) Die Schreibungen ae, oe und ue (in Namen) werden nach ad usw. ;; eingeordnet. [Dies k"onnen wir nicht leisten, da das Programm ;; nicht weiß, was ein Name ist.] ;; (3) Der Buchstabe ß (es-zett) wird wie ss (i), bei gleichnamigen ;; Wörtern vor ss (ii) eigeordnet. Punkt (ii) ist ebenfalls ;; nicht spezifizierbar, daher hier nur Regel (3i). (sort-rule "ß" "ss") ;; Da beim Index die Groß- und Kleinschreibung ohne Bedeutung ist, ;; bilden wir beim Sort-Mapping die Großbuchstaben auf die ;; Kleinbuchstaben ab. (require "lang/latin/caseisrt.xdy") ;; Analog bilden wir noch die Großbuchtaben-Umlaute ab. (sort-rule "Ä" "a") (sort-rule "Ö" "o") (sort-rule "Ü" "u") ;; End xindy-2.5.1.20160104/modules/lang/german/tex.xdy000066400000000000000000000011211264235421100207310ustar00rootroot00000000000000;; $Id: tex.xdy,v 1.2 1996/07/18 16:03:55 kehr Exp $ ;; ;; This file contains some rules to process TeX-letters with xindy. ;; ;; It should be used in conjunction with the `din5007' or the `duden' ;; modules. ;; ;; We first map them to the ISO-Latin counterpart and then use the ;; mappings in on of the two other modules to map them to the actual ;; postition. (sort-rule "\\\"a" "ä" :again) (sort-rule "\\\"o" "ö" :again) (sort-rule "\\\"u" "ü" :again) (sort-rule "\\\"A" "Ä" :again) (sort-rule "\\\"O" "Ö" :again) (sort-rule "\\\"U" "Ü" :again) (sort-rule "\\ss({})?" "ß" :again) ;; End xindy-2.5.1.20160104/modules/lang/korean/000077500000000000000000000000001264235421100174165ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/lang/korean/Makefile.am000066400000000000000000000017611264235421100214570ustar00rootroot00000000000000## Makefile.am fragment for modules/lang/korean/. ## Copyright (C) 2014 by Joachim Schrod. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_modules_DATA += \ lang/korean/utf8.xdy \ lang/korean/utf8-lang.xdy EXTRA_DIST += \ lang/korean/README xindy-2.5.1.20160104/modules/lang/korean/README000066400000000000000000000023651264235421100203040ustar00rootroot00000000000000Submission email: ====================================================================== From: Kihwang Lee Subject: Korean modules for Xindy Date: Wed, 06 Nov 2013 13:44:50 +0900 To: jschrod@acm.org Dear Mr. Schrod, This is Kihwang Lee from the Korean TeX users group. I am maintaining a set of Korean typesetting packages and I have recently uploaded them to CTAN. (The most recent upload was done today and it was not processed at the time of writing) In one of the packages (kotex-utils), Korean modules for Xindy are included, and I am contacting you following the advice from Karl Berry. The module files are utf8-lang.xdy and utf8.xdy (both attached). The core component is utf8.xdy which provides a sorting order for Korean index entries. Initially we provided a additional perl script for preprocessing the Korean index entries. Now we removed the perl script and rewritten the module files that can be used without any preprocessing. Could you incorporate our files into Xindy? We admit that utf8.xdy is not generated by the make-rules package. Best wishes, Kihwang ====================================================================== According to declaration at the top of the contributed files, they are licensed under LPPL. xindy-2.5.1.20160104/modules/lang/korean/utf8-lang.xdy000066400000000000000000000014201264235421100217460ustar00rootroot00000000000000;; utf8-lang.xdy ;; ;; ;; Copyright (c) 2007-2013 Dohyun Kim ;; Documentation corrected by Joachim Schrod ;; ;; This work may be distributed and/or modified under the ;; conditions of the LaTeX Project Public License, either version 1.3c ;; of this license or (at your option) any later version. ;; The latest version of this license is in ;; http://www.latex-project.org/lppl.txt ;; and version 1.3c or later is part of all distributions of LaTeX ;; version 2006/05/20 or later. ;; ;; Xindy module for hangul characters ;; ;; Usage: xindy -M texindy -M page-ranges -L korean -C utf8 test.idx ;; ;; Do NOT use texindy if your raw index is not LICR-encoded or from Omega. (require "lang/general/utf8-lang.xdy") (require "lang/korean/utf8.xdy") xindy-2.5.1.20160104/modules/lang/korean/utf8.xdy000066400000000000000000022225271264235421100210460ustar00rootroot00000000000000;; utf8.xdy ;; ;; Copyright (c) 2007-2013 Dohyun Kim ;; ;; This work may be distributed and/or modified under the ;; conditions of the LaTeX Project Public License, either version 1.3c ;; of this license or (at your option) any later version. ;; The latest version of this license is in ;; http://www.latex-project.org/lppl.txt ;; and version 1.3c or later is part of all distributions of LaTeX ;; version 2006/05/20 or later. ;; ;; Xindy module for hangul characters (define-letter-groups ( "ㄱ" "ã„´" "ã„·" "ㄹ" "ã…" "ã…‚" "ã……" "ã…‡" "ã…ˆ" "ã…Š" "ã…‹" "ã…Œ" "ã…" "ã…Ž" )) (define-letter-group "ã…" :prefixes ( "á…Ÿ" )) (sort-rule "á„€" "ㄱ1") ;; 0x1100 (sort-rule "á„" "ㄱ3") ;; 0x1101 (sort-rule "á…š" "ㄱ4") ;; 0x115A (sort-rule "á„‚" "ã„´1") ;; 0x1102 (sort-rule "á„“" "ã„´2") ;; 0x1113 (sort-rule "á„”" "ã„´4") ;; 0x1114 (sort-rule "á„•" "ã„´6") ;; 0x1115 (sort-rule "á„–" "ã„´7") ;; 0x1116 (sort-rule "á…›" "ã„´9") ;; 0x115B (sort-rule "á…œ" "ã„´C") ;; 0x115C (sort-rule "á…" "ã„´E") ;; 0x115D (sort-rule "ᄃ" "ã„·1") ;; 0x1103 (sort-rule "á„—" "ã„·2") ;; 0x1117 (sort-rule "á„„" "ã„·4") ;; 0x1104 (sort-rule "á…ž" "ã„·5") ;; 0x115E (sort-rule "ꥠ" "ã„·6") ;; 0xA960 (sort-rule "ꥡ" "ã„·7") ;; 0xA961 (sort-rule "ꥢ" "ã„·8") ;; 0xA962 (sort-rule "ꥣ" "ã„·9") ;; 0xA963 (sort-rule "á„…" "ㄹ1") ;; 0x1105 (sort-rule "ꥤ" "ㄹ3") ;; 0xA964 (sort-rule "ꥥ" "ㄹ4") ;; 0xA965 (sort-rule "ᄘ" "ㄹ6") ;; 0x1118 (sort-rule "ꥦ" "ㄹ8") ;; 0xA966 (sort-rule "ꥧ" "ㄹ9") ;; 0xA967 (sort-rule "á„™" "ㄹA") ;; 0x1119 (sort-rule "ꥨ" "ㄹC") ;; 0xA968 (sort-rule "ꥩ" "ㄹE") ;; 0xA969 (sort-rule "ꥪ" "ㄹF") ;; 0xA96A (sort-rule "ꥫ" "ㄹH") ;; 0xA96B (sort-rule "ꥬ" "ㄹJ") ;; 0xA96C (sort-rule "ꥭ" "ㄹL") ;; 0xA96D (sort-rule "ꥮ" "ㄹM") ;; 0xA96E (sort-rule "ᄚ" "ㄹQ") ;; 0x111A (sort-rule "á„›" "ㄹS") ;; 0x111B (sort-rule "ᄆ" "ã…1") ;; 0x1106 (sort-rule "ꥯ" "ã…2") ;; 0xA96F (sort-rule "ꥰ" "ã…3") ;; 0xA970 (sort-rule "ᄜ" "ã…5") ;; 0x111C (sort-rule "ꥱ" "ã…7") ;; 0xA971 (sort-rule "á„" "ã…A") ;; 0x111D (sort-rule "ᄇ" "ã…‚1") ;; 0x1107 (sort-rule "ᄞ" "ã…‚3") ;; 0x111E (sort-rule "ᄟ" "ã…‚4") ;; 0x111F (sort-rule "á„ " "ã…‚6") ;; 0x1120 (sort-rule "ᄈ" "ã…‚8") ;; 0x1108 (sort-rule "á„¡" "ã…‚A") ;; 0x1121 (sort-rule "á„¢" "ã…‚C") ;; 0x1122 (sort-rule "á„£" "ã…‚E") ;; 0x1123 (sort-rule "ᄤ" "ã…‚F") ;; 0x1124 (sort-rule "á„¥" "ã…‚G") ;; 0x1125 (sort-rule "ᄦ" "ã…‚H") ;; 0x1126 (sort-rule "ꥲ" "ã…‚I") ;; 0xA972 (sort-rule "á„§" "ã…‚K") ;; 0x1127 (sort-rule "ᄨ" "ã…‚L") ;; 0x1128 (sort-rule "ꥳ" "ã…‚M") ;; 0xA973 (sort-rule "á„©" "ã…‚O") ;; 0x1129 (sort-rule "ᄪ" "ã…‚P") ;; 0x112A (sort-rule "ꥴ" "ã…‚Q") ;; 0xA974 (sort-rule "á„«" "ã…‚S") ;; 0x112B (sort-rule "ᄬ" "ã…‚U") ;; 0x112C (sort-rule "ᄉ" "ã……1") ;; 0x1109 (sort-rule "á„­" "ã……3") ;; 0x112D (sort-rule "á„®" "ã……5") ;; 0x112E (sort-rule "ᄯ" "ã……7") ;; 0x112F (sort-rule "á„°" "ã……8") ;; 0x1130 (sort-rule "ᄱ" "ã……9") ;; 0x1131 (sort-rule "ᄲ" "ã……B") ;; 0x1132 (sort-rule "ᄳ" "ã……C") ;; 0x1133 (sort-rule "ᄊ" "ã……E") ;; 0x110A (sort-rule "ꥵ" "ã……F") ;; 0xA975 (sort-rule "á„´" "ã……G") ;; 0x1134 (sort-rule "ᄵ" "ã……H") ;; 0x1135 (sort-rule "á„¶" "ã……J") ;; 0x1136 (sort-rule "á„·" "ã……K") ;; 0x1137 (sort-rule "ᄸ" "ã……L") ;; 0x1138 (sort-rule "ᄹ" "ã……M") ;; 0x1139 (sort-rule "ᄺ" "ã……N") ;; 0x113A (sort-rule "á„»" "ã……O") ;; 0x113B (sort-rule "ᄼ" "ã……P") ;; 0x113C (sort-rule "ᄽ" "ã……Q") ;; 0x113D (sort-rule "ᄾ" "ã……R") ;; 0x113E (sort-rule "á„¿" "ã……S") ;; 0x113F (sort-rule "á…€" "ã……U") ;; 0x1140 (sort-rule "á„‹" "ã…‡1") ;; 0x110B (sort-rule "á…" "ã…‡2") ;; 0x1141 (sort-rule "á…‚" "ã…‡3") ;; 0x1142 (sort-rule "ꥶ" "ã…‡4") ;; 0xA976 (sort-rule "á…ƒ" "ã…‡5") ;; 0x1143 (sort-rule "á…„" "ã…‡6") ;; 0x1144 (sort-rule "á……" "ã…‡7") ;; 0x1145 (sort-rule "á…†" "ã…‡8") ;; 0x1146 (sort-rule "á…‡" "ã…‡9") ;; 0x1147 (sort-rule "á…ˆ" "ã…‡A") ;; 0x1148 (sort-rule "á…‰" "ã…‡B") ;; 0x1149 (sort-rule "á…Š" "ã…‡C") ;; 0x114A (sort-rule "á…‹" "ã…‡D") ;; 0x114B (sort-rule "ꥷ" "ã…‡E") ;; 0xA977 (sort-rule "á…Œ" "ã…‡G") ;; 0x114C (sort-rule "ᄌ" "ã…ˆ1") ;; 0x110C (sort-rule "á…" "ã…ˆ2") ;; 0x114D (sort-rule "á„" "ã…ˆ4") ;; 0x110D (sort-rule "ꥸ" "ã…ˆ5") ;; 0xA978 (sort-rule "á…Ž" "ã…ˆ6") ;; 0x114E (sort-rule "á…" "ã…ˆ7") ;; 0x114F (sort-rule "á…" "ã…ˆ8") ;; 0x1150 (sort-rule "á…‘" "ã…ˆ9") ;; 0x1151 (sort-rule "ᄎ" "ã…Š1") ;; 0x110E (sort-rule "á…’" "ã…Š2") ;; 0x1152 (sort-rule "á…“" "ã…Š3") ;; 0x1153 (sort-rule "á…”" "ã…Š4") ;; 0x1154 (sort-rule "á…•" "ã…Š5") ;; 0x1155 (sort-rule "á„" "ã…‹1") ;; 0x110F (sort-rule "á„" "ã…Œ1") ;; 0x1110 (sort-rule "ꥹ" "ã…Œ2") ;; 0xA979 (sort-rule "á„‘" "ã…1") ;; 0x1111 (sort-rule "á…–" "ã…2") ;; 0x1156 (sort-rule "ꥺ" "ã…3") ;; 0xA97A (sort-rule "á…—" "ã…5") ;; 0x1157 (sort-rule "á„’" "ã…Ž1") ;; 0x1112 (sort-rule "ꥻ" "ã…Ž2") ;; 0xA97B (sort-rule "á…˜" "ã…Ž4") ;; 0x1158 (sort-rule "á…™" "ã…Ž6") ;; 0x1159 (sort-rule "ꥼ" "ã…Ž7") ;; 0xA97C (sort-rule "á…¡" "á…¡1") ;; 0x1161 (sort-rule "á…¶" "á…¡2") ;; 0x1176 (sort-rule "á…·" "á…¡3") ;; 0x1177 (sort-rule "ᆣ" "á…¡4") ;; 0x11A3 (sort-rule "á…¢" "á…¡6") ;; 0x1162 (sort-rule "á…£" "á…£1") ;; 0x1163 (sort-rule "á…¸" "á…£2") ;; 0x1178 (sort-rule "á…¹" "á…£3") ;; 0x1179 (sort-rule "ᆤ" "á…£4") ;; 0x11A4 (sort-rule "á…¤" "á…£6") ;; 0x1164 (sort-rule "á…¥" "á…¥1") ;; 0x1165 (sort-rule "á…º" "á…¥2") ;; 0x117A (sort-rule "á…»" "á…¥3") ;; 0x117B (sort-rule "á…¼" "á…¥4") ;; 0x117C (sort-rule "á…¦" "á…¥6") ;; 0x1166 (sort-rule "á…§" "á…§1") ;; 0x1167 (sort-rule "ᆥ" "á…§2") ;; 0x11A5 (sort-rule "á…½" "á…§3") ;; 0x117D (sort-rule "á…¾" "á…§4") ;; 0x117E (sort-rule "á…¨" "á…§6") ;; 0x1168 (sort-rule "á…©" "á…©1") ;; 0x1169 (sort-rule "á…ª" "á…©3") ;; 0x116A (sort-rule "á…«" "á…©5") ;; 0x116B (sort-rule "ᆦ" "á…©6") ;; 0x11A6 (sort-rule "ᆧ" "á…©7") ;; 0x11A7 (sort-rule "á…¿" "á…©8") ;; 0x117F (sort-rule "ᆀ" "á…©9") ;; 0x1180 (sort-rule "íž°" "á…©A") ;; 0xD7B0 (sort-rule "á†" "á…©B") ;; 0x1181 (sort-rule "ᆂ" "á…©C") ;; 0x1182 (sort-rule "íž±" "á…©D") ;; 0xD7B1 (sort-rule "ᆃ" "á…©E") ;; 0x1183 (sort-rule "á…¬" "á…©G") ;; 0x116C (sort-rule "á…­" "á…­1") ;; 0x116D (sort-rule "íž²" "á…­2") ;; 0xD7B2 (sort-rule "íž³" "á…­3") ;; 0xD7B3 (sort-rule "ᆄ" "á…­5") ;; 0x1184 (sort-rule "ᆅ" "á…­7") ;; 0x1185 (sort-rule "íž´" "á…­8") ;; 0xD7B4 (sort-rule "ᆆ" "á…­9") ;; 0x1186 (sort-rule "ᆇ" "á…­A") ;; 0x1187 (sort-rule "ᆈ" "á…­C") ;; 0x1188 (sort-rule "á…®" "á…®1") ;; 0x116E (sort-rule "ᆉ" "á…®2") ;; 0x1189 (sort-rule "ᆊ" "á…®3") ;; 0x118A (sort-rule "á…¯" "á…®5") ;; 0x116F (sort-rule "ᆋ" "á…®6") ;; 0x118B (sort-rule "á…°" "á…®8") ;; 0x1170 (sort-rule "ížµ" "á…®9") ;; 0xD7B5 (sort-rule "ᆌ" "á…®A") ;; 0x118C (sort-rule "á†" "á…®B") ;; 0x118D (sort-rule "á…±" "á…®D") ;; 0x1171 (sort-rule "íž¶" "á…®E") ;; 0xD7B6 (sort-rule "á…²" "á…²1") ;; 0x1172 (sort-rule "ᆎ" "á…²2") ;; 0x118E (sort-rule "íž·" "á…²3") ;; 0xD7B7 (sort-rule "á†" "á…²4") ;; 0x118F (sort-rule "á†" "á…²5") ;; 0x1190 (sort-rule "ᆑ" "á…²7") ;; 0x1191 (sort-rule "ᆒ" "á…²9") ;; 0x1192 (sort-rule "ힸ" "á…²A") ;; 0xD7B8 (sort-rule "ᆓ" "á…²B") ;; 0x1193 (sort-rule "ᆔ" "á…²D") ;; 0x1194 (sort-rule "á…³" "á…³1") ;; 0x1173 (sort-rule "íž¹" "á…³2") ;; 0xD7B9 (sort-rule "ힺ" "á…³3") ;; 0xD7BA (sort-rule "íž»" "á…³4") ;; 0xD7BB (sort-rule "íž¼" "á…³5") ;; 0xD7BC (sort-rule "ᆕ" "á…³6") ;; 0x1195 (sort-rule "ᆖ" "á…³7") ;; 0x1196 (sort-rule "á…´" "á…³9") ;; 0x1174 (sort-rule "ᆗ" "á…³A") ;; 0x1197 (sort-rule "á…µ" "á…µ1") ;; 0x1175 (sort-rule "ᆘ" "á…µ2") ;; 0x1198 (sort-rule "ᆙ" "á…µ3") ;; 0x1199 (sort-rule "íž½" "á…µ4") ;; 0xD7BD (sort-rule "íž¾" "á…µ5") ;; 0xD7BE (sort-rule "íž¿" "á…µ6") ;; 0xD7BF (sort-rule "ퟀ" "á…µ7") ;; 0xD7C0 (sort-rule "ᆚ" "á…µ8") ;; 0x119A (sort-rule "íŸ" "á…µ9") ;; 0xD7C1 (sort-rule "ퟂ" "á…µA") ;; 0xD7C2 (sort-rule "ᆛ" "á…µB") ;; 0x119B (sort-rule "ퟃ" "á…µC") ;; 0xD7C3 (sort-rule "ᆜ" "á…µD") ;; 0x119C (sort-rule "ퟄ" "á…µE") ;; 0xD7C4 (sort-rule "á†" "á…µF") ;; 0x119D (sort-rule "ᆞ" "ᆞ1") ;; 0x119E (sort-rule "ퟅ" "ᆞ2") ;; 0xD7C5 (sort-rule "ᆟ" "ᆞ3") ;; 0x119F (sort-rule "ퟆ" "ᆞ4") ;; 0xD7C6 (sort-rule "ᆠ" "ᆞ5") ;; 0x11A0 (sort-rule "ᆡ" "ᆞ7") ;; 0x11A1 (sort-rule "ᆢ" "ᆞ8") ;; 0x11A2 ; remove jongsong-filler before jongsong (sort-rule "~bᆨ" "ᆨ1") ;; 0x11A8 (sort-rule "~bᆩ" "ᆨ2") ;; 0x11A9 (sort-rule "~bᇺ" "ᆨ3") ;; 0x11FA (sort-rule "~bᇃ" "ᆨ4") ;; 0x11C3 (sort-rule "~bᇻ" "ᆨ5") ;; 0x11FB (sort-rule "~bᆪ" "ᆨ6") ;; 0x11AA (sort-rule "~bᇄ" "ᆨ7") ;; 0x11C4 (sort-rule "~bᇼ" "ᆨ8") ;; 0x11FC (sort-rule "~bᇽ" "ᆨ9") ;; 0x11FD (sort-rule "~bᇾ" "ᆨA") ;; 0x11FE (sort-rule "~bᆫ" "ᆫ0") ;; 0x11AB (sort-rule "~bᇅ" "ᆫ1") ;; 0x11C5 (sort-rule "~bᇿ" "ᆫ2") ;; 0x11FF (sort-rule "~bᇆ" "ᆫ3") ;; 0x11C6 (sort-rule "~bퟋ" "ᆫ4") ;; 0xD7CB (sort-rule "~bᇇ" "ᆫ5") ;; 0x11C7 (sort-rule "~bᇈ" "ᆫ6") ;; 0x11C8 (sort-rule "~bᆬ" "ᆫ7") ;; 0x11AC (sort-rule "~bퟌ" "ᆫ8") ;; 0xD7CC (sort-rule "~bᇉ" "ᆫ9") ;; 0x11C9 (sort-rule "~bᆭ" "ᆫA") ;; 0x11AD (sort-rule "~bᆮ" "ᆮ0") ;; 0x11AE (sort-rule "~bᇊ" "ᆮ1") ;; 0x11CA (sort-rule "~bíŸ" "ᆮ2") ;; 0xD7CD (sort-rule "~bퟎ" "ᆮ3") ;; 0xD7CE (sort-rule "~bᇋ" "ᆮ4") ;; 0x11CB (sort-rule "~bíŸ" "ᆮ5") ;; 0xD7CF (sort-rule "~bíŸ" "ᆮ6") ;; 0xD7D0 (sort-rule "~bퟑ" "ᆮ7") ;; 0xD7D1 (sort-rule "~bퟒ" "ᆮ8") ;; 0xD7D2 (sort-rule "~bퟓ" "ᆮ9") ;; 0xD7D3 (sort-rule "~bퟔ" "ᆮA") ;; 0xD7D4 (sort-rule "~bᆯ" "ᆯ0") ;; 0x11AF (sort-rule "~bᆰ" "ᆯ1") ;; 0x11B0 (sort-rule "~bퟕ" "ᆯ2") ;; 0xD7D5 (sort-rule "~bᇌ" "ᆯ3") ;; 0x11CC (sort-rule "~bퟖ" "ᆯ4") ;; 0xD7D6 (sort-rule "~bá‡" "ᆯ5") ;; 0x11CD (sort-rule "~bᇎ" "ᆯ6") ;; 0x11CE (sort-rule "~bá‡" "ᆯ7") ;; 0x11CF (sort-rule "~bá‡" "ᆯ8") ;; 0x11D0 (sort-rule "~bퟗ" "ᆯ9") ;; 0xD7D7 (sort-rule "~bᆱ" "ᆯA") ;; 0x11B1 (sort-rule "~bᇑ" "ᆯB") ;; 0x11D1 (sort-rule "~bᇒ" "ᆯC") ;; 0x11D2 (sort-rule "~bퟘ" "ᆯD") ;; 0xD7D8 (sort-rule "~bᆲ" "ᆯE") ;; 0x11B2 (sort-rule "~bퟙ" "ᆯF") ;; 0xD7D9 (sort-rule "~bᇓ" "ᆯG") ;; 0x11D3 (sort-rule "~bퟚ" "ᆯH") ;; 0xD7DA (sort-rule "~bᇔ" "ᆯI") ;; 0x11D4 (sort-rule "~bᇕ" "ᆯJ") ;; 0x11D5 (sort-rule "~bᆳ" "ᆯK") ;; 0x11B3 (sort-rule "~bᇖ" "ᆯL") ;; 0x11D6 (sort-rule "~bᇗ" "ᆯM") ;; 0x11D7 (sort-rule "~bퟛ" "ᆯN") ;; 0xD7DB (sort-rule "~bᇘ" "ᆯO") ;; 0x11D8 (sort-rule "~bᆴ" "ᆯP") ;; 0x11B4 (sort-rule "~bᆵ" "ᆯQ") ;; 0x11B5 (sort-rule "~bᆶ" "ᆯR") ;; 0x11B6 (sort-rule "~bᇙ" "ᆯS") ;; 0x11D9 (sort-rule "~bퟜ" "ᆯT") ;; 0xD7DC (sort-rule "~bíŸ" "ᆯU") ;; 0xD7DD (sort-rule "~bᆷ" "ᆷ0") ;; 0x11B7 (sort-rule "~bᇚ" "ᆷ1") ;; 0x11DA (sort-rule "~bퟞ" "ᆷ2") ;; 0xD7DE (sort-rule "~bퟟ" "ᆷ3") ;; 0xD7DF (sort-rule "~bᇛ" "ᆷ4") ;; 0x11DB (sort-rule "~bퟠ" "ᆷ5") ;; 0xD7E0 (sort-rule "~bᇜ" "ᆷ6") ;; 0x11DC (sort-rule "~bퟡ" "ᆷ7") ;; 0xD7E1 (sort-rule "~bá‡" "ᆷ8") ;; 0x11DD (sort-rule "~bᇞ" "ᆷ9") ;; 0x11DE (sort-rule "~bᇟ" "ᆷA") ;; 0x11DF (sort-rule "~bퟢ" "ᆷB") ;; 0xD7E2 (sort-rule "~bᇠ" "ᆷC") ;; 0x11E0 (sort-rule "~bᇡ" "ᆷD") ;; 0x11E1 (sort-rule "~bᇢ" "ᆷE") ;; 0x11E2 (sort-rule "~bᆸ" "ᆸ0") ;; 0x11B8 (sort-rule "~bퟣ" "ᆸ1") ;; 0xD7E3 (sort-rule "~bᇣ" "ᆸ2") ;; 0x11E3 (sort-rule "~bퟤ" "ᆸ3") ;; 0xD7E4 (sort-rule "~bퟥ" "ᆸ4") ;; 0xD7E5 (sort-rule "~bퟦ" "ᆸ5") ;; 0xD7E6 (sort-rule "~bᆹ" "ᆸ6") ;; 0x11B9 (sort-rule "~bퟧ" "ᆸ7") ;; 0xD7E7 (sort-rule "~bퟨ" "ᆸ8") ;; 0xD7E8 (sort-rule "~bퟩ" "ᆸ9") ;; 0xD7E9 (sort-rule "~bᇤ" "ᆸA") ;; 0x11E4 (sort-rule "~bᇥ" "ᆸB") ;; 0x11E5 (sort-rule "~bᇦ" "ᆸC") ;; 0x11E6 (sort-rule "~bᆺ" "ᆺ0") ;; 0x11BA (sort-rule "~bᇧ" "ᆺ1") ;; 0x11E7 (sort-rule "~bᇨ" "ᆺ2") ;; 0x11E8 (sort-rule "~bᇩ" "ᆺ3") ;; 0x11E9 (sort-rule "~bퟪ" "ᆺ4") ;; 0xD7EA (sort-rule "~bᇪ" "ᆺ5") ;; 0x11EA (sort-rule "~bퟫ" "ᆺ6") ;; 0xD7EB (sort-rule "~bᆻ" "ᆺ7") ;; 0x11BB (sort-rule "~bퟬ" "ᆺ8") ;; 0xD7EC (sort-rule "~bퟭ" "ᆺ9") ;; 0xD7ED (sort-rule "~bퟮ" "ᆺA") ;; 0xD7EE (sort-rule "~bퟯ" "ᆺB") ;; 0xD7EF (sort-rule "~bퟰ" "ᆺC") ;; 0xD7F0 (sort-rule "~bퟱ" "ᆺD") ;; 0xD7F1 (sort-rule "~bퟲ" "ᆺE") ;; 0xD7F2 (sort-rule "~bᇫ" "ᆺF") ;; 0x11EB (sort-rule "~bퟳ" "ᆺG") ;; 0xD7F3 (sort-rule "~bퟴ" "ᆺH") ;; 0xD7F4 (sort-rule "~bᆼ" "ᆼ0") ;; 0x11BC (sort-rule "~bᇰ" "ᆼ1") ;; 0x11F0 (sort-rule "~bᇬ" "ᆼ2") ;; 0x11EC (sort-rule "~bᇭ" "ᆼ3") ;; 0x11ED (sort-rule "~bퟵ" "ᆼ4") ;; 0xD7F5 (sort-rule "~bᇱ" "ᆼ5") ;; 0x11F1 (sort-rule "~bᇲ" "ᆼ6") ;; 0x11F2 (sort-rule "~bᇮ" "ᆼ7") ;; 0x11EE (sort-rule "~bᇯ" "ᆼ8") ;; 0x11EF (sort-rule "~bퟶ" "ᆼ9") ;; 0xD7F6 (sort-rule "~bᆽ" "ᆽ0") ;; 0x11BD (sort-rule "~bퟷ" "ᆽ1") ;; 0xD7F7 (sort-rule "~bퟸ" "ᆽ2") ;; 0xD7F8 (sort-rule "~bퟹ" "ᆽ3") ;; 0xD7F9 (sort-rule "~bᆾ" "ᆾ0") ;; 0x11BE (sort-rule "~bᆿ" "ᆿ0") ;; 0x11BF (sort-rule "~bᇀ" "ᇀ0") ;; 0x11C0 (sort-rule "~bá‡" "á‡0") ;; 0x11C1 (sort-rule "~bᇳ" "á‡1") ;; 0x11F3 (sort-rule "~bퟺ" "á‡2") ;; 0xD7FA (sort-rule "~bퟻ" "á‡3") ;; 0xD7FB (sort-rule "~bᇴ" "á‡4") ;; 0x11F4 (sort-rule "~bᇂ" "ᇂ0") ;; 0x11C2 (sort-rule "~bᇵ" "ᇂ1") ;; 0x11F5 (sort-rule "~bᇶ" "ᇂ2") ;; 0x11F6 (sort-rule "~bᇷ" "ᇂ3") ;; 0x11F7 (sort-rule "~bᇸ" "ᇂ4") ;; 0x11F8 (sort-rule "~bᇹ" "ᇂ5") ;; 0x11F9 (merge-rule "ㄱ" "ᄀᅠ~b") (merge-rule "ㄲ" "á„á… ~b") (merge-rule "ㄳ" "á…š~e~b") ;; jongsong (merge-rule "ã„´" "á„‚á… ~b") (merge-rule "ã…¥" "ᄔᅠ~b") (merge-rule "ã…¦" "á„•á… ~b") (merge-rule "ã…§" "ᅛᅠ~b") (merge-rule "ã…¨" "á…›~e~b") ;; jongsong (merge-rule "ㄵ" "ᅜᅠ~b") (merge-rule "ã„¶" "á…á… ~b") (merge-rule "ã„·" "ᄃᅠ~b") (merge-rule "ㄸ" "á„„á… ~b") (merge-rule "ㄹ" "á„…á… ~b") (merge-rule "ㄺ" "ꥤᅠ~b") (merge-rule "ã…©" "ꥥ~e~b") ;; jongsong (merge-rule "ã…ª" "ꥦᅠ~b") (merge-rule "ã„»" "ꥨᅠ~b") (merge-rule "ㄼ" "ꥩᅠ~b") (merge-rule "ã…«" "ꥪ~e~b") ;; jongsong (merge-rule "ㄽ" "ꥬᅠ~b") (merge-rule "ã…¬" "ꥬ~e~b") ;; jongsong (merge-rule "ㄾ" "ꥮ~e~b") ;; jongsong (merge-rule "ã„¿" "ꥮ~e~e") ;; jongsong (merge-rule "ã…€" "ᄚᅠ~b") (merge-rule "ã…­" "ᄚ~e~b") ;; jongsong (merge-rule "ã…" "ᄆᅠ~b") (merge-rule "ã…®" "ᄜᅠ~b") (merge-rule "ã…¯" "ꥱᅠ~b") (merge-rule "ã…°" "ꥱ~e~b") ;; jongsong (merge-rule "ã…±" "á„á… ~b") (merge-rule "ã…‚" "ᄇᅠ~b") (merge-rule "ã…ƒ" "ᄈᅠ~b") (merge-rule "ã…²" "ᄞᅠ~b") (merge-rule "ã…³" "á„ á… ~b") (merge-rule "ã…„" "á„¡á… ~b") (merge-rule "ã…´" "ᄢᅠ~b") (merge-rule "ã…µ" "ᄣᅠ~b") (merge-rule "ã…¶" "á„§á… ~b") (merge-rule "ã…·" "á„©á… ~b") (merge-rule "ã…¸" "á„«á… ~b") (merge-rule "ã…¹" "ᄬᅠ~b") (merge-rule "ã……" "ᄉᅠ~b") (merge-rule "ã…º" "á„­á… ~b") (merge-rule "ã…»" "ᄮᅠ~b") (merge-rule "ã…¼" "ᄯᅠ~b") (merge-rule "ã…½" "ᄲᅠ~b") (merge-rule "ã…†" "ᄊᅠ~b") (merge-rule "ã…¾" "á„¶á… ~b") (merge-rule "ã…¿" "ᅀᅠ~b") (merge-rule "ã…‡" "á„‹á… ~b") (merge-rule "ㆀ" "ᅇᅠ~b") (merge-rule "ã†" "ᅌᅠ~b") (merge-rule "ㆂ" "á……á… ~b") (merge-rule "ㆃ" "ᅆᅠ~b") (merge-rule "ã…ˆ" "ᄌᅠ~b") (merge-rule "ã…‰" "á„á… ~b") (merge-rule "ã…Š" "ᄎᅠ~b") (merge-rule "ã…‹" "á„á… ~b") (merge-rule "ã…Œ" "á„á… ~b") (merge-rule "ã…" "á„‘á… ~b") (merge-rule "ㆄ" "á…—á… ~b") (merge-rule "ã…Ž" "á„’á… ~b") (merge-rule "ㆅ" "ᅘᅠ~b") (merge-rule "ㆆ" "ᅙᅠ~b") (merge-rule "ã…" "á…Ÿá…¡~b") (merge-rule "ã…" "á…Ÿá…¢~b") (merge-rule "ã…‘" "á…Ÿá…£~b") (merge-rule "ã…’" "á…Ÿá…¤~b") (merge-rule "ã…“" "á…Ÿá…¥~b") (merge-rule "ã…”" "á…Ÿá…¦~b") (merge-rule "ã…•" "á…Ÿá…§~b") (merge-rule "ã…–" "á…Ÿá…¨~b") (merge-rule "ã…—" "á…Ÿá…©~b") (merge-rule "ã…˜" "á…Ÿá…ª~b") (merge-rule "ã…™" "á…Ÿá…«~b") (merge-rule "ã…š" "á…Ÿá…¬~b") (merge-rule "ã…›" "á…Ÿá…­~b") (merge-rule "ã…œ" "á…Ÿá…®~b") (merge-rule "ã…" "á…Ÿá…¯~b") (merge-rule "ã…ž" "á…Ÿá…°~b") (merge-rule "ã…Ÿ" "á…Ÿá…±~b") (merge-rule "ã… " "á…Ÿá…²~b") (merge-rule "ã…¡" "á…Ÿá…³~b") (merge-rule "ã…¢" "á…Ÿá…´~b") (merge-rule "ã…£" "á…Ÿá…µ~b") (merge-rule "ㆇ" "ᅟᆄ~b") (merge-rule "ㆈ" "ᅟᆅ~b") (merge-rule "ㆉ" "ᅟᆈ~b") (merge-rule "ㆊ" "ᅟᆑ~b") (merge-rule "ㆋ" "ᅟᆒ~b") (merge-rule "ㆌ" "ᅟᆔ~b") (merge-rule "ã†" "ᅟᆞ~b") (merge-rule "ㆎ" "ᅟᆡ~b") (merge-rule "ê°€" "가~b") (merge-rule "ê°" "각") (merge-rule "ê°‚" "갂") (merge-rule "ê°ƒ" "갃") (merge-rule "ê°„" "간") (merge-rule "ê°…" "갅") (merge-rule "ê°†" "갆") (merge-rule "ê°‡" "갇") (merge-rule "ê°ˆ" "갈") (merge-rule "ê°‰" "갉") (merge-rule "ê°Š" "갊") (merge-rule "ê°‹" "갋") (merge-rule "ê°Œ" "갌") (merge-rule "ê°" "갍") (merge-rule "ê°Ž" "갎") (merge-rule "ê°" "갏") (merge-rule "ê°" "감") (merge-rule "ê°‘" "갑") (merge-rule "ê°’" "값") (merge-rule "ê°“" "갓") (merge-rule "ê°”" "갔") (merge-rule "ê°•" "강") (merge-rule "ê°–" "갖") (merge-rule "ê°—" "갗") (merge-rule "ê°˜" "갘") (merge-rule "ê°™" "같") (merge-rule "ê°š" "가á‡") (merge-rule "ê°›" "갛") (merge-rule "ê°œ" "개~b") (merge-rule "ê°" "객") (merge-rule "ê°ž" "갞") (merge-rule "ê°Ÿ" "갟") (merge-rule "ê° " "갠") (merge-rule "ê°¡" "갡") (merge-rule "ê°¢" "갢") (merge-rule "ê°£" "갣") (merge-rule "ê°¤" "갤") (merge-rule "ê°¥" "갥") (merge-rule "ê°¦" "갦") (merge-rule "ê°§" "갧") (merge-rule "ê°¨" "갨") (merge-rule "ê°©" "갩") (merge-rule "ê°ª" "갪") (merge-rule "ê°«" "갫") (merge-rule "ê°¬" "갬") (merge-rule "ê°­" "갭") (merge-rule "ê°®" "갮") (merge-rule "ê°¯" "갯") (merge-rule "ê°°" "갰") (merge-rule "ê°±" "갱") (merge-rule "ê°²" "갲") (merge-rule "ê°³" "갳") (merge-rule "ê°´" "갴") (merge-rule "ê°µ" "갵") (merge-rule "ê°¶" "개á‡") (merge-rule "ê°·" "갷") (merge-rule "ê°¸" "갸~b") (merge-rule "ê°¹" "갹") (merge-rule "ê°º" "갺") (merge-rule "ê°»" "갻") (merge-rule "ê°¼" "갼") (merge-rule "ê°½" "갽") (merge-rule "ê°¾" "갾") (merge-rule "ê°¿" "갿") (merge-rule "ê±€" "걀") (merge-rule "ê±" "걁") (merge-rule "걂" "걂") (merge-rule "걃" "걃") (merge-rule "걄" "걄") (merge-rule "ê±…" "걅") (merge-rule "걆" "걆") (merge-rule "걇" "걇") (merge-rule "걈" "걈") (merge-rule "걉" "걉") (merge-rule "걊" "걊") (merge-rule "걋" "걋") (merge-rule "걌" "걌") (merge-rule "ê±" "걍") (merge-rule "걎" "걎") (merge-rule "ê±" "걏") (merge-rule "ê±" "걐") (merge-rule "걑" "걑") (merge-rule "ê±’" "갸á‡") (merge-rule "걓" "걓") (merge-rule "ê±”" "걔~b") (merge-rule "걕" "걕") (merge-rule "ê±–" "걖") (merge-rule "ê±—" "걗") (merge-rule "걘" "걘") (merge-rule "ê±™" "걙") (merge-rule "걚" "걚") (merge-rule "ê±›" "걛") (merge-rule "걜" "걜") (merge-rule "ê±" "걝") (merge-rule "걞" "걞") (merge-rule "걟" "걟") (merge-rule "ê± " "걠") (merge-rule "걡" "걡") (merge-rule "ê±¢" "걢") (merge-rule "ê±£" "걣") (merge-rule "걤" "걤") (merge-rule "ê±¥" "걥") (merge-rule "걦" "걦") (merge-rule "ê±§" "걧") (merge-rule "걨" "걨") (merge-rule "걩" "걩") (merge-rule "걪" "걪") (merge-rule "걫" "걫") (merge-rule "걬" "걬") (merge-rule "ê±­" "걭") (merge-rule "ê±®" "걔á‡") (merge-rule "걯" "걯") (merge-rule "ê±°" "거~b") (merge-rule "ê±±" "걱") (merge-rule "ê±²" "걲") (merge-rule "ê±³" "걳") (merge-rule "ê±´" "건") (merge-rule "ê±µ" "걵") (merge-rule "ê±¶" "걶") (merge-rule "ê±·" "걷") (merge-rule "걸" "걸") (merge-rule "ê±¹" "걹") (merge-rule "걺" "걺") (merge-rule "ê±»" "걻") (merge-rule "ê±¼" "걼") (merge-rule "ê±½" "걽") (merge-rule "ê±¾" "걾") (merge-rule "걿" "걿") (merge-rule "ê²€" "검") (merge-rule "ê²" "겁") (merge-rule "겂" "겂") (merge-rule "것" "것") (merge-rule "겄" "겄") (merge-rule "ê²…" "겅") (merge-rule "겆" "겆") (merge-rule "겇" "겇") (merge-rule "겈" "겈") (merge-rule "겉" "겉") (merge-rule "겊" "거á‡") (merge-rule "겋" "겋") (merge-rule "게" "게~b") (merge-rule "ê²" "겍") (merge-rule "겎" "겎") (merge-rule "ê²" "겏") (merge-rule "ê²" "겐") (merge-rule "겑" "겑") (merge-rule "ê²’" "겒") (merge-rule "겓" "겓") (merge-rule "ê²”" "겔") (merge-rule "겕" "겕") (merge-rule "ê²–" "겖") (merge-rule "ê²—" "겗") (merge-rule "겘" "겘") (merge-rule "ê²™" "겙") (merge-rule "겚" "겚") (merge-rule "ê²›" "겛") (merge-rule "겜" "겜") (merge-rule "ê²" "겝") (merge-rule "겞" "겞") (merge-rule "겟" "겟") (merge-rule "ê² " "겠") (merge-rule "겡" "겡") (merge-rule "ê²¢" "겢") (merge-rule "ê²£" "겣") (merge-rule "겤" "겤") (merge-rule "ê²¥" "겥") (merge-rule "겦" "게á‡") (merge-rule "ê²§" "겧") (merge-rule "겨" "겨~b") (merge-rule "격" "격") (merge-rule "겪" "겪") (merge-rule "겫" "겫") (merge-rule "견" "견") (merge-rule "ê²­" "겭") (merge-rule "ê²®" "겮") (merge-rule "겯" "겯") (merge-rule "ê²°" "결") (merge-rule "ê²±" "겱") (merge-rule "ê²²" "겲") (merge-rule "ê²³" "겳") (merge-rule "ê²´" "겴") (merge-rule "ê²µ" "겵") (merge-rule "ê²¶" "겶") (merge-rule "ê²·" "겷") (merge-rule "겸" "겸") (merge-rule "ê²¹" "겹") (merge-rule "겺" "겺") (merge-rule "ê²»" "겻") (merge-rule "ê²¼" "겼") (merge-rule "ê²½" "경") (merge-rule "ê²¾" "겾") (merge-rule "겿" "겿") (merge-rule "ê³€" "곀") (merge-rule "ê³" "곁") (merge-rule "곂" "겨á‡") (merge-rule "곃" "곃") (merge-rule "계" "계~b") (merge-rule "ê³…" "곅") (merge-rule "곆" "곆") (merge-rule "곇" "곇") (merge-rule "곈" "곈") (merge-rule "곉" "곉") (merge-rule "곊" "곊") (merge-rule "곋" "곋") (merge-rule "곌" "곌") (merge-rule "ê³" "곍") (merge-rule "곎" "곎") (merge-rule "ê³" "곏") (merge-rule "ê³" "곐") (merge-rule "곑" "곑") (merge-rule "ê³’" "곒") (merge-rule "곓" "곓") (merge-rule "ê³”" "곔") (merge-rule "곕" "곕") (merge-rule "ê³–" "곖") (merge-rule "ê³—" "곗") (merge-rule "곘" "곘") (merge-rule "ê³™" "곙") (merge-rule "곚" "곚") (merge-rule "ê³›" "곛") (merge-rule "곜" "곜") (merge-rule "ê³" "곝") (merge-rule "곞" "계á‡") (merge-rule "곟" "곟") (merge-rule "ê³ " "고~b") (merge-rule "곡" "곡") (merge-rule "ê³¢" "곢") (merge-rule "ê³£" "곣") (merge-rule "곤" "곤") (merge-rule "ê³¥" "곥") (merge-rule "곦" "곦") (merge-rule "ê³§" "곧") (merge-rule "골" "골") (merge-rule "곩" "곩") (merge-rule "곪" "곪") (merge-rule "곫" "곫") (merge-rule "곬" "곬") (merge-rule "ê³­" "곭") (merge-rule "ê³®" "곮") (merge-rule "곯" "곯") (merge-rule "ê³°" "곰") (merge-rule "ê³±" "곱") (merge-rule "ê³²" "곲") (merge-rule "ê³³" "곳") (merge-rule "ê³´" "곴") (merge-rule "ê³µ" "공") (merge-rule "ê³¶" "곶") (merge-rule "ê³·" "곷") (merge-rule "곸" "곸") (merge-rule "ê³¹" "곹") (merge-rule "곺" "고á‡") (merge-rule "ê³»" "곻") (merge-rule "ê³¼" "과~b") (merge-rule "ê³½" "곽") (merge-rule "ê³¾" "곾") (merge-rule "곿" "곿") (merge-rule "ê´€" "관") (merge-rule "ê´" "괁") (merge-rule "ê´‚" "괂") (merge-rule "ê´ƒ" "괃") (merge-rule "ê´„" "괄") (merge-rule "ê´…" "괅") (merge-rule "ê´†" "괆") (merge-rule "ê´‡" "괇") (merge-rule "ê´ˆ" "괈") (merge-rule "ê´‰" "괉") (merge-rule "ê´Š" "괊") (merge-rule "ê´‹" "괋") (merge-rule "ê´Œ" "괌") (merge-rule "ê´" "괍") (merge-rule "ê´Ž" "괎") (merge-rule "ê´" "괏") (merge-rule "ê´" "괐") (merge-rule "ê´‘" "광") (merge-rule "ê´’" "괒") (merge-rule "ê´“" "괓") (merge-rule "ê´”" "괔") (merge-rule "ê´•" "괕") (merge-rule "ê´–" "과á‡") (merge-rule "ê´—" "괗") (merge-rule "ê´˜" "괘~b") (merge-rule "ê´™" "괙") (merge-rule "ê´š" "괚") (merge-rule "ê´›" "괛") (merge-rule "ê´œ" "괜") (merge-rule "ê´" "괝") (merge-rule "ê´ž" "괞") (merge-rule "ê´Ÿ" "괟") (merge-rule "ê´ " "괠") (merge-rule "ê´¡" "괡") (merge-rule "ê´¢" "괢") (merge-rule "ê´£" "괣") (merge-rule "ê´¤" "괤") (merge-rule "ê´¥" "괥") (merge-rule "ê´¦" "괦") (merge-rule "ê´§" "괧") (merge-rule "ê´¨" "괨") (merge-rule "ê´©" "괩") (merge-rule "ê´ª" "괪") (merge-rule "ê´«" "괫") (merge-rule "ê´¬" "괬") (merge-rule "ê´­" "괭") (merge-rule "ê´®" "괮") (merge-rule "ê´¯" "괯") (merge-rule "ê´°" "괰") (merge-rule "ê´±" "괱") (merge-rule "ê´²" "괘á‡") (merge-rule "ê´³" "괳") (merge-rule "ê´´" "괴~b") (merge-rule "ê´µ" "괵") (merge-rule "ê´¶" "괶") (merge-rule "ê´·" "괷") (merge-rule "ê´¸" "괸") (merge-rule "ê´¹" "괹") (merge-rule "ê´º" "괺") (merge-rule "ê´»" "괻") (merge-rule "ê´¼" "괼") (merge-rule "ê´½" "괽") (merge-rule "ê´¾" "괾") (merge-rule "ê´¿" "괿") (merge-rule "êµ€" "굀") (merge-rule "êµ" "굁") (merge-rule "굂" "굂") (merge-rule "굃" "굃") (merge-rule "굄" "굄") (merge-rule "êµ…" "굅") (merge-rule "굆" "굆") (merge-rule "굇" "굇") (merge-rule "굈" "굈") (merge-rule "굉" "굉") (merge-rule "굊" "굊") (merge-rule "굋" "굋") (merge-rule "굌" "굌") (merge-rule "êµ" "굍") (merge-rule "굎" "괴á‡") (merge-rule "êµ" "굏") (merge-rule "êµ" "교~b") (merge-rule "굑" "굑") (merge-rule "êµ’" "굒") (merge-rule "굓" "굓") (merge-rule "êµ”" "굔") (merge-rule "굕" "굕") (merge-rule "êµ–" "굖") (merge-rule "êµ—" "굗") (merge-rule "굘" "굘") (merge-rule "êµ™" "굙") (merge-rule "굚" "굚") (merge-rule "êµ›" "굛") (merge-rule "굜" "굜") (merge-rule "êµ" "굝") (merge-rule "굞" "굞") (merge-rule "굟" "굟") (merge-rule "êµ " "굠") (merge-rule "굡" "굡") (merge-rule "êµ¢" "굢") (merge-rule "êµ£" "굣") (merge-rule "굤" "굤") (merge-rule "êµ¥" "굥") (merge-rule "굦" "굦") (merge-rule "êµ§" "굧") (merge-rule "굨" "굨") (merge-rule "굩" "굩") (merge-rule "굪" "교á‡") (merge-rule "굫" "굫") (merge-rule "구" "구~b") (merge-rule "êµ­" "국") (merge-rule "êµ®" "굮") (merge-rule "굯" "굯") (merge-rule "êµ°" "군") (merge-rule "êµ±" "굱") (merge-rule "êµ²" "굲") (merge-rule "êµ³" "굳") (merge-rule "êµ´" "굴") (merge-rule "êµµ" "굵") (merge-rule "êµ¶" "굶") (merge-rule "êµ·" "굷") (merge-rule "굸" "굸") (merge-rule "êµ¹" "굹") (merge-rule "굺" "굺") (merge-rule "êµ»" "굻") (merge-rule "êµ¼" "굼") (merge-rule "êµ½" "굽") (merge-rule "êµ¾" "굾") (merge-rule "굿" "굿") (merge-rule "ê¶€" "궀") (merge-rule "ê¶" "궁") (merge-rule "ê¶‚" "궂") (merge-rule "궃" "궃") (merge-rule "ê¶„" "궄") (merge-rule "ê¶…" "궅") (merge-rule "궆" "구á‡") (merge-rule "궇" "궇") (merge-rule "궈" "궈~b") (merge-rule "궉" "궉") (merge-rule "ê¶Š" "궊") (merge-rule "ê¶‹" "궋") (merge-rule "ê¶Œ" "권") (merge-rule "ê¶" "궍") (merge-rule "ê¶Ž" "궎") (merge-rule "ê¶" "궏") (merge-rule "ê¶" "궐") (merge-rule "ê¶‘" "궑") (merge-rule "ê¶’" "궒") (merge-rule "ê¶“" "궓") (merge-rule "ê¶”" "궔") (merge-rule "ê¶•" "궕") (merge-rule "ê¶–" "궖") (merge-rule "ê¶—" "궗") (merge-rule "궘" "궘") (merge-rule "ê¶™" "궙") (merge-rule "ê¶š" "궚") (merge-rule "ê¶›" "궛") (merge-rule "ê¶œ" "궜") (merge-rule "ê¶" "궝") (merge-rule "ê¶ž" "궞") (merge-rule "ê¶Ÿ" "궟") (merge-rule "ê¶ " "궠") (merge-rule "ê¶¡" "궡") (merge-rule "ê¶¢" "궈á‡") (merge-rule "ê¶£" "궣") (merge-rule "궤" "궤~b") (merge-rule "ê¶¥" "궥") (merge-rule "궦" "궦") (merge-rule "ê¶§" "궧") (merge-rule "궨" "궨") (merge-rule "ê¶©" "궩") (merge-rule "궪" "궪") (merge-rule "ê¶«" "궫") (merge-rule "궬" "궬") (merge-rule "ê¶­" "궭") (merge-rule "ê¶®" "궮") (merge-rule "궯" "궯") (merge-rule "ê¶°" "궰") (merge-rule "ê¶±" "궱") (merge-rule "ê¶²" "궲") (merge-rule "ê¶³" "궳") (merge-rule "ê¶´" "궴") (merge-rule "ê¶µ" "궵") (merge-rule "ê¶¶" "궶") (merge-rule "ê¶·" "궷") (merge-rule "궸" "궸") (merge-rule "ê¶¹" "궹") (merge-rule "궺" "궺") (merge-rule "ê¶»" "궻") (merge-rule "ê¶¼" "궼") (merge-rule "ê¶½" "궽") (merge-rule "ê¶¾" "궤á‡") (merge-rule "ê¶¿" "궿") (merge-rule "ê·€" "귀~b") (merge-rule "ê·" "귁") (merge-rule "ê·‚" "귂") (merge-rule "ê·ƒ" "귃") (merge-rule "ê·„" "귄") (merge-rule "ê·…" "귅") (merge-rule "ê·†" "귆") (merge-rule "ê·‡" "귇") (merge-rule "ê·ˆ" "귈") (merge-rule "ê·‰" "귉") (merge-rule "ê·Š" "귊") (merge-rule "ê·‹" "귋") (merge-rule "ê·Œ" "귌") (merge-rule "ê·" "귍") (merge-rule "ê·Ž" "귎") (merge-rule "ê·" "귏") (merge-rule "ê·" "귐") (merge-rule "ê·‘" "귑") (merge-rule "ê·’" "귒") (merge-rule "ê·“" "귓") (merge-rule "ê·”" "귔") (merge-rule "ê·•" "귕") (merge-rule "ê·–" "귖") (merge-rule "ê·—" "귗") (merge-rule "ê·˜" "귘") (merge-rule "ê·™" "귙") (merge-rule "ê·š" "귀á‡") (merge-rule "ê·›" "귛") (merge-rule "ê·œ" "규~b") (merge-rule "ê·" "귝") (merge-rule "ê·ž" "귞") (merge-rule "ê·Ÿ" "귟") (merge-rule "ê· " "균") (merge-rule "ê·¡" "귡") (merge-rule "ê·¢" "귢") (merge-rule "ê·£" "귣") (merge-rule "ê·¤" "귤") (merge-rule "ê·¥" "귥") (merge-rule "ê·¦" "귦") (merge-rule "ê·§" "귧") (merge-rule "ê·¨" "귨") (merge-rule "ê·©" "귩") (merge-rule "ê·ª" "귪") (merge-rule "ê·«" "귫") (merge-rule "ê·¬" "귬") (merge-rule "ê·­" "귭") (merge-rule "ê·®" "귮") (merge-rule "ê·¯" "귯") (merge-rule "ê·°" "귰") (merge-rule "ê·±" "귱") (merge-rule "ê·²" "귲") (merge-rule "ê·³" "귳") (merge-rule "ê·´" "귴") (merge-rule "ê·µ" "귵") (merge-rule "ê·¶" "규á‡") (merge-rule "ê··" "귷") (merge-rule "ê·¸" "그~b") (merge-rule "ê·¹" "극") (merge-rule "ê·º" "귺") (merge-rule "ê·»" "귻") (merge-rule "ê·¼" "근") (merge-rule "ê·½" "귽") (merge-rule "ê·¾" "귾") (merge-rule "ê·¿" "귿") (merge-rule "글" "글") (merge-rule "ê¸" "긁") (merge-rule "긂" "긂") (merge-rule "긃" "긃") (merge-rule "긄" "긄") (merge-rule "긅" "긅") (merge-rule "긆" "긆") (merge-rule "긇" "긇") (merge-rule "금" "금") (merge-rule "급" "급") (merge-rule "긊" "긊") (merge-rule "긋" "긋") (merge-rule "긌" "긌") (merge-rule "ê¸" "긍") (merge-rule "긎" "긎") (merge-rule "ê¸" "긏") (merge-rule "ê¸" "긐") (merge-rule "긑" "긑") (merge-rule "긒" "그á‡") (merge-rule "긓" "긓") (merge-rule "긔" "긔~b") (merge-rule "긕" "긕") (merge-rule "긖" "긖") (merge-rule "긗" "긗") (merge-rule "긘" "긘") (merge-rule "긙" "긙") (merge-rule "긚" "긚") (merge-rule "긛" "긛") (merge-rule "긜" "긜") (merge-rule "ê¸" "긝") (merge-rule "긞" "긞") (merge-rule "긟" "긟") (merge-rule "긠" "긠") (merge-rule "긡" "긡") (merge-rule "긢" "긢") (merge-rule "긣" "긣") (merge-rule "긤" "긤") (merge-rule "긥" "긥") (merge-rule "긦" "긦") (merge-rule "긧" "긧") (merge-rule "긨" "긨") (merge-rule "긩" "긩") (merge-rule "긪" "긪") (merge-rule "긫" "긫") (merge-rule "긬" "긬") (merge-rule "긭" "긭") (merge-rule "긮" "긔á‡") (merge-rule "긯" "긯") (merge-rule "기" "기~b") (merge-rule "긱" "긱") (merge-rule "긲" "긲") (merge-rule "긳" "긳") (merge-rule "긴" "긴") (merge-rule "긵" "긵") (merge-rule "긶" "긶") (merge-rule "긷" "긷") (merge-rule "길" "길") (merge-rule "긹" "긹") (merge-rule "긺" "긺") (merge-rule "긻" "긻") (merge-rule "긼" "긼") (merge-rule "긽" "긽") (merge-rule "긾" "긾") (merge-rule "긿" "긿") (merge-rule "ê¹€" "김") (merge-rule "ê¹" "깁") (merge-rule "깂" "깂") (merge-rule "깃" "깃") (merge-rule "깄" "깄") (merge-rule "ê¹…" "깅") (merge-rule "깆" "깆") (merge-rule "깇" "깇") (merge-rule "깈" "깈") (merge-rule "깉" "깉") (merge-rule "깊" "기á‡") (merge-rule "깋" "깋") (merge-rule "까" "á„á…¡~b") (merge-rule "ê¹" "á„ᅡᆨ") (merge-rule "깎" "á„ᅡᆩ") (merge-rule "ê¹" "á„ᅡᆪ") (merge-rule "ê¹" "á„ᅡᆫ") (merge-rule "깑" "á„ᅡᆬ") (merge-rule "ê¹’" "á„ᅡᆭ") (merge-rule "깓" "á„ᅡᆮ") (merge-rule "ê¹”" "á„ᅡᆯ") (merge-rule "깕" "á„ᅡᆰ") (merge-rule "ê¹–" "á„ᅡᆱ") (merge-rule "ê¹—" "á„ᅡᆲ") (merge-rule "깘" "á„ᅡᆳ") (merge-rule "ê¹™" "á„ᅡᆴ") (merge-rule "깚" "á„ᅡᆵ") (merge-rule "ê¹›" "á„ᅡᆶ") (merge-rule "깜" "á„ᅡᆷ") (merge-rule "ê¹" "á„ᅡᆸ") (merge-rule "깞" "á„ᅡᆹ") (merge-rule "깟" "á„ᅡᆺ") (merge-rule "ê¹ " "á„ᅡᆻ") (merge-rule "깡" "á„ᅡᆼ") (merge-rule "ê¹¢" "á„ᅡᆽ") (merge-rule "ê¹£" "á„ᅡᆾ") (merge-rule "깤" "á„ᅡᆿ") (merge-rule "ê¹¥" "á„ᅡᇀ") (merge-rule "깦" "á„á…¡á‡") (merge-rule "ê¹§" "á„ᅡᇂ") (merge-rule "깨" "á„á…¢~b") (merge-rule "깩" "á„ᅢᆨ") (merge-rule "깪" "á„ᅢᆩ") (merge-rule "깫" "á„ᅢᆪ") (merge-rule "깬" "á„ᅢᆫ") (merge-rule "ê¹­" "á„ᅢᆬ") (merge-rule "ê¹®" "á„ᅢᆭ") (merge-rule "깯" "á„ᅢᆮ") (merge-rule "ê¹°" "á„ᅢᆯ") (merge-rule "ê¹±" "á„ᅢᆰ") (merge-rule "ê¹²" "á„ᅢᆱ") (merge-rule "ê¹³" "á„ᅢᆲ") (merge-rule "ê¹´" "á„ᅢᆳ") (merge-rule "ê¹µ" "á„ᅢᆴ") (merge-rule "ê¹¶" "á„ᅢᆵ") (merge-rule "ê¹·" "á„ᅢᆶ") (merge-rule "깸" "á„ᅢᆷ") (merge-rule "ê¹¹" "á„ᅢᆸ") (merge-rule "깺" "á„ᅢᆹ") (merge-rule "ê¹»" "á„ᅢᆺ") (merge-rule "ê¹¼" "á„ᅢᆻ") (merge-rule "ê¹½" "á„ᅢᆼ") (merge-rule "ê¹¾" "á„ᅢᆽ") (merge-rule "깿" "á„ᅢᆾ") (merge-rule "꺀" "á„ᅢᆿ") (merge-rule "êº" "á„ᅢᇀ") (merge-rule "꺂" "á„á…¢á‡") (merge-rule "꺃" "á„ᅢᇂ") (merge-rule "꺄" "á„á…£~b") (merge-rule "꺅" "á„ᅣᆨ") (merge-rule "꺆" "á„ᅣᆩ") (merge-rule "꺇" "á„ᅣᆪ") (merge-rule "꺈" "á„ᅣᆫ") (merge-rule "꺉" "á„ᅣᆬ") (merge-rule "꺊" "á„ᅣᆭ") (merge-rule "꺋" "á„ᅣᆮ") (merge-rule "꺌" "á„ᅣᆯ") (merge-rule "êº" "á„ᅣᆰ") (merge-rule "꺎" "á„ᅣᆱ") (merge-rule "êº" "á„ᅣᆲ") (merge-rule "êº" "á„ᅣᆳ") (merge-rule "꺑" "á„ᅣᆴ") (merge-rule "꺒" "á„ᅣᆵ") (merge-rule "꺓" "á„ᅣᆶ") (merge-rule "꺔" "á„ᅣᆷ") (merge-rule "꺕" "á„ᅣᆸ") (merge-rule "꺖" "á„ᅣᆹ") (merge-rule "꺗" "á„ᅣᆺ") (merge-rule "꺘" "á„ᅣᆻ") (merge-rule "꺙" "á„ᅣᆼ") (merge-rule "꺚" "á„ᅣᆽ") (merge-rule "꺛" "á„ᅣᆾ") (merge-rule "꺜" "á„ᅣᆿ") (merge-rule "êº" "á„ᅣᇀ") (merge-rule "꺞" "á„á…£á‡") (merge-rule "꺟" "á„ᅣᇂ") (merge-rule "꺠" "á„á…¤~b") (merge-rule "꺡" "á„ᅤᆨ") (merge-rule "꺢" "á„ᅤᆩ") (merge-rule "꺣" "á„ᅤᆪ") (merge-rule "꺤" "á„ᅤᆫ") (merge-rule "꺥" "á„ᅤᆬ") (merge-rule "꺦" "á„ᅤᆭ") (merge-rule "꺧" "á„ᅤᆮ") (merge-rule "꺨" "á„ᅤᆯ") (merge-rule "꺩" "á„ᅤᆰ") (merge-rule "꺪" "á„ᅤᆱ") (merge-rule "꺫" "á„ᅤᆲ") (merge-rule "꺬" "á„ᅤᆳ") (merge-rule "꺭" "á„ᅤᆴ") (merge-rule "꺮" "á„ᅤᆵ") (merge-rule "꺯" "á„ᅤᆶ") (merge-rule "꺰" "á„ᅤᆷ") (merge-rule "꺱" "á„ᅤᆸ") (merge-rule "꺲" "á„ᅤᆹ") (merge-rule "꺳" "á„ᅤᆺ") (merge-rule "꺴" "á„ᅤᆻ") (merge-rule "꺵" "á„ᅤᆼ") (merge-rule "꺶" "á„ᅤᆽ") (merge-rule "꺷" "á„ᅤᆾ") (merge-rule "꺸" "á„ᅤᆿ") (merge-rule "꺹" "á„ᅤᇀ") (merge-rule "꺺" "á„á…¤á‡") (merge-rule "꺻" "á„ᅤᇂ") (merge-rule "꺼" "á„á…¥~b") (merge-rule "꺽" "á„ᅥᆨ") (merge-rule "꺾" "á„ᅥᆩ") (merge-rule "꺿" "á„ᅥᆪ") (merge-rule "껀" "á„ᅥᆫ") (merge-rule "ê»" "á„ᅥᆬ") (merge-rule "껂" "á„ᅥᆭ") (merge-rule "껃" "á„ᅥᆮ") (merge-rule "껄" "á„ᅥᆯ") (merge-rule "ê»…" "á„ᅥᆰ") (merge-rule "껆" "á„ᅥᆱ") (merge-rule "껇" "á„ᅥᆲ") (merge-rule "껈" "á„ᅥᆳ") (merge-rule "껉" "á„ᅥᆴ") (merge-rule "껊" "á„ᅥᆵ") (merge-rule "껋" "á„ᅥᆶ") (merge-rule "껌" "á„ᅥᆷ") (merge-rule "ê»" "á„ᅥᆸ") (merge-rule "껎" "á„ᅥᆹ") (merge-rule "ê»" "á„ᅥᆺ") (merge-rule "ê»" "á„ᅥᆻ") (merge-rule "껑" "á„ᅥᆼ") (merge-rule "ê»’" "á„ᅥᆽ") (merge-rule "껓" "á„ᅥᆾ") (merge-rule "ê»”" "á„ᅥᆿ") (merge-rule "껕" "á„ᅥᇀ") (merge-rule "ê»–" "á„á…¥á‡") (merge-rule "ê»—" "á„ᅥᇂ") (merge-rule "께" "á„á…¦~b") (merge-rule "ê»™" "á„ᅦᆨ") (merge-rule "껚" "á„ᅦᆩ") (merge-rule "ê»›" "á„ᅦᆪ") (merge-rule "껜" "á„ᅦᆫ") (merge-rule "ê»" "á„ᅦᆬ") (merge-rule "껞" "á„ᅦᆭ") (merge-rule "껟" "á„ᅦᆮ") (merge-rule "ê» " "á„ᅦᆯ") (merge-rule "껡" "á„ᅦᆰ") (merge-rule "껢" "á„ᅦᆱ") (merge-rule "껣" "á„ᅦᆲ") (merge-rule "껤" "á„ᅦᆳ") (merge-rule "껥" "á„ᅦᆴ") (merge-rule "껦" "á„ᅦᆵ") (merge-rule "ê»§" "á„ᅦᆶ") (merge-rule "껨" "á„ᅦᆷ") (merge-rule "껩" "á„ᅦᆸ") (merge-rule "껪" "á„ᅦᆹ") (merge-rule "껫" "á„ᅦᆺ") (merge-rule "껬" "á„ᅦᆻ") (merge-rule "ê»­" "á„ᅦᆼ") (merge-rule "ê»®" "á„ᅦᆽ") (merge-rule "껯" "á„ᅦᆾ") (merge-rule "ê»°" "á„ᅦᆿ") (merge-rule "ê»±" "á„ᅦᇀ") (merge-rule "껲" "á„á…¦á‡") (merge-rule "껳" "á„ᅦᇂ") (merge-rule "ê»´" "á„á…§~b") (merge-rule "껵" "á„ᅧᆨ") (merge-rule "ê»¶" "á„ᅧᆩ") (merge-rule "ê»·" "á„ᅧᆪ") (merge-rule "껸" "á„ᅧᆫ") (merge-rule "껹" "á„ᅧᆬ") (merge-rule "껺" "á„ᅧᆭ") (merge-rule "ê»»" "á„ᅧᆮ") (merge-rule "껼" "á„ᅧᆯ") (merge-rule "껽" "á„ᅧᆰ") (merge-rule "껾" "á„ᅧᆱ") (merge-rule "껿" "á„ᅧᆲ") (merge-rule "ê¼€" "á„ᅧᆳ") (merge-rule "ê¼" "á„ᅧᆴ") (merge-rule "꼂" "á„ᅧᆵ") (merge-rule "꼃" "á„ᅧᆶ") (merge-rule "꼄" "á„ᅧᆷ") (merge-rule "ê¼…" "á„ᅧᆸ") (merge-rule "꼆" "á„ᅧᆹ") (merge-rule "꼇" "á„ᅧᆺ") (merge-rule "꼈" "á„ᅧᆻ") (merge-rule "꼉" "á„ᅧᆼ") (merge-rule "꼊" "á„ᅧᆽ") (merge-rule "꼋" "á„ᅧᆾ") (merge-rule "꼌" "á„ᅧᆿ") (merge-rule "ê¼" "á„ᅧᇀ") (merge-rule "꼎" "á„á…§á‡") (merge-rule "ê¼" "á„ᅧᇂ") (merge-rule "ê¼" "á„á…¨~b") (merge-rule "꼑" "á„ᅨᆨ") (merge-rule "ê¼’" "á„ᅨᆩ") (merge-rule "꼓" "á„ᅨᆪ") (merge-rule "ê¼”" "á„ᅨᆫ") (merge-rule "꼕" "á„ᅨᆬ") (merge-rule "ê¼–" "á„ᅨᆭ") (merge-rule "ê¼—" "á„ᅨᆮ") (merge-rule "꼘" "á„ᅨᆯ") (merge-rule "ê¼™" "á„ᅨᆰ") (merge-rule "꼚" "á„ᅨᆱ") (merge-rule "ê¼›" "á„ᅨᆲ") (merge-rule "꼜" "á„ᅨᆳ") (merge-rule "ê¼" "á„ᅨᆴ") (merge-rule "꼞" "á„ᅨᆵ") (merge-rule "꼟" "á„ᅨᆶ") (merge-rule "ê¼ " "á„ᅨᆷ") (merge-rule "꼡" "á„ᅨᆸ") (merge-rule "ê¼¢" "á„ᅨᆹ") (merge-rule "ê¼£" "á„ᅨᆺ") (merge-rule "꼤" "á„ᅨᆻ") (merge-rule "ê¼¥" "á„ᅨᆼ") (merge-rule "꼦" "á„ᅨᆽ") (merge-rule "ê¼§" "á„ᅨᆾ") (merge-rule "꼨" "á„ᅨᆿ") (merge-rule "꼩" "á„ᅨᇀ") (merge-rule "꼪" "á„á…¨á‡") (merge-rule "꼫" "á„ᅨᇂ") (merge-rule "꼬" "á„á…©~b") (merge-rule "ê¼­" "á„ᅩᆨ") (merge-rule "ê¼®" "á„ᅩᆩ") (merge-rule "꼯" "á„ᅩᆪ") (merge-rule "ê¼°" "á„ᅩᆫ") (merge-rule "ê¼±" "á„ᅩᆬ") (merge-rule "ê¼²" "á„ᅩᆭ") (merge-rule "ê¼³" "á„ᅩᆮ") (merge-rule "ê¼´" "á„ᅩᆯ") (merge-rule "ê¼µ" "á„ᅩᆰ") (merge-rule "ê¼¶" "á„ᅩᆱ") (merge-rule "ê¼·" "á„ᅩᆲ") (merge-rule "꼸" "á„ᅩᆳ") (merge-rule "ê¼¹" "á„ᅩᆴ") (merge-rule "꼺" "á„ᅩᆵ") (merge-rule "ê¼»" "á„ᅩᆶ") (merge-rule "ê¼¼" "á„ᅩᆷ") (merge-rule "ê¼½" "á„ᅩᆸ") (merge-rule "ê¼¾" "á„ᅩᆹ") (merge-rule "꼿" "á„ᅩᆺ") (merge-rule "ê½€" "á„ᅩᆻ") (merge-rule "ê½" "á„ᅩᆼ") (merge-rule "꽂" "á„ᅩᆽ") (merge-rule "꽃" "á„ᅩᆾ") (merge-rule "꽄" "á„ᅩᆿ") (merge-rule "ê½…" "á„ᅩᇀ") (merge-rule "꽆" "á„á…©á‡") (merge-rule "꽇" "á„ᅩᇂ") (merge-rule "꽈" "á„á…ª~b") (merge-rule "꽉" "á„ᅪᆨ") (merge-rule "꽊" "á„ᅪᆩ") (merge-rule "꽋" "á„ᅪᆪ") (merge-rule "꽌" "á„ᅪᆫ") (merge-rule "ê½" "á„ᅪᆬ") (merge-rule "꽎" "á„ᅪᆭ") (merge-rule "ê½" "á„ᅪᆮ") (merge-rule "ê½" "á„ᅪᆯ") (merge-rule "꽑" "á„ᅪᆰ") (merge-rule "ê½’" "á„ᅪᆱ") (merge-rule "꽓" "á„ᅪᆲ") (merge-rule "ê½”" "á„ᅪᆳ") (merge-rule "꽕" "á„ᅪᆴ") (merge-rule "ê½–" "á„ᅪᆵ") (merge-rule "ê½—" "á„ᅪᆶ") (merge-rule "꽘" "á„ᅪᆷ") (merge-rule "ê½™" "á„ᅪᆸ") (merge-rule "꽚" "á„ᅪᆹ") (merge-rule "ê½›" "á„ᅪᆺ") (merge-rule "꽜" "á„ᅪᆻ") (merge-rule "ê½" "á„ᅪᆼ") (merge-rule "꽞" "á„ᅪᆽ") (merge-rule "꽟" "á„ᅪᆾ") (merge-rule "ê½ " "á„ᅪᆿ") (merge-rule "꽡" "á„ᅪᇀ") (merge-rule "ê½¢" "á„á…ªá‡") (merge-rule "ê½£" "á„ᅪᇂ") (merge-rule "꽤" "á„á…«~b") (merge-rule "ê½¥" "á„ᅫᆨ") (merge-rule "꽦" "á„ᅫᆩ") (merge-rule "ê½§" "á„ᅫᆪ") (merge-rule "꽨" "á„ᅫᆫ") (merge-rule "꽩" "á„ᅫᆬ") (merge-rule "꽪" "á„ᅫᆭ") (merge-rule "꽫" "á„ᅫᆮ") (merge-rule "꽬" "á„ᅫᆯ") (merge-rule "ê½­" "á„ᅫᆰ") (merge-rule "ê½®" "á„ᅫᆱ") (merge-rule "꽯" "á„ᅫᆲ") (merge-rule "ê½°" "á„ᅫᆳ") (merge-rule "ê½±" "á„ᅫᆴ") (merge-rule "ê½²" "á„ᅫᆵ") (merge-rule "ê½³" "á„ᅫᆶ") (merge-rule "ê½´" "á„ᅫᆷ") (merge-rule "ê½µ" "á„ᅫᆸ") (merge-rule "ê½¶" "á„ᅫᆹ") (merge-rule "ê½·" "á„ᅫᆺ") (merge-rule "꽸" "á„ᅫᆻ") (merge-rule "ê½¹" "á„ᅫᆼ") (merge-rule "꽺" "á„ᅫᆽ") (merge-rule "ê½»" "á„ᅫᆾ") (merge-rule "ê½¼" "á„ᅫᆿ") (merge-rule "ê½½" "á„ᅫᇀ") (merge-rule "ê½¾" "á„á…«á‡") (merge-rule "꽿" "á„ᅫᇂ") (merge-rule "ê¾€" "á„á…¬~b") (merge-rule "ê¾" "á„ᅬᆨ") (merge-rule "꾂" "á„ᅬᆩ") (merge-rule "꾃" "á„ᅬᆪ") (merge-rule "꾄" "á„ᅬᆫ") (merge-rule "ê¾…" "á„ᅬᆬ") (merge-rule "꾆" "á„ᅬᆭ") (merge-rule "꾇" "á„ᅬᆮ") (merge-rule "꾈" "á„ᅬᆯ") (merge-rule "꾉" "á„ᅬᆰ") (merge-rule "꾊" "á„ᅬᆱ") (merge-rule "꾋" "á„ᅬᆲ") (merge-rule "꾌" "á„ᅬᆳ") (merge-rule "ê¾" "á„ᅬᆴ") (merge-rule "꾎" "á„ᅬᆵ") (merge-rule "ê¾" "á„ᅬᆶ") (merge-rule "ê¾" "á„ᅬᆷ") (merge-rule "꾑" "á„ᅬᆸ") (merge-rule "ê¾’" "á„ᅬᆹ") (merge-rule "꾓" "á„ᅬᆺ") (merge-rule "ê¾”" "á„ᅬᆻ") (merge-rule "꾕" "á„ᅬᆼ") (merge-rule "ê¾–" "á„ᅬᆽ") (merge-rule "ê¾—" "á„ᅬᆾ") (merge-rule "꾘" "á„ᅬᆿ") (merge-rule "ê¾™" "á„ᅬᇀ") (merge-rule "꾚" "á„á…¬á‡") (merge-rule "ê¾›" "á„ᅬᇂ") (merge-rule "꾜" "á„á…­~b") (merge-rule "ê¾" "á„ᅭᆨ") (merge-rule "꾞" "á„ᅭᆩ") (merge-rule "꾟" "á„ᅭᆪ") (merge-rule "ê¾ " "á„ᅭᆫ") (merge-rule "꾡" "á„ᅭᆬ") (merge-rule "ê¾¢" "á„ᅭᆭ") (merge-rule "ê¾£" "á„ᅭᆮ") (merge-rule "꾤" "á„ᅭᆯ") (merge-rule "ê¾¥" "á„ᅭᆰ") (merge-rule "꾦" "á„ᅭᆱ") (merge-rule "ê¾§" "á„ᅭᆲ") (merge-rule "꾨" "á„ᅭᆳ") (merge-rule "꾩" "á„ᅭᆴ") (merge-rule "꾪" "á„ᅭᆵ") (merge-rule "꾫" "á„ᅭᆶ") (merge-rule "꾬" "á„ᅭᆷ") (merge-rule "ê¾­" "á„ᅭᆸ") (merge-rule "ê¾®" "á„ᅭᆹ") (merge-rule "꾯" "á„ᅭᆺ") (merge-rule "ê¾°" "á„ᅭᆻ") (merge-rule "ê¾±" "á„ᅭᆼ") (merge-rule "ê¾²" "á„ᅭᆽ") (merge-rule "ê¾³" "á„ᅭᆾ") (merge-rule "ê¾´" "á„ᅭᆿ") (merge-rule "ê¾µ" "á„ᅭᇀ") (merge-rule "ê¾¶" "á„á…­á‡") (merge-rule "ê¾·" "á„ᅭᇂ") (merge-rule "꾸" "á„á…®~b") (merge-rule "ê¾¹" "á„ᅮᆨ") (merge-rule "꾺" "á„ᅮᆩ") (merge-rule "ê¾»" "á„ᅮᆪ") (merge-rule "ê¾¼" "á„ᅮᆫ") (merge-rule "ê¾½" "á„ᅮᆬ") (merge-rule "ê¾¾" "á„ᅮᆭ") (merge-rule "꾿" "á„ᅮᆮ") (merge-rule "ê¿€" "á„ᅮᆯ") (merge-rule "ê¿" "á„ᅮᆰ") (merge-rule "ê¿‚" "á„ᅮᆱ") (merge-rule "꿃" "á„ᅮᆲ") (merge-rule "ê¿„" "á„ᅮᆳ") (merge-rule "ê¿…" "á„ᅮᆴ") (merge-rule "꿆" "á„ᅮᆵ") (merge-rule "꿇" "á„ᅮᆶ") (merge-rule "꿈" "á„ᅮᆷ") (merge-rule "꿉" "á„ᅮᆸ") (merge-rule "꿊" "á„ᅮᆹ") (merge-rule "ê¿‹" "á„ᅮᆺ") (merge-rule "꿌" "á„ᅮᆻ") (merge-rule "ê¿" "á„ᅮᆼ") (merge-rule "꿎" "á„ᅮᆽ") (merge-rule "ê¿" "á„ᅮᆾ") (merge-rule "ê¿" "á„ᅮᆿ") (merge-rule "ê¿‘" "á„ᅮᇀ") (merge-rule "ê¿’" "á„á…®á‡") (merge-rule "ê¿“" "á„ᅮᇂ") (merge-rule "ê¿”" "á„á…¯~b") (merge-rule "ê¿•" "á„ᅯᆨ") (merge-rule "ê¿–" "á„ᅯᆩ") (merge-rule "ê¿—" "á„ᅯᆪ") (merge-rule "꿘" "á„ᅯᆫ") (merge-rule "ê¿™" "á„ᅯᆬ") (merge-rule "꿚" "á„ᅯᆭ") (merge-rule "ê¿›" "á„ᅯᆮ") (merge-rule "꿜" "á„ᅯᆯ") (merge-rule "ê¿" "á„ᅯᆰ") (merge-rule "꿞" "á„ᅯᆱ") (merge-rule "꿟" "á„ᅯᆲ") (merge-rule "ê¿ " "á„ᅯᆳ") (merge-rule "ê¿¡" "á„ᅯᆴ") (merge-rule "ê¿¢" "á„ᅯᆵ") (merge-rule "ê¿£" "á„ᅯᆶ") (merge-rule "꿤" "á„ᅯᆷ") (merge-rule "ê¿¥" "á„ᅯᆸ") (merge-rule "꿦" "á„ᅯᆹ") (merge-rule "ê¿§" "á„ᅯᆺ") (merge-rule "꿨" "á„ᅯᆻ") (merge-rule "ê¿©" "á„ᅯᆼ") (merge-rule "꿪" "á„ᅯᆽ") (merge-rule "ê¿«" "á„ᅯᆾ") (merge-rule "꿬" "á„ᅯᆿ") (merge-rule "ê¿­" "á„ᅯᇀ") (merge-rule "ê¿®" "á„á…¯á‡") (merge-rule "꿯" "á„ᅯᇂ") (merge-rule "ê¿°" "á„á…°~b") (merge-rule "꿱" "á„ᅰᆨ") (merge-rule "꿲" "á„ᅰᆩ") (merge-rule "꿳" "á„ᅰᆪ") (merge-rule "ê¿´" "á„ᅰᆫ") (merge-rule "꿵" "á„ᅰᆬ") (merge-rule "ê¿¶" "á„ᅰᆭ") (merge-rule "ê¿·" "á„ᅰᆮ") (merge-rule "꿸" "á„ᅰᆯ") (merge-rule "꿹" "á„ᅰᆰ") (merge-rule "꿺" "á„ᅰᆱ") (merge-rule "ê¿»" "á„ᅰᆲ") (merge-rule "꿼" "á„ᅰᆳ") (merge-rule "꿽" "á„ᅰᆴ") (merge-rule "꿾" "á„ᅰᆵ") (merge-rule "ê¿¿" "á„ᅰᆶ") (merge-rule "뀀" "á„ᅰᆷ") (merge-rule "ë€" "á„ᅰᆸ") (merge-rule "뀂" "á„ᅰᆹ") (merge-rule "뀃" "á„ᅰᆺ") (merge-rule "뀄" "á„ᅰᆻ") (merge-rule "뀅" "á„ᅰᆼ") (merge-rule "뀆" "á„ᅰᆽ") (merge-rule "뀇" "á„ᅰᆾ") (merge-rule "뀈" "á„ᅰᆿ") (merge-rule "뀉" "á„ᅰᇀ") (merge-rule "뀊" "á„á…°á‡") (merge-rule "뀋" "á„ᅰᇂ") (merge-rule "뀌" "á„á…±~b") (merge-rule "ë€" "á„ᅱᆨ") (merge-rule "뀎" "á„ᅱᆩ") (merge-rule "ë€" "á„ᅱᆪ") (merge-rule "ë€" "á„ᅱᆫ") (merge-rule "뀑" "á„ᅱᆬ") (merge-rule "뀒" "á„ᅱᆭ") (merge-rule "뀓" "á„ᅱᆮ") (merge-rule "뀔" "á„ᅱᆯ") (merge-rule "뀕" "á„ᅱᆰ") (merge-rule "뀖" "á„ᅱᆱ") (merge-rule "뀗" "á„ᅱᆲ") (merge-rule "뀘" "á„ᅱᆳ") (merge-rule "뀙" "á„ᅱᆴ") (merge-rule "뀚" "á„ᅱᆵ") (merge-rule "뀛" "á„ᅱᆶ") (merge-rule "뀜" "á„ᅱᆷ") (merge-rule "ë€" "á„ᅱᆸ") (merge-rule "뀞" "á„ᅱᆹ") (merge-rule "뀟" "á„ᅱᆺ") (merge-rule "뀠" "á„ᅱᆻ") (merge-rule "뀡" "á„ᅱᆼ") (merge-rule "뀢" "á„ᅱᆽ") (merge-rule "뀣" "á„ᅱᆾ") (merge-rule "뀤" "á„ᅱᆿ") (merge-rule "뀥" "á„ᅱᇀ") (merge-rule "뀦" "á„á…±á‡") (merge-rule "뀧" "á„ᅱᇂ") (merge-rule "뀨" "á„á…²~b") (merge-rule "뀩" "á„ᅲᆨ") (merge-rule "뀪" "á„ᅲᆩ") (merge-rule "뀫" "á„ᅲᆪ") (merge-rule "뀬" "á„ᅲᆫ") (merge-rule "뀭" "á„ᅲᆬ") (merge-rule "뀮" "á„ᅲᆭ") (merge-rule "뀯" "á„ᅲᆮ") (merge-rule "뀰" "á„ᅲᆯ") (merge-rule "뀱" "á„ᅲᆰ") (merge-rule "뀲" "á„ᅲᆱ") (merge-rule "뀳" "á„ᅲᆲ") (merge-rule "뀴" "á„ᅲᆳ") (merge-rule "뀵" "á„ᅲᆴ") (merge-rule "뀶" "á„ᅲᆵ") (merge-rule "뀷" "á„ᅲᆶ") (merge-rule "뀸" "á„ᅲᆷ") (merge-rule "뀹" "á„ᅲᆸ") (merge-rule "뀺" "á„ᅲᆹ") (merge-rule "뀻" "á„ᅲᆺ") (merge-rule "뀼" "á„ᅲᆻ") (merge-rule "뀽" "á„ᅲᆼ") (merge-rule "뀾" "á„ᅲᆽ") (merge-rule "뀿" "á„ᅲᆾ") (merge-rule "ë€" "á„ᅲᆿ") (merge-rule "ë" "á„ᅲᇀ") (merge-rule "ë‚" "á„á…²á‡") (merge-rule "ëƒ" "á„ᅲᇂ") (merge-rule "ë„" "á„á…³~b") (merge-rule "ë…" "á„ᅳᆨ") (merge-rule "ë†" "á„ᅳᆩ") (merge-rule "ë‡" "á„ᅳᆪ") (merge-rule "ëˆ" "á„ᅳᆫ") (merge-rule "ë‰" "á„ᅳᆬ") (merge-rule "ëŠ" "á„ᅳᆭ") (merge-rule "ë‹" "á„ᅳᆮ") (merge-rule "ëŒ" "á„ᅳᆯ") (merge-rule "ë" "á„ᅳᆰ") (merge-rule "ëŽ" "á„ᅳᆱ") (merge-rule "ë" "á„ᅳᆲ") (merge-rule "ë" "á„ᅳᆳ") (merge-rule "ë‘" "á„ᅳᆴ") (merge-rule "ë’" "á„ᅳᆵ") (merge-rule "ë“" "á„ᅳᆶ") (merge-rule "ë”" "á„ᅳᆷ") (merge-rule "ë•" "á„ᅳᆸ") (merge-rule "ë–" "á„ᅳᆹ") (merge-rule "ë—" "á„ᅳᆺ") (merge-rule "ë˜" "á„ᅳᆻ") (merge-rule "ë™" "á„ᅳᆼ") (merge-rule "ëš" "á„ᅳᆽ") (merge-rule "ë›" "á„ᅳᆾ") (merge-rule "ëœ" "á„ᅳᆿ") (merge-rule "ë" "á„ᅳᇀ") (merge-rule "ëž" "á„á…³á‡") (merge-rule "ëŸ" "á„ᅳᇂ") (merge-rule "ë " "á„á…´~b") (merge-rule "ë¡" "á„ᅴᆨ") (merge-rule "ë¢" "á„ᅴᆩ") (merge-rule "ë£" "á„ᅴᆪ") (merge-rule "ë¤" "á„ᅴᆫ") (merge-rule "ë¥" "á„ᅴᆬ") (merge-rule "ë¦" "á„ᅴᆭ") (merge-rule "ë§" "á„ᅴᆮ") (merge-rule "ë¨" "á„ᅴᆯ") (merge-rule "ë©" "á„ᅴᆰ") (merge-rule "ëª" "á„ᅴᆱ") (merge-rule "ë«" "á„ᅴᆲ") (merge-rule "ë¬" "á„ᅴᆳ") (merge-rule "ë­" "á„ᅴᆴ") (merge-rule "ë®" "á„ᅴᆵ") (merge-rule "ë¯" "á„ᅴᆶ") (merge-rule "ë°" "á„ᅴᆷ") (merge-rule "ë±" "á„ᅴᆸ") (merge-rule "ë²" "á„ᅴᆹ") (merge-rule "ë³" "á„ᅴᆺ") (merge-rule "ë´" "á„ᅴᆻ") (merge-rule "ëµ" "á„ᅴᆼ") (merge-rule "ë¶" "á„ᅴᆽ") (merge-rule "ë·" "á„ᅴᆾ") (merge-rule "ë¸" "á„ᅴᆿ") (merge-rule "ë¹" "á„ᅴᇀ") (merge-rule "ëº" "á„á…´á‡") (merge-rule "ë»" "á„ᅴᇂ") (merge-rule "ë¼" "á„á…µ~b") (merge-rule "ë½" "á„ᅵᆨ") (merge-rule "ë¾" "á„ᅵᆩ") (merge-rule "ë¿" "á„ᅵᆪ") (merge-rule "ë‚€" "á„ᅵᆫ") (merge-rule "ë‚" "á„ᅵᆬ") (merge-rule "ë‚‚" "á„ᅵᆭ") (merge-rule "낃" "á„ᅵᆮ") (merge-rule "ë‚„" "á„ᅵᆯ") (merge-rule "ë‚…" "á„ᅵᆰ") (merge-rule "낆" "á„ᅵᆱ") (merge-rule "낇" "á„ᅵᆲ") (merge-rule "낈" "á„ᅵᆳ") (merge-rule "낉" "á„ᅵᆴ") (merge-rule "낊" "á„ᅵᆵ") (merge-rule "ë‚‹" "á„ᅵᆶ") (merge-rule "낌" "á„ᅵᆷ") (merge-rule "ë‚" "á„ᅵᆸ") (merge-rule "낎" "á„ᅵᆹ") (merge-rule "ë‚" "á„ᅵᆺ") (merge-rule "ë‚" "á„ᅵᆻ") (merge-rule "ë‚‘" "á„ᅵᆼ") (merge-rule "ë‚’" "á„ᅵᆽ") (merge-rule "ë‚“" "á„ᅵᆾ") (merge-rule "ë‚”" "á„ᅵᆿ") (merge-rule "ë‚•" "á„ᅵᇀ") (merge-rule "ë‚–" "á„á…µá‡") (merge-rule "ë‚—" "á„ᅵᇂ") (merge-rule "나" "á„‚á…¡~b") (merge-rule "ë‚™" "낙") (merge-rule "낚" "낚") (merge-rule "ë‚›" "낛") (merge-rule "난" "난") (merge-rule "ë‚" "낝") (merge-rule "낞" "낞") (merge-rule "낟" "낟") (merge-rule "ë‚ " "날") (merge-rule "ë‚¡" "낡") (merge-rule "ë‚¢" "낢") (merge-rule "ë‚£" "낣") (merge-rule "낤" "낤") (merge-rule "ë‚¥" "낥") (merge-rule "낦" "낦") (merge-rule "ë‚§" "낧") (merge-rule "남" "남") (merge-rule "ë‚©" "납") (merge-rule "낪" "낪") (merge-rule "ë‚«" "낫") (merge-rule "났" "났") (merge-rule "ë‚­" "낭") (merge-rule "ë‚®" "낮") (merge-rule "낯" "낯") (merge-rule "ë‚°" "낰") (merge-rule "낱" "낱") (merge-rule "낲" "á„‚á…¡á‡") (merge-rule "낳" "낳") (merge-rule "ë‚´" "á„‚á…¢~b") (merge-rule "낵" "낵") (merge-rule "ë‚¶" "낶") (merge-rule "ë‚·" "낷") (merge-rule "낸" "낸") (merge-rule "낹" "낹") (merge-rule "낺" "낺") (merge-rule "ë‚»" "낻") (merge-rule "낼" "낼") (merge-rule "낽" "낽") (merge-rule "낾" "낾") (merge-rule "ë‚¿" "낿") (merge-rule "냀" "냀") (merge-rule "ëƒ" "냁") (merge-rule "냂" "냂") (merge-rule "냃" "냃") (merge-rule "냄" "냄") (merge-rule "냅" "냅") (merge-rule "냆" "냆") (merge-rule "냇" "냇") (merge-rule "냈" "냈") (merge-rule "냉" "냉") (merge-rule "냊" "냊") (merge-rule "냋" "냋") (merge-rule "냌" "냌") (merge-rule "ëƒ" "냍") (merge-rule "냎" "á„‚á…¢á‡") (merge-rule "ëƒ" "냏") (merge-rule "ëƒ" "á„‚á…£~b") (merge-rule "냑" "냑") (merge-rule "냒" "냒") (merge-rule "냓" "냓") (merge-rule "냔" "냔") (merge-rule "냕" "냕") (merge-rule "냖" "냖") (merge-rule "냗" "냗") (merge-rule "냘" "냘") (merge-rule "냙" "냙") (merge-rule "냚" "냚") (merge-rule "냛" "냛") (merge-rule "냜" "냜") (merge-rule "ëƒ" "냝") (merge-rule "냞" "냞") (merge-rule "냟" "냟") (merge-rule "냠" "냠") (merge-rule "냡" "냡") (merge-rule "냢" "냢") (merge-rule "냣" "냣") (merge-rule "냤" "냤") (merge-rule "냥" "냥") (merge-rule "냦" "냦") (merge-rule "냧" "냧") (merge-rule "냨" "냨") (merge-rule "냩" "냩") (merge-rule "냪" "á„‚á…£á‡") (merge-rule "냫" "냫") (merge-rule "냬" "á„‚á…¤~b") (merge-rule "냭" "냭") (merge-rule "냮" "냮") (merge-rule "냯" "냯") (merge-rule "냰" "냰") (merge-rule "냱" "냱") (merge-rule "냲" "냲") (merge-rule "냳" "냳") (merge-rule "냴" "냴") (merge-rule "냵" "냵") (merge-rule "냶" "냶") (merge-rule "냷" "냷") (merge-rule "냸" "냸") (merge-rule "냹" "냹") (merge-rule "냺" "냺") (merge-rule "냻" "냻") (merge-rule "냼" "냼") (merge-rule "냽" "냽") (merge-rule "냾" "냾") (merge-rule "냿" "냿") (merge-rule "ë„€" "넀") (merge-rule "ë„" "넁") (merge-rule "ë„‚" "넂") (merge-rule "넃" "넃") (merge-rule "ë„„" "넄") (merge-rule "ë„…" "넅") (merge-rule "넆" "á„‚á…¤á‡") (merge-rule "넇" "넇") (merge-rule "너" "á„‚á…¥~b") (merge-rule "넉" "넉") (merge-rule "넊" "넊") (merge-rule "ë„‹" "넋") (merge-rule "넌" "넌") (merge-rule "ë„" "넍") (merge-rule "넎" "넎") (merge-rule "ë„" "넏") (merge-rule "ë„" "널") (merge-rule "ë„‘" "넑") (merge-rule "ë„’" "넒") (merge-rule "ë„“" "넓") (merge-rule "ë„”" "넔") (merge-rule "ë„•" "넕") (merge-rule "ë„–" "넖") (merge-rule "ë„—" "넗") (merge-rule "넘" "넘") (merge-rule "ë„™" "넙") (merge-rule "넚" "넚") (merge-rule "ë„›" "넛") (merge-rule "넜" "넜") (merge-rule "ë„" "넝") (merge-rule "넞" "넞") (merge-rule "넟" "넟") (merge-rule "ë„ " "넠") (merge-rule "ë„¡" "넡") (merge-rule "ë„¢" "á„‚á…¥á‡") (merge-rule "ë„£" "넣") (merge-rule "네" "á„‚á…¦~b") (merge-rule "ë„¥" "넥") (merge-rule "넦" "넦") (merge-rule "ë„§" "넧") (merge-rule "넨" "넨") (merge-rule "ë„©" "넩") (merge-rule "넪" "넪") (merge-rule "ë„«" "넫") (merge-rule "넬" "넬") (merge-rule "ë„­" "넭") (merge-rule "ë„®" "넮") (merge-rule "넯" "넯") (merge-rule "ë„°" "넰") (merge-rule "넱" "넱") (merge-rule "넲" "넲") (merge-rule "넳" "넳") (merge-rule "ë„´" "넴") (merge-rule "넵" "넵") (merge-rule "ë„¶" "넶") (merge-rule "ë„·" "넷") (merge-rule "넸" "넸") (merge-rule "넹" "넹") (merge-rule "넺" "넺") (merge-rule "ë„»" "넻") (merge-rule "넼" "넼") (merge-rule "넽" "넽") (merge-rule "넾" "á„‚á…¦á‡") (merge-rule "ë„¿" "넿") (merge-rule "ë…€" "á„‚á…§~b") (merge-rule "ë…" "녁") (merge-rule "ë…‚" "녂") (merge-rule "ë…ƒ" "녃") (merge-rule "ë…„" "년") (merge-rule "ë……" "녅") (merge-rule "ë…†" "녆") (merge-rule "ë…‡" "녇") (merge-rule "ë…ˆ" "녈") (merge-rule "ë…‰" "녉") (merge-rule "ë…Š" "녊") (merge-rule "ë…‹" "녋") (merge-rule "ë…Œ" "녌") (merge-rule "ë…" "녍") (merge-rule "ë…Ž" "녎") (merge-rule "ë…" "녏") (merge-rule "ë…" "념") (merge-rule "ë…‘" "녑") (merge-rule "ë…’" "녒") (merge-rule "ë…“" "녓") (merge-rule "ë…”" "녔") (merge-rule "ë…•" "녕") (merge-rule "ë…–" "녖") (merge-rule "ë…—" "녗") (merge-rule "ë…˜" "녘") (merge-rule "ë…™" "녙") (merge-rule "ë…š" "á„‚á…§á‡") (merge-rule "ë…›" "녛") (merge-rule "ë…œ" "á„‚á…¨~b") (merge-rule "ë…" "녝") (merge-rule "ë…ž" "녞") (merge-rule "ë…Ÿ" "녟") (merge-rule "ë… " "녠") (merge-rule "ë…¡" "녡") (merge-rule "ë…¢" "녢") (merge-rule "ë…£" "녣") (merge-rule "ë…¤" "녤") (merge-rule "ë…¥" "녥") (merge-rule "ë…¦" "녦") (merge-rule "ë…§" "녧") (merge-rule "ë…¨" "녨") (merge-rule "ë…©" "녩") (merge-rule "ë…ª" "녪") (merge-rule "ë…«" "녫") (merge-rule "ë…¬" "녬") (merge-rule "ë…­" "녭") (merge-rule "ë…®" "녮") (merge-rule "ë…¯" "녯") (merge-rule "ë…°" "녰") (merge-rule "ë…±" "녱") (merge-rule "ë…²" "녲") (merge-rule "ë…³" "녳") (merge-rule "ë…´" "녴") (merge-rule "ë…µ" "녵") (merge-rule "ë…¶" "á„‚á…¨á‡") (merge-rule "ë…·" "녷") (merge-rule "ë…¸" "á„‚á…©~b") (merge-rule "ë…¹" "녹") (merge-rule "ë…º" "녺") (merge-rule "ë…»" "녻") (merge-rule "ë…¼" "논") (merge-rule "ë…½" "녽") (merge-rule "ë…¾" "녾") (merge-rule "ë…¿" "녿") (merge-rule "놀" "놀") (merge-rule "ë†" "놁") (merge-rule "놂" "놂") (merge-rule "놃" "놃") (merge-rule "놄" "놄") (merge-rule "놅" "놅") (merge-rule "놆" "놆") (merge-rule "놇" "놇") (merge-rule "놈" "놈") (merge-rule "놉" "놉") (merge-rule "놊" "놊") (merge-rule "놋" "놋") (merge-rule "놌" "놌") (merge-rule "ë†" "농") (merge-rule "놎" "놎") (merge-rule "ë†" "놏") (merge-rule "ë†" "놐") (merge-rule "놑" "놑") (merge-rule "높" "á„‚á…©á‡") (merge-rule "놓" "놓") (merge-rule "놔" "á„‚á…ª~b") (merge-rule "놕" "놕") (merge-rule "놖" "놖") (merge-rule "놗" "놗") (merge-rule "놘" "놘") (merge-rule "놙" "놙") (merge-rule "놚" "놚") (merge-rule "놛" "놛") (merge-rule "놜" "놜") (merge-rule "ë†" "놝") (merge-rule "놞" "놞") (merge-rule "놟" "놟") (merge-rule "놠" "놠") (merge-rule "놡" "놡") (merge-rule "놢" "놢") (merge-rule "놣" "놣") (merge-rule "놤" "놤") (merge-rule "놥" "놥") (merge-rule "놦" "놦") (merge-rule "놧" "놧") (merge-rule "놨" "놨") (merge-rule "놩" "놩") (merge-rule "놪" "놪") (merge-rule "놫" "놫") (merge-rule "놬" "놬") (merge-rule "놭" "놭") (merge-rule "놮" "á„‚á…ªá‡") (merge-rule "놯" "놯") (merge-rule "놰" "á„‚á…«~b") (merge-rule "놱" "놱") (merge-rule "놲" "놲") (merge-rule "놳" "놳") (merge-rule "놴" "놴") (merge-rule "놵" "놵") (merge-rule "놶" "놶") (merge-rule "놷" "놷") (merge-rule "놸" "놸") (merge-rule "놹" "놹") (merge-rule "놺" "놺") (merge-rule "놻" "놻") (merge-rule "놼" "놼") (merge-rule "놽" "놽") (merge-rule "놾" "놾") (merge-rule "놿" "놿") (merge-rule "뇀" "뇀") (merge-rule "ë‡" "뇁") (merge-rule "뇂" "뇂") (merge-rule "뇃" "뇃") (merge-rule "뇄" "뇄") (merge-rule "뇅" "뇅") (merge-rule "뇆" "뇆") (merge-rule "뇇" "뇇") (merge-rule "뇈" "뇈") (merge-rule "뇉" "뇉") (merge-rule "뇊" "á„‚á…«á‡") (merge-rule "뇋" "뇋") (merge-rule "뇌" "á„‚á…¬~b") (merge-rule "ë‡" "뇍") (merge-rule "뇎" "뇎") (merge-rule "ë‡" "뇏") (merge-rule "ë‡" "뇐") (merge-rule "뇑" "뇑") (merge-rule "뇒" "뇒") (merge-rule "뇓" "뇓") (merge-rule "뇔" "뇔") (merge-rule "뇕" "뇕") (merge-rule "뇖" "뇖") (merge-rule "뇗" "뇗") (merge-rule "뇘" "뇘") (merge-rule "뇙" "뇙") (merge-rule "뇚" "뇚") (merge-rule "뇛" "뇛") (merge-rule "뇜" "뇜") (merge-rule "ë‡" "뇝") (merge-rule "뇞" "뇞") (merge-rule "뇟" "뇟") (merge-rule "뇠" "뇠") (merge-rule "뇡" "뇡") (merge-rule "뇢" "뇢") (merge-rule "뇣" "뇣") (merge-rule "뇤" "뇤") (merge-rule "뇥" "뇥") (merge-rule "뇦" "á„‚á…¬á‡") (merge-rule "뇧" "뇧") (merge-rule "뇨" "á„‚á…­~b") (merge-rule "뇩" "뇩") (merge-rule "뇪" "뇪") (merge-rule "뇫" "뇫") (merge-rule "뇬" "뇬") (merge-rule "뇭" "뇭") (merge-rule "뇮" "뇮") (merge-rule "뇯" "뇯") (merge-rule "뇰" "뇰") (merge-rule "뇱" "뇱") (merge-rule "뇲" "뇲") (merge-rule "뇳" "뇳") (merge-rule "뇴" "뇴") (merge-rule "뇵" "뇵") (merge-rule "뇶" "뇶") (merge-rule "뇷" "뇷") (merge-rule "뇸" "뇸") (merge-rule "뇹" "뇹") (merge-rule "뇺" "뇺") (merge-rule "뇻" "뇻") (merge-rule "뇼" "뇼") (merge-rule "뇽" "뇽") (merge-rule "뇾" "뇾") (merge-rule "뇿" "뇿") (merge-rule "눀" "눀") (merge-rule "ëˆ" "눁") (merge-rule "눂" "á„‚á…­á‡") (merge-rule "눃" "눃") (merge-rule "누" "á„‚á…®~b") (merge-rule "눅" "눅") (merge-rule "눆" "눆") (merge-rule "눇" "눇") (merge-rule "눈" "눈") (merge-rule "눉" "눉") (merge-rule "눊" "눊") (merge-rule "눋" "눋") (merge-rule "눌" "눌") (merge-rule "ëˆ" "눍") (merge-rule "눎" "눎") (merge-rule "ëˆ" "눏") (merge-rule "ëˆ" "눐") (merge-rule "눑" "눑") (merge-rule "눒" "눒") (merge-rule "눓" "눓") (merge-rule "눔" "눔") (merge-rule "눕" "눕") (merge-rule "눖" "눖") (merge-rule "눗" "눗") (merge-rule "눘" "눘") (merge-rule "눙" "눙") (merge-rule "눚" "눚") (merge-rule "눛" "눛") (merge-rule "눜" "눜") (merge-rule "ëˆ" "눝") (merge-rule "눞" "á„‚á…®á‡") (merge-rule "눟" "눟") (merge-rule "눠" "á„‚á…¯~b") (merge-rule "눡" "눡") (merge-rule "눢" "눢") (merge-rule "눣" "눣") (merge-rule "눤" "눤") (merge-rule "눥" "눥") (merge-rule "눦" "눦") (merge-rule "눧" "눧") (merge-rule "눨" "눨") (merge-rule "눩" "눩") (merge-rule "눪" "눪") (merge-rule "눫" "눫") (merge-rule "눬" "눬") (merge-rule "눭" "눭") (merge-rule "눮" "눮") (merge-rule "눯" "눯") (merge-rule "눰" "눰") (merge-rule "눱" "눱") (merge-rule "눲" "눲") (merge-rule "눳" "눳") (merge-rule "눴" "눴") (merge-rule "눵" "눵") (merge-rule "눶" "눶") (merge-rule "눷" "눷") (merge-rule "눸" "눸") (merge-rule "눹" "눹") (merge-rule "눺" "á„‚á…¯á‡") (merge-rule "눻" "눻") (merge-rule "눼" "á„‚á…°~b") (merge-rule "눽" "눽") (merge-rule "눾" "눾") (merge-rule "눿" "눿") (merge-rule "뉀" "뉀") (merge-rule "ë‰" "뉁") (merge-rule "뉂" "뉂") (merge-rule "뉃" "뉃") (merge-rule "뉄" "뉄") (merge-rule "뉅" "뉅") (merge-rule "뉆" "뉆") (merge-rule "뉇" "뉇") (merge-rule "뉈" "뉈") (merge-rule "뉉" "뉉") (merge-rule "뉊" "뉊") (merge-rule "뉋" "뉋") (merge-rule "뉌" "뉌") (merge-rule "ë‰" "뉍") (merge-rule "뉎" "뉎") (merge-rule "ë‰" "뉏") (merge-rule "ë‰" "뉐") (merge-rule "뉑" "뉑") (merge-rule "뉒" "뉒") (merge-rule "뉓" "뉓") (merge-rule "뉔" "뉔") (merge-rule "뉕" "뉕") (merge-rule "뉖" "á„‚á…°á‡") (merge-rule "뉗" "뉗") (merge-rule "뉘" "á„‚á…±~b") (merge-rule "뉙" "뉙") (merge-rule "뉚" "뉚") (merge-rule "뉛" "뉛") (merge-rule "뉜" "뉜") (merge-rule "ë‰" "뉝") (merge-rule "뉞" "뉞") (merge-rule "뉟" "뉟") (merge-rule "뉠" "뉠") (merge-rule "뉡" "뉡") (merge-rule "뉢" "뉢") (merge-rule "뉣" "뉣") (merge-rule "뉤" "뉤") (merge-rule "뉥" "뉥") (merge-rule "뉦" "뉦") (merge-rule "뉧" "뉧") (merge-rule "뉨" "뉨") (merge-rule "뉩" "뉩") (merge-rule "뉪" "뉪") (merge-rule "뉫" "뉫") (merge-rule "뉬" "뉬") (merge-rule "뉭" "뉭") (merge-rule "뉮" "뉮") (merge-rule "뉯" "뉯") (merge-rule "뉰" "뉰") (merge-rule "뉱" "뉱") (merge-rule "뉲" "á„‚á…±á‡") (merge-rule "뉳" "뉳") (merge-rule "뉴" "á„‚á…²~b") (merge-rule "뉵" "뉵") (merge-rule "뉶" "뉶") (merge-rule "뉷" "뉷") (merge-rule "뉸" "뉸") (merge-rule "뉹" "뉹") (merge-rule "뉺" "뉺") (merge-rule "뉻" "뉻") (merge-rule "뉼" "뉼") (merge-rule "뉽" "뉽") (merge-rule "뉾" "뉾") (merge-rule "뉿" "뉿") (merge-rule "늀" "늀") (merge-rule "ëŠ" "늁") (merge-rule "늂" "늂") (merge-rule "늃" "늃") (merge-rule "늄" "늄") (merge-rule "늅" "늅") (merge-rule "늆" "늆") (merge-rule "늇" "늇") (merge-rule "늈" "늈") (merge-rule "늉" "늉") (merge-rule "늊" "늊") (merge-rule "늋" "늋") (merge-rule "늌" "늌") (merge-rule "ëŠ" "늍") (merge-rule "늎" "á„‚á…²á‡") (merge-rule "ëŠ" "늏") (merge-rule "ëŠ" "á„‚á…³~b") (merge-rule "늑" "늑") (merge-rule "늒" "늒") (merge-rule "늓" "늓") (merge-rule "는" "는") (merge-rule "늕" "늕") (merge-rule "늖" "늖") (merge-rule "늗" "늗") (merge-rule "늘" "늘") (merge-rule "늙" "늙") (merge-rule "늚" "늚") (merge-rule "늛" "늛") (merge-rule "늜" "늜") (merge-rule "ëŠ" "늝") (merge-rule "늞" "늞") (merge-rule "늟" "늟") (merge-rule "늠" "늠") (merge-rule "늡" "늡") (merge-rule "늢" "늢") (merge-rule "늣" "늣") (merge-rule "늤" "늤") (merge-rule "능" "능") (merge-rule "늦" "늦") (merge-rule "늧" "늧") (merge-rule "늨" "늨") (merge-rule "늩" "늩") (merge-rule "늪" "á„‚á…³á‡") (merge-rule "늫" "늫") (merge-rule "늬" "á„‚á…´~b") (merge-rule "늭" "늭") (merge-rule "늮" "늮") (merge-rule "늯" "늯") (merge-rule "늰" "늰") (merge-rule "늱" "늱") (merge-rule "늲" "늲") (merge-rule "늳" "늳") (merge-rule "늴" "늴") (merge-rule "늵" "늵") (merge-rule "늶" "늶") (merge-rule "늷" "늷") (merge-rule "늸" "늸") (merge-rule "늹" "늹") (merge-rule "늺" "늺") (merge-rule "늻" "늻") (merge-rule "늼" "늼") (merge-rule "늽" "늽") (merge-rule "늾" "늾") (merge-rule "늿" "늿") (merge-rule "ë‹€" "닀") (merge-rule "ë‹" "닁") (merge-rule "ë‹‚" "닂") (merge-rule "닃" "닃") (merge-rule "ë‹„" "닄") (merge-rule "ë‹…" "닅") (merge-rule "닆" "á„‚á…´á‡") (merge-rule "닇" "닇") (merge-rule "니" "á„‚á…µ~b") (merge-rule "닉" "닉") (merge-rule "닊" "닊") (merge-rule "ë‹‹" "닋") (merge-rule "닌" "닌") (merge-rule "ë‹" "닍") (merge-rule "닎" "닎") (merge-rule "ë‹" "닏") (merge-rule "ë‹" "닐") (merge-rule "ë‹‘" "닑") (merge-rule "ë‹’" "닒") (merge-rule "ë‹“" "닓") (merge-rule "ë‹”" "닔") (merge-rule "ë‹•" "닕") (merge-rule "ë‹–" "닖") (merge-rule "ë‹—" "닗") (merge-rule "님" "님") (merge-rule "ë‹™" "닙") (merge-rule "닚" "닚") (merge-rule "ë‹›" "닛") (merge-rule "닜" "닜") (merge-rule "ë‹" "닝") (merge-rule "닞" "닞") (merge-rule "닟" "닟") (merge-rule "ë‹ " "닠") (merge-rule "ë‹¡" "닡") (merge-rule "ë‹¢" "á„‚á…µá‡") (merge-rule "ë‹£" "닣") (merge-rule "다" "다~b") (merge-rule "ë‹¥" "닥") (merge-rule "닦" "닦") (merge-rule "ë‹§" "닧") (merge-rule "단" "단") (merge-rule "ë‹©" "닩") (merge-rule "닪" "닪") (merge-rule "ë‹«" "닫") (merge-rule "달" "달") (merge-rule "ë‹­" "닭") (merge-rule "ë‹®" "닮") (merge-rule "닯" "닯") (merge-rule "ë‹°" "닰") (merge-rule "닱" "닱") (merge-rule "닲" "닲") (merge-rule "닳" "닳") (merge-rule "ë‹´" "담") (merge-rule "답" "답") (merge-rule "ë‹¶" "닶") (merge-rule "ë‹·" "닷") (merge-rule "닸" "닸") (merge-rule "당" "당") (merge-rule "닺" "닺") (merge-rule "ë‹»" "닻") (merge-rule "닼" "닼") (merge-rule "닽" "닽") (merge-rule "닾" "다á‡") (merge-rule "ë‹¿" "닿") (merge-rule "대" "대~b") (merge-rule "ëŒ" "댁") (merge-rule "댂" "댂") (merge-rule "댃" "댃") (merge-rule "댄" "댄") (merge-rule "댅" "댅") (merge-rule "댆" "댆") (merge-rule "댇" "댇") (merge-rule "댈" "댈") (merge-rule "댉" "댉") (merge-rule "댊" "댊") (merge-rule "댋" "댋") (merge-rule "댌" "댌") (merge-rule "ëŒ" "댍") (merge-rule "댎" "댎") (merge-rule "ëŒ" "댏") (merge-rule "ëŒ" "댐") (merge-rule "댑" "댑") (merge-rule "댒" "댒") (merge-rule "댓" "댓") (merge-rule "댔" "댔") (merge-rule "댕" "댕") (merge-rule "댖" "댖") (merge-rule "댗" "댗") (merge-rule "댘" "댘") (merge-rule "댙" "댙") (merge-rule "댚" "대á‡") (merge-rule "댛" "댛") (merge-rule "댜" "댜~b") (merge-rule "ëŒ" "댝") (merge-rule "댞" "댞") (merge-rule "댟" "댟") (merge-rule "댠" "댠") (merge-rule "댡" "댡") (merge-rule "댢" "댢") (merge-rule "댣" "댣") (merge-rule "댤" "댤") (merge-rule "댥" "댥") (merge-rule "댦" "댦") (merge-rule "댧" "댧") (merge-rule "댨" "댨") (merge-rule "댩" "댩") (merge-rule "댪" "댪") (merge-rule "댫" "댫") (merge-rule "댬" "댬") (merge-rule "댭" "댭") (merge-rule "댮" "댮") (merge-rule "댯" "댯") (merge-rule "댰" "댰") (merge-rule "댱" "댱") (merge-rule "댲" "댲") (merge-rule "댳" "댳") (merge-rule "댴" "댴") (merge-rule "댵" "댵") (merge-rule "댶" "댜á‡") (merge-rule "댷" "댷") (merge-rule "댸" "댸~b") (merge-rule "댹" "댹") (merge-rule "댺" "댺") (merge-rule "댻" "댻") (merge-rule "댼" "댼") (merge-rule "댽" "댽") (merge-rule "댾" "댾") (merge-rule "댿" "댿") (merge-rule "ë€" "덀") (merge-rule "ë" "덁") (merge-rule "ë‚" "덂") (merge-rule "ëƒ" "덃") (merge-rule "ë„" "덄") (merge-rule "ë…" "덅") (merge-rule "ë†" "덆") (merge-rule "ë‡" "덇") (merge-rule "ëˆ" "덈") (merge-rule "ë‰" "덉") (merge-rule "ëŠ" "덊") (merge-rule "ë‹" "덋") (merge-rule "ëŒ" "덌") (merge-rule "ë" "덍") (merge-rule "ëŽ" "덎") (merge-rule "ë" "덏") (merge-rule "ë" "덐") (merge-rule "ë‘" "덑") (merge-rule "ë’" "댸á‡") (merge-rule "ë“" "덓") (merge-rule "ë”" "더~b") (merge-rule "ë•" "덕") (merge-rule "ë–" "덖") (merge-rule "ë—" "덗") (merge-rule "ë˜" "던") (merge-rule "ë™" "덙") (merge-rule "ëš" "덚") (merge-rule "ë›" "덛") (merge-rule "ëœ" "덜") (merge-rule "ë" "덝") (merge-rule "ëž" "덞") (merge-rule "ëŸ" "덟") (merge-rule "ë " "덠") (merge-rule "ë¡" "덡") (merge-rule "ë¢" "덢") (merge-rule "ë£" "덣") (merge-rule "ë¤" "덤") (merge-rule "ë¥" "덥") (merge-rule "ë¦" "덦") (merge-rule "ë§" "덧") (merge-rule "ë¨" "덨") (merge-rule "ë©" "덩") (merge-rule "ëª" "덪") (merge-rule "ë«" "덫") (merge-rule "ë¬" "덬") (merge-rule "ë­" "덭") (merge-rule "ë®" "더á‡") (merge-rule "ë¯" "덯") (merge-rule "ë°" "데~b") (merge-rule "ë±" "덱") (merge-rule "ë²" "덲") (merge-rule "ë³" "덳") (merge-rule "ë´" "덴") (merge-rule "ëµ" "덵") (merge-rule "ë¶" "덶") (merge-rule "ë·" "덷") (merge-rule "ë¸" "델") (merge-rule "ë¹" "덹") (merge-rule "ëº" "덺") (merge-rule "ë»" "덻") (merge-rule "ë¼" "덼") (merge-rule "ë½" "덽") (merge-rule "ë¾" "덾") (merge-rule "ë¿" "덿") (merge-rule "뎀" "뎀") (merge-rule "ëŽ" "뎁") (merge-rule "뎂" "뎂") (merge-rule "뎃" "뎃") (merge-rule "뎄" "뎄") (merge-rule "뎅" "뎅") (merge-rule "뎆" "뎆") (merge-rule "뎇" "뎇") (merge-rule "뎈" "뎈") (merge-rule "뎉" "뎉") (merge-rule "뎊" "데á‡") (merge-rule "뎋" "뎋") (merge-rule "뎌" "뎌~b") (merge-rule "ëŽ" "뎍") (merge-rule "뎎" "뎎") (merge-rule "ëŽ" "뎏") (merge-rule "ëŽ" "뎐") (merge-rule "뎑" "뎑") (merge-rule "뎒" "뎒") (merge-rule "뎓" "뎓") (merge-rule "뎔" "뎔") (merge-rule "뎕" "뎕") (merge-rule "뎖" "뎖") (merge-rule "뎗" "뎗") (merge-rule "뎘" "뎘") (merge-rule "뎙" "뎙") (merge-rule "뎚" "뎚") (merge-rule "뎛" "뎛") (merge-rule "뎜" "뎜") (merge-rule "ëŽ" "뎝") (merge-rule "뎞" "뎞") (merge-rule "뎟" "뎟") (merge-rule "뎠" "뎠") (merge-rule "뎡" "뎡") (merge-rule "뎢" "뎢") (merge-rule "뎣" "뎣") (merge-rule "뎤" "뎤") (merge-rule "뎥" "뎥") (merge-rule "뎦" "뎌á‡") (merge-rule "뎧" "뎧") (merge-rule "뎨" "뎨~b") (merge-rule "뎩" "뎩") (merge-rule "뎪" "뎪") (merge-rule "뎫" "뎫") (merge-rule "뎬" "뎬") (merge-rule "뎭" "뎭") (merge-rule "뎮" "뎮") (merge-rule "뎯" "뎯") (merge-rule "뎰" "뎰") (merge-rule "뎱" "뎱") (merge-rule "뎲" "뎲") (merge-rule "뎳" "뎳") (merge-rule "뎴" "뎴") (merge-rule "뎵" "뎵") (merge-rule "뎶" "뎶") (merge-rule "뎷" "뎷") (merge-rule "뎸" "뎸") (merge-rule "뎹" "뎹") (merge-rule "뎺" "뎺") (merge-rule "뎻" "뎻") (merge-rule "뎼" "뎼") (merge-rule "뎽" "뎽") (merge-rule "뎾" "뎾") (merge-rule "뎿" "뎿") (merge-rule "ë€" "돀") (merge-rule "ë" "돁") (merge-rule "ë‚" "뎨á‡") (merge-rule "ëƒ" "돃") (merge-rule "ë„" "도~b") (merge-rule "ë…" "독") (merge-rule "ë†" "돆") (merge-rule "ë‡" "돇") (merge-rule "ëˆ" "돈") (merge-rule "ë‰" "돉") (merge-rule "ëŠ" "돊") (merge-rule "ë‹" "돋") (merge-rule "ëŒ" "돌") (merge-rule "ë" "돍") (merge-rule "ëŽ" "돎") (merge-rule "ë" "돏") (merge-rule "ë" "돐") (merge-rule "ë‘" "돑") (merge-rule "ë’" "돒") (merge-rule "ë“" "돓") (merge-rule "ë”" "돔") (merge-rule "ë•" "돕") (merge-rule "ë–" "돖") (merge-rule "ë—" "돗") (merge-rule "ë˜" "돘") (merge-rule "ë™" "동") (merge-rule "ëš" "돚") (merge-rule "ë›" "돛") (merge-rule "ëœ" "돜") (merge-rule "ë" "돝") (merge-rule "ëž" "도á‡") (merge-rule "ëŸ" "돟") (merge-rule "ë " "돠~b") (merge-rule "ë¡" "돡") (merge-rule "ë¢" "돢") (merge-rule "ë£" "돣") (merge-rule "ë¤" "돤") (merge-rule "ë¥" "돥") (merge-rule "ë¦" "돦") (merge-rule "ë§" "돧") (merge-rule "ë¨" "돨") (merge-rule "ë©" "돩") (merge-rule "ëª" "돪") (merge-rule "ë«" "돫") (merge-rule "ë¬" "돬") (merge-rule "ë­" "돭") (merge-rule "ë®" "돮") (merge-rule "ë¯" "돯") (merge-rule "ë°" "돰") (merge-rule "ë±" "돱") (merge-rule "ë²" "돲") (merge-rule "ë³" "돳") (merge-rule "ë´" "돴") (merge-rule "ëµ" "돵") (merge-rule "ë¶" "돶") (merge-rule "ë·" "돷") (merge-rule "ë¸" "돸") (merge-rule "ë¹" "돹") (merge-rule "ëº" "돠á‡") (merge-rule "ë»" "돻") (merge-rule "ë¼" "돼~b") (merge-rule "ë½" "돽") (merge-rule "ë¾" "돾") (merge-rule "ë¿" "돿") (merge-rule "ë€" "됀") (merge-rule "ë" "됁") (merge-rule "ë‚" "됂") (merge-rule "ëƒ" "됃") (merge-rule "ë„" "됄") (merge-rule "ë…" "됅") (merge-rule "ë†" "됆") (merge-rule "ë‡" "됇") (merge-rule "ëˆ" "됈") (merge-rule "ë‰" "됉") (merge-rule "ëŠ" "됊") (merge-rule "ë‹" "됋") (merge-rule "ëŒ" "됌") (merge-rule "ë" "됍") (merge-rule "ëŽ" "됎") (merge-rule "ë" "됏") (merge-rule "ë" "됐") (merge-rule "ë‘" "됑") (merge-rule "ë’" "됒") (merge-rule "ë“" "됓") (merge-rule "ë”" "됔") (merge-rule "ë•" "됕") (merge-rule "ë–" "돼á‡") (merge-rule "ë—" "됗") (merge-rule "ë˜" "되~b") (merge-rule "ë™" "됙") (merge-rule "ëš" "됚") (merge-rule "ë›" "됛") (merge-rule "ëœ" "된") (merge-rule "ë" "됝") (merge-rule "ëž" "됞") (merge-rule "ëŸ" "됟") (merge-rule "ë " "될") (merge-rule "ë¡" "됡") (merge-rule "ë¢" "됢") (merge-rule "ë£" "됣") (merge-rule "ë¤" "됤") (merge-rule "ë¥" "됥") (merge-rule "ë¦" "됦") (merge-rule "ë§" "됧") (merge-rule "ë¨" "됨") (merge-rule "ë©" "됩") (merge-rule "ëª" "됪") (merge-rule "ë«" "됫") (merge-rule "ë¬" "됬") (merge-rule "ë­" "됭") (merge-rule "ë®" "됮") (merge-rule "ë¯" "됯") (merge-rule "ë°" "됰") (merge-rule "ë±" "됱") (merge-rule "ë²" "되á‡") (merge-rule "ë³" "됳") (merge-rule "ë´" "됴~b") (merge-rule "ëµ" "됵") (merge-rule "ë¶" "됶") (merge-rule "ë·" "됷") (merge-rule "ë¸" "됸") (merge-rule "ë¹" "됹") (merge-rule "ëº" "됺") (merge-rule "ë»" "됻") (merge-rule "ë¼" "됼") (merge-rule "ë½" "됽") (merge-rule "ë¾" "됾") (merge-rule "ë¿" "됿") (merge-rule "ë‘€" "둀") (merge-rule "ë‘" "둁") (merge-rule "ë‘‚" "둂") (merge-rule "둃" "둃") (merge-rule "ë‘„" "둄") (merge-rule "ë‘…" "둅") (merge-rule "둆" "둆") (merge-rule "둇" "둇") (merge-rule "둈" "둈") (merge-rule "둉" "둉") (merge-rule "둊" "둊") (merge-rule "ë‘‹" "둋") (merge-rule "둌" "둌") (merge-rule "ë‘" "둍") (merge-rule "둎" "됴á‡") (merge-rule "ë‘" "둏") (merge-rule "ë‘" "두~b") (merge-rule "ë‘‘" "둑") (merge-rule "ë‘’" "둒") (merge-rule "ë‘“" "둓") (merge-rule "ë‘”" "둔") (merge-rule "ë‘•" "둕") (merge-rule "ë‘–" "둖") (merge-rule "ë‘—" "둗") (merge-rule "둘" "둘") (merge-rule "ë‘™" "둙") (merge-rule "둚" "둚") (merge-rule "ë‘›" "둛") (merge-rule "둜" "둜") (merge-rule "ë‘" "둝") (merge-rule "둞" "둞") (merge-rule "둟" "둟") (merge-rule "ë‘ " "둠") (merge-rule "ë‘¡" "둡") (merge-rule "ë‘¢" "둢") (merge-rule "ë‘£" "둣") (merge-rule "둤" "둤") (merge-rule "ë‘¥" "둥") (merge-rule "둦" "둦") (merge-rule "ë‘§" "둧") (merge-rule "둨" "둨") (merge-rule "ë‘©" "둩") (merge-rule "둪" "두á‡") (merge-rule "ë‘«" "둫") (merge-rule "둬" "둬~b") (merge-rule "ë‘­" "둭") (merge-rule "ë‘®" "둮") (merge-rule "둯" "둯") (merge-rule "ë‘°" "둰") (merge-rule "둱" "둱") (merge-rule "둲" "둲") (merge-rule "둳" "둳") (merge-rule "ë‘´" "둴") (merge-rule "둵" "둵") (merge-rule "ë‘¶" "둶") (merge-rule "ë‘·" "둷") (merge-rule "둸" "둸") (merge-rule "둹" "둹") (merge-rule "둺" "둺") (merge-rule "ë‘»" "둻") (merge-rule "둼" "둼") (merge-rule "둽" "둽") (merge-rule "둾" "둾") (merge-rule "ë‘¿" "둿") (merge-rule "ë’€" "뒀") (merge-rule "ë’" "뒁") (merge-rule "ë’‚" "뒂") (merge-rule "ë’ƒ" "뒃") (merge-rule "ë’„" "뒄") (merge-rule "ë’…" "뒅") (merge-rule "ë’†" "둬á‡") (merge-rule "ë’‡" "뒇") (merge-rule "ë’ˆ" "뒈~b") (merge-rule "ë’‰" "뒉") (merge-rule "ë’Š" "뒊") (merge-rule "ë’‹" "뒋") (merge-rule "ë’Œ" "뒌") (merge-rule "ë’" "뒍") (merge-rule "ë’Ž" "뒎") (merge-rule "ë’" "뒏") (merge-rule "ë’" "뒐") (merge-rule "ë’‘" "뒑") (merge-rule "ë’’" "뒒") (merge-rule "ë’“" "뒓") (merge-rule "ë’”" "뒔") (merge-rule "ë’•" "뒕") (merge-rule "ë’–" "뒖") (merge-rule "ë’—" "뒗") (merge-rule "ë’˜" "뒘") (merge-rule "ë’™" "뒙") (merge-rule "ë’š" "뒚") (merge-rule "ë’›" "뒛") (merge-rule "ë’œ" "뒜") (merge-rule "ë’" "뒝") (merge-rule "ë’ž" "뒞") (merge-rule "ë’Ÿ" "뒟") (merge-rule "ë’ " "뒠") (merge-rule "ë’¡" "뒡") (merge-rule "ë’¢" "뒈á‡") (merge-rule "ë’£" "뒣") (merge-rule "ë’¤" "뒤~b") (merge-rule "ë’¥" "뒥") (merge-rule "ë’¦" "뒦") (merge-rule "ë’§" "뒧") (merge-rule "ë’¨" "뒨") (merge-rule "ë’©" "뒩") (merge-rule "ë’ª" "뒪") (merge-rule "ë’«" "뒫") (merge-rule "ë’¬" "뒬") (merge-rule "ë’­" "뒭") (merge-rule "ë’®" "뒮") (merge-rule "ë’¯" "뒯") (merge-rule "ë’°" "뒰") (merge-rule "ë’±" "뒱") (merge-rule "ë’²" "뒲") (merge-rule "ë’³" "뒳") (merge-rule "ë’´" "뒴") (merge-rule "ë’µ" "뒵") (merge-rule "ë’¶" "뒶") (merge-rule "ë’·" "뒷") (merge-rule "ë’¸" "뒸") (merge-rule "ë’¹" "뒹") (merge-rule "ë’º" "뒺") (merge-rule "ë’»" "뒻") (merge-rule "ë’¼" "뒼") (merge-rule "ë’½" "뒽") (merge-rule "ë’¾" "뒤á‡") (merge-rule "ë’¿" "뒿") (merge-rule "ë“€" "듀~b") (merge-rule "ë“" "듁") (merge-rule "ë“‚" "듂") (merge-rule "듃" "듃") (merge-rule "ë“„" "듄") (merge-rule "ë“…" "듅") (merge-rule "듆" "듆") (merge-rule "듇" "듇") (merge-rule "듈" "듈") (merge-rule "듉" "듉") (merge-rule "듊" "듊") (merge-rule "ë“‹" "듋") (merge-rule "듌" "듌") (merge-rule "ë“" "듍") (merge-rule "듎" "듎") (merge-rule "ë“" "듏") (merge-rule "ë“" "듐") (merge-rule "ë“‘" "듑") (merge-rule "ë“’" "듒") (merge-rule "ë““" "듓") (merge-rule "ë“”" "듔") (merge-rule "ë“•" "듕") (merge-rule "ë“–" "듖") (merge-rule "ë“—" "듗") (merge-rule "듘" "듘") (merge-rule "ë“™" "듙") (merge-rule "듚" "듀á‡") (merge-rule "ë“›" "듛") (merge-rule "드" "드~b") (merge-rule "ë“" "득") (merge-rule "듞" "듞") (merge-rule "듟" "듟") (merge-rule "ë“ " "든") (merge-rule "ë“¡" "듡") (merge-rule "ë“¢" "듢") (merge-rule "ë“£" "듣") (merge-rule "들" "들") (merge-rule "ë“¥" "듥") (merge-rule "듦" "듦") (merge-rule "ë“§" "듧") (merge-rule "듨" "듨") (merge-rule "ë“©" "듩") (merge-rule "듪" "듪") (merge-rule "ë“«" "듫") (merge-rule "듬" "듬") (merge-rule "ë“­" "듭") (merge-rule "ë“®" "듮") (merge-rule "듯" "듯") (merge-rule "ë“°" "듰") (merge-rule "등" "등") (merge-rule "듲" "듲") (merge-rule "듳" "듳") (merge-rule "ë“´" "듴") (merge-rule "듵" "듵") (merge-rule "ë“¶" "드á‡") (merge-rule "ë“·" "듷") (merge-rule "듸" "듸~b") (merge-rule "듹" "듹") (merge-rule "듺" "듺") (merge-rule "ë“»" "듻") (merge-rule "듼" "듼") (merge-rule "듽" "듽") (merge-rule "듾" "듾") (merge-rule "ë“¿" "듿") (merge-rule "딀" "딀") (merge-rule "ë”" "딁") (merge-rule "딂" "딂") (merge-rule "딃" "딃") (merge-rule "딄" "딄") (merge-rule "ë”…" "딅") (merge-rule "딆" "딆") (merge-rule "딇" "딇") (merge-rule "딈" "딈") (merge-rule "딉" "딉") (merge-rule "딊" "딊") (merge-rule "딋" "딋") (merge-rule "딌" "딌") (merge-rule "ë”" "딍") (merge-rule "딎" "딎") (merge-rule "ë”" "딏") (merge-rule "ë”" "딐") (merge-rule "딑" "딑") (merge-rule "ë”’" "듸á‡") (merge-rule "딓" "딓") (merge-rule "ë””" "디~b") (merge-rule "딕" "딕") (merge-rule "ë”–" "딖") (merge-rule "ë”—" "딗") (merge-rule "딘" "딘") (merge-rule "ë”™" "딙") (merge-rule "딚" "딚") (merge-rule "ë”›" "딛") (merge-rule "딜" "딜") (merge-rule "ë”" "딝") (merge-rule "딞" "딞") (merge-rule "딟" "딟") (merge-rule "ë” " "딠") (merge-rule "딡" "딡") (merge-rule "딢" "딢") (merge-rule "딣" "딣") (merge-rule "딤" "딤") (merge-rule "딥" "딥") (merge-rule "딦" "딦") (merge-rule "ë”§" "딧") (merge-rule "딨" "딨") (merge-rule "딩" "딩") (merge-rule "딪" "딪") (merge-rule "딫" "딫") (merge-rule "딬" "딬") (merge-rule "ë”­" "딭") (merge-rule "ë”®" "디á‡") (merge-rule "딯" "딯") (merge-rule "ë”°" "á„„á…¡~b") (merge-rule "ë”±" "딱") (merge-rule "딲" "딲") (merge-rule "딳" "딳") (merge-rule "ë”´" "딴") (merge-rule "딵" "딵") (merge-rule "ë”¶" "딶") (merge-rule "ë”·" "딷") (merge-rule "딸" "딸") (merge-rule "딹" "딹") (merge-rule "딺" "딺") (merge-rule "ë”»" "딻") (merge-rule "딼" "딼") (merge-rule "딽" "딽") (merge-rule "딾" "딾") (merge-rule "딿" "딿") (merge-rule "ë•€" "땀") (merge-rule "ë•" "땁") (merge-rule "ë•‚" "땂") (merge-rule "땃" "땃") (merge-rule "ë•„" "땄") (merge-rule "ë•…" "땅") (merge-rule "땆" "땆") (merge-rule "땇" "땇") (merge-rule "땈" "땈") (merge-rule "땉" "땉") (merge-rule "땊" "á„„á…¡á‡") (merge-rule "ë•‹" "땋") (merge-rule "때" "á„„á…¢~b") (merge-rule "ë•" "땍") (merge-rule "땎" "땎") (merge-rule "ë•" "땏") (merge-rule "ë•" "땐") (merge-rule "ë•‘" "땑") (merge-rule "ë•’" "땒") (merge-rule "ë•“" "땓") (merge-rule "ë•”" "땔") (merge-rule "ë••" "땕") (merge-rule "ë•–" "땖") (merge-rule "ë•—" "땗") (merge-rule "땘" "땘") (merge-rule "ë•™" "땙") (merge-rule "땚" "땚") (merge-rule "ë•›" "땛") (merge-rule "땜" "땜") (merge-rule "ë•" "땝") (merge-rule "땞" "땞") (merge-rule "땟" "땟") (merge-rule "ë• " "땠") (merge-rule "ë•¡" "땡") (merge-rule "ë•¢" "땢") (merge-rule "ë•£" "땣") (merge-rule "땤" "땤") (merge-rule "ë•¥" "땥") (merge-rule "땦" "á„„á…¢á‡") (merge-rule "ë•§" "땧") (merge-rule "땨" "á„„á…£~b") (merge-rule "ë•©" "땩") (merge-rule "땪" "땪") (merge-rule "ë•«" "땫") (merge-rule "땬" "땬") (merge-rule "ë•­" "땭") (merge-rule "ë•®" "땮") (merge-rule "땯" "땯") (merge-rule "ë•°" "땰") (merge-rule "땱" "땱") (merge-rule "땲" "땲") (merge-rule "땳" "땳") (merge-rule "ë•´" "땴") (merge-rule "땵" "땵") (merge-rule "ë•¶" "땶") (merge-rule "ë•·" "땷") (merge-rule "땸" "땸") (merge-rule "땹" "땹") (merge-rule "땺" "땺") (merge-rule "ë•»" "땻") (merge-rule "땼" "땼") (merge-rule "땽" "땽") (merge-rule "땾" "땾") (merge-rule "ë•¿" "땿") (merge-rule "ë–€" "떀") (merge-rule "ë–" "떁") (merge-rule "ë–‚" "á„„á…£á‡") (merge-rule "ë–ƒ" "떃") (merge-rule "ë–„" "á„„á…¤~b") (merge-rule "ë–…" "떅") (merge-rule "ë–†" "떆") (merge-rule "ë–‡" "떇") (merge-rule "ë–ˆ" "떈") (merge-rule "ë–‰" "떉") (merge-rule "ë–Š" "떊") (merge-rule "ë–‹" "떋") (merge-rule "ë–Œ" "떌") (merge-rule "ë–" "떍") (merge-rule "ë–Ž" "떎") (merge-rule "ë–" "떏") (merge-rule "ë–" "떐") (merge-rule "ë–‘" "떑") (merge-rule "ë–’" "떒") (merge-rule "ë–“" "떓") (merge-rule "ë–”" "떔") (merge-rule "ë–•" "떕") (merge-rule "ë––" "떖") (merge-rule "ë–—" "떗") (merge-rule "ë–˜" "떘") (merge-rule "ë–™" "떙") (merge-rule "ë–š" "떚") (merge-rule "ë–›" "떛") (merge-rule "ë–œ" "떜") (merge-rule "ë–" "떝") (merge-rule "ë–ž" "á„„á…¤á‡") (merge-rule "ë–Ÿ" "떟") (merge-rule "ë– " "á„„á…¥~b") (merge-rule "ë–¡" "떡") (merge-rule "ë–¢" "떢") (merge-rule "ë–£" "떣") (merge-rule "ë–¤" "떤") (merge-rule "ë–¥" "떥") (merge-rule "ë–¦" "떦") (merge-rule "ë–§" "떧") (merge-rule "ë–¨" "떨") (merge-rule "ë–©" "떩") (merge-rule "ë–ª" "떪") (merge-rule "ë–«" "떫") (merge-rule "ë–¬" "떬") (merge-rule "ë–­" "떭") (merge-rule "ë–®" "떮") (merge-rule "ë–¯" "떯") (merge-rule "ë–°" "떰") (merge-rule "ë–±" "떱") (merge-rule "ë–²" "떲") (merge-rule "ë–³" "떳") (merge-rule "ë–´" "떴") (merge-rule "ë–µ" "떵") (merge-rule "ë–¶" "떶") (merge-rule "ë–·" "떷") (merge-rule "ë–¸" "떸") (merge-rule "ë–¹" "떹") (merge-rule "ë–º" "á„„á…¥á‡") (merge-rule "ë–»" "떻") (merge-rule "ë–¼" "á„„á…¦~b") (merge-rule "ë–½" "떽") (merge-rule "ë–¾" "떾") (merge-rule "ë–¿" "떿") (merge-rule "ë—€" "뗀") (merge-rule "ë—" "뗁") (merge-rule "ë—‚" "뗂") (merge-rule "ë—ƒ" "뗃") (merge-rule "ë—„" "뗄") (merge-rule "ë—…" "뗅") (merge-rule "ë—†" "뗆") (merge-rule "ë—‡" "뗇") (merge-rule "ë—ˆ" "뗈") (merge-rule "ë—‰" "뗉") (merge-rule "ë—Š" "뗊") (merge-rule "ë—‹" "뗋") (merge-rule "ë—Œ" "뗌") (merge-rule "ë—" "뗍") (merge-rule "ë—Ž" "뗎") (merge-rule "ë—" "뗏") (merge-rule "ë—" "뗐") (merge-rule "ë—‘" "뗑") (merge-rule "ë—’" "뗒") (merge-rule "ë—“" "뗓") (merge-rule "ë—”" "뗔") (merge-rule "ë—•" "뗕") (merge-rule "ë—–" "á„„á…¦á‡") (merge-rule "ë——" "뗗") (merge-rule "ë—˜" "á„„á…§~b") (merge-rule "ë—™" "뗙") (merge-rule "ë—š" "뗚") (merge-rule "ë—›" "뗛") (merge-rule "ë—œ" "뗜") (merge-rule "ë—" "뗝") (merge-rule "ë—ž" "뗞") (merge-rule "ë—Ÿ" "뗟") (merge-rule "ë— " "뗠") (merge-rule "ë—¡" "뗡") (merge-rule "ë—¢" "뗢") (merge-rule "ë—£" "뗣") (merge-rule "ë—¤" "뗤") (merge-rule "ë—¥" "뗥") (merge-rule "ë—¦" "뗦") (merge-rule "ë—§" "뗧") (merge-rule "ë—¨" "뗨") (merge-rule "ë—©" "뗩") (merge-rule "ë—ª" "뗪") (merge-rule "ë—«" "뗫") (merge-rule "ë—¬" "뗬") (merge-rule "ë—­" "뗭") (merge-rule "ë—®" "뗮") (merge-rule "ë—¯" "뗯") (merge-rule "ë—°" "뗰") (merge-rule "ë—±" "뗱") (merge-rule "ë—²" "á„„á…§á‡") (merge-rule "ë—³" "뗳") (merge-rule "ë—´" "á„„á…¨~b") (merge-rule "ë—µ" "뗵") (merge-rule "ë—¶" "뗶") (merge-rule "ë—·" "뗷") (merge-rule "ë—¸" "뗸") (merge-rule "ë—¹" "뗹") (merge-rule "ë—º" "뗺") (merge-rule "ë—»" "뗻") (merge-rule "ë—¼" "뗼") (merge-rule "ë—½" "뗽") (merge-rule "ë—¾" "뗾") (merge-rule "ë—¿" "뗿") (merge-rule "똀" "똀") (merge-rule "ë˜" "똁") (merge-rule "똂" "똂") (merge-rule "똃" "똃") (merge-rule "똄" "똄") (merge-rule "똅" "똅") (merge-rule "똆" "똆") (merge-rule "똇" "똇") (merge-rule "똈" "똈") (merge-rule "똉" "똉") (merge-rule "똊" "똊") (merge-rule "똋" "똋") (merge-rule "똌" "똌") (merge-rule "ë˜" "똍") (merge-rule "똎" "á„„á…¨á‡") (merge-rule "ë˜" "똏") (merge-rule "ë˜" "á„„á…©~b") (merge-rule "똑" "똑") (merge-rule "똒" "똒") (merge-rule "똓" "똓") (merge-rule "똔" "똔") (merge-rule "똕" "똕") (merge-rule "똖" "똖") (merge-rule "똗" "똗") (merge-rule "똘" "똘") (merge-rule "똙" "똙") (merge-rule "똚" "똚") (merge-rule "똛" "똛") (merge-rule "똜" "똜") (merge-rule "ë˜" "똝") (merge-rule "똞" "똞") (merge-rule "똟" "똟") (merge-rule "똠" "똠") (merge-rule "똡" "똡") (merge-rule "똢" "똢") (merge-rule "똣" "똣") (merge-rule "똤" "똤") (merge-rule "똥" "똥") (merge-rule "똦" "똦") (merge-rule "똧" "똧") (merge-rule "똨" "똨") (merge-rule "똩" "똩") (merge-rule "똪" "á„„á…©á‡") (merge-rule "똫" "똫") (merge-rule "똬" "á„„á…ª~b") (merge-rule "똭" "똭") (merge-rule "똮" "똮") (merge-rule "똯" "똯") (merge-rule "똰" "똰") (merge-rule "똱" "똱") (merge-rule "똲" "똲") (merge-rule "똳" "똳") (merge-rule "똴" "똴") (merge-rule "똵" "똵") (merge-rule "똶" "똶") (merge-rule "똷" "똷") (merge-rule "똸" "똸") (merge-rule "똹" "똹") (merge-rule "똺" "똺") (merge-rule "똻" "똻") (merge-rule "똼" "똼") (merge-rule "똽" "똽") (merge-rule "똾" "똾") (merge-rule "똿" "똿") (merge-rule "뙀" "뙀") (merge-rule "ë™" "뙁") (merge-rule "뙂" "뙂") (merge-rule "뙃" "뙃") (merge-rule "뙄" "뙄") (merge-rule "ë™…" "뙅") (merge-rule "뙆" "á„„á…ªá‡") (merge-rule "뙇" "뙇") (merge-rule "뙈" "á„„á…«~b") (merge-rule "뙉" "뙉") (merge-rule "뙊" "뙊") (merge-rule "뙋" "뙋") (merge-rule "뙌" "뙌") (merge-rule "ë™" "뙍") (merge-rule "뙎" "뙎") (merge-rule "ë™" "뙏") (merge-rule "ë™" "뙐") (merge-rule "뙑" "뙑") (merge-rule "ë™’" "뙒") (merge-rule "뙓" "뙓") (merge-rule "ë™”" "뙔") (merge-rule "뙕" "뙕") (merge-rule "ë™–" "뙖") (merge-rule "ë™—" "뙗") (merge-rule "뙘" "뙘") (merge-rule "ë™™" "뙙") (merge-rule "뙚" "뙚") (merge-rule "ë™›" "뙛") (merge-rule "뙜" "뙜") (merge-rule "ë™" "뙝") (merge-rule "뙞" "뙞") (merge-rule "뙟" "뙟") (merge-rule "ë™ " "뙠") (merge-rule "뙡" "뙡") (merge-rule "뙢" "á„„á…«á‡") (merge-rule "뙣" "뙣") (merge-rule "뙤" "á„„á…¬~b") (merge-rule "뙥" "뙥") (merge-rule "뙦" "뙦") (merge-rule "ë™§" "뙧") (merge-rule "뙨" "뙨") (merge-rule "뙩" "뙩") (merge-rule "뙪" "뙪") (merge-rule "뙫" "뙫") (merge-rule "뙬" "뙬") (merge-rule "ë™­" "뙭") (merge-rule "ë™®" "뙮") (merge-rule "뙯" "뙯") (merge-rule "ë™°" "뙰") (merge-rule "ë™±" "뙱") (merge-rule "뙲" "뙲") (merge-rule "뙳" "뙳") (merge-rule "ë™´" "뙴") (merge-rule "뙵" "뙵") (merge-rule "ë™¶" "뙶") (merge-rule "ë™·" "뙷") (merge-rule "뙸" "뙸") (merge-rule "뙹" "뙹") (merge-rule "뙺" "뙺") (merge-rule "ë™»" "뙻") (merge-rule "뙼" "뙼") (merge-rule "뙽" "뙽") (merge-rule "뙾" "á„„á…¬á‡") (merge-rule "뙿" "뙿") (merge-rule "뚀" "á„„á…­~b") (merge-rule "ëš" "뚁") (merge-rule "ëš‚" "뚂") (merge-rule "뚃" "뚃") (merge-rule "ëš„" "뚄") (merge-rule "ëš…" "뚅") (merge-rule "뚆" "뚆") (merge-rule "뚇" "뚇") (merge-rule "뚈" "뚈") (merge-rule "뚉" "뚉") (merge-rule "뚊" "뚊") (merge-rule "ëš‹" "뚋") (merge-rule "뚌" "뚌") (merge-rule "ëš" "뚍") (merge-rule "뚎" "뚎") (merge-rule "ëš" "뚏") (merge-rule "ëš" "뚐") (merge-rule "ëš‘" "뚑") (merge-rule "ëš’" "뚒") (merge-rule "ëš“" "뚓") (merge-rule "ëš”" "뚔") (merge-rule "ëš•" "뚕") (merge-rule "ëš–" "뚖") (merge-rule "ëš—" "뚗") (merge-rule "뚘" "뚘") (merge-rule "ëš™" "뚙") (merge-rule "ëšš" "á„„á…­á‡") (merge-rule "ëš›" "뚛") (merge-rule "ëšœ" "á„„á…®~b") (merge-rule "ëš" "뚝") (merge-rule "ëšž" "뚞") (merge-rule "뚟" "뚟") (merge-rule "ëš " "뚠") (merge-rule "ëš¡" "뚡") (merge-rule "뚢" "뚢") (merge-rule "뚣" "뚣") (merge-rule "뚤" "뚤") (merge-rule "뚥" "뚥") (merge-rule "뚦" "뚦") (merge-rule "ëš§" "뚧") (merge-rule "뚨" "뚨") (merge-rule "ëš©" "뚩") (merge-rule "뚪" "뚪") (merge-rule "ëš«" "뚫") (merge-rule "뚬" "뚬") (merge-rule "ëš­" "뚭") (merge-rule "ëš®" "뚮") (merge-rule "뚯" "뚯") (merge-rule "ëš°" "뚰") (merge-rule "ëš±" "뚱") (merge-rule "ëš²" "뚲") (merge-rule "ëš³" "뚳") (merge-rule "ëš´" "뚴") (merge-rule "ëšµ" "뚵") (merge-rule "ëš¶" "á„„á…®á‡") (merge-rule "ëš·" "뚷") (merge-rule "뚸" "á„„á…¯~b") (merge-rule "ëš¹" "뚹") (merge-rule "뚺" "뚺") (merge-rule "ëš»" "뚻") (merge-rule "ëš¼" "뚼") (merge-rule "ëš½" "뚽") (merge-rule "ëš¾" "뚾") (merge-rule "ëš¿" "뚿") (merge-rule "뛀" "뛀") (merge-rule "ë›" "뛁") (merge-rule "뛂" "뛂") (merge-rule "뛃" "뛃") (merge-rule "뛄" "뛄") (merge-rule "ë›…" "뛅") (merge-rule "뛆" "뛆") (merge-rule "뛇" "뛇") (merge-rule "뛈" "뛈") (merge-rule "뛉" "뛉") (merge-rule "뛊" "뛊") (merge-rule "뛋" "뛋") (merge-rule "뛌" "뛌") (merge-rule "ë›" "뛍") (merge-rule "뛎" "뛎") (merge-rule "ë›" "뛏") (merge-rule "ë›" "뛐") (merge-rule "뛑" "뛑") (merge-rule "ë›’" "á„„á…¯á‡") (merge-rule "뛓" "뛓") (merge-rule "ë›”" "á„„á…°~b") (merge-rule "뛕" "뛕") (merge-rule "ë›–" "뛖") (merge-rule "ë›—" "뛗") (merge-rule "뛘" "뛘") (merge-rule "ë›™" "뛙") (merge-rule "뛚" "뛚") (merge-rule "ë››" "뛛") (merge-rule "뛜" "뛜") (merge-rule "ë›" "뛝") (merge-rule "뛞" "뛞") (merge-rule "뛟" "뛟") (merge-rule "ë› " "뛠") (merge-rule "뛡" "뛡") (merge-rule "뛢" "뛢") (merge-rule "뛣" "뛣") (merge-rule "뛤" "뛤") (merge-rule "뛥" "뛥") (merge-rule "뛦" "뛦") (merge-rule "ë›§" "뛧") (merge-rule "뛨" "뛨") (merge-rule "뛩" "뛩") (merge-rule "뛪" "뛪") (merge-rule "뛫" "뛫") (merge-rule "뛬" "뛬") (merge-rule "ë›­" "뛭") (merge-rule "ë›®" "á„„á…°á‡") (merge-rule "뛯" "뛯") (merge-rule "ë›°" "á„„á…±~b") (merge-rule "ë›±" "뛱") (merge-rule "뛲" "뛲") (merge-rule "뛳" "뛳") (merge-rule "ë›´" "뛴") (merge-rule "뛵" "뛵") (merge-rule "ë›¶" "뛶") (merge-rule "ë›·" "뛷") (merge-rule "뛸" "뛸") (merge-rule "뛹" "뛹") (merge-rule "뛺" "뛺") (merge-rule "ë›»" "뛻") (merge-rule "뛼" "뛼") (merge-rule "뛽" "뛽") (merge-rule "뛾" "뛾") (merge-rule "뛿" "뛿") (merge-rule "뜀" "뜀") (merge-rule "ëœ" "뜁") (merge-rule "뜂" "뜂") (merge-rule "뜃" "뜃") (merge-rule "뜄" "뜄") (merge-rule "뜅" "뜅") (merge-rule "뜆" "뜆") (merge-rule "뜇" "뜇") (merge-rule "뜈" "뜈") (merge-rule "뜉" "뜉") (merge-rule "뜊" "á„„á…±á‡") (merge-rule "뜋" "뜋") (merge-rule "뜌" "á„„á…²~b") (merge-rule "ëœ" "뜍") (merge-rule "뜎" "뜎") (merge-rule "ëœ" "뜏") (merge-rule "ëœ" "뜐") (merge-rule "뜑" "뜑") (merge-rule "뜒" "뜒") (merge-rule "뜓" "뜓") (merge-rule "뜔" "뜔") (merge-rule "뜕" "뜕") (merge-rule "뜖" "뜖") (merge-rule "뜗" "뜗") (merge-rule "뜘" "뜘") (merge-rule "뜙" "뜙") (merge-rule "뜚" "뜚") (merge-rule "뜛" "뜛") (merge-rule "뜜" "뜜") (merge-rule "ëœ" "뜝") (merge-rule "뜞" "뜞") (merge-rule "뜟" "뜟") (merge-rule "뜠" "뜠") (merge-rule "뜡" "뜡") (merge-rule "뜢" "뜢") (merge-rule "뜣" "뜣") (merge-rule "뜤" "뜤") (merge-rule "뜥" "뜥") (merge-rule "뜦" "á„„á…²á‡") (merge-rule "뜧" "뜧") (merge-rule "뜨" "á„„á…³~b") (merge-rule "뜩" "뜩") (merge-rule "뜪" "뜪") (merge-rule "뜫" "뜫") (merge-rule "뜬" "뜬") (merge-rule "뜭" "뜭") (merge-rule "뜮" "뜮") (merge-rule "뜯" "뜯") (merge-rule "뜰" "뜰") (merge-rule "뜱" "뜱") (merge-rule "뜲" "뜲") (merge-rule "뜳" "뜳") (merge-rule "뜴" "뜴") (merge-rule "뜵" "뜵") (merge-rule "뜶" "뜶") (merge-rule "뜷" "뜷") (merge-rule "뜸" "뜸") (merge-rule "뜹" "뜹") (merge-rule "뜺" "뜺") (merge-rule "뜻" "뜻") (merge-rule "뜼" "뜼") (merge-rule "뜽" "뜽") (merge-rule "뜾" "뜾") (merge-rule "뜿" "뜿") (merge-rule "ë€" "띀") (merge-rule "ë" "띁") (merge-rule "ë‚" "á„„á…³á‡") (merge-rule "ëƒ" "띃") (merge-rule "ë„" "á„„á…´~b") (merge-rule "ë…" "띅") (merge-rule "ë†" "띆") (merge-rule "ë‡" "띇") (merge-rule "ëˆ" "띈") (merge-rule "ë‰" "띉") (merge-rule "ëŠ" "띊") (merge-rule "ë‹" "띋") (merge-rule "ëŒ" "띌") (merge-rule "ë" "띍") (merge-rule "ëŽ" "띎") (merge-rule "ë" "띏") (merge-rule "ë" "띐") (merge-rule "ë‘" "띑") (merge-rule "ë’" "띒") (merge-rule "ë“" "띓") (merge-rule "ë”" "띔") (merge-rule "ë•" "띕") (merge-rule "ë–" "띖") (merge-rule "ë—" "띗") (merge-rule "ë˜" "띘") (merge-rule "ë™" "띙") (merge-rule "ëš" "띚") (merge-rule "ë›" "띛") (merge-rule "ëœ" "띜") (merge-rule "ë" "띝") (merge-rule "ëž" "á„„á…´á‡") (merge-rule "ëŸ" "띟") (merge-rule "ë " "á„„á…µ~b") (merge-rule "ë¡" "띡") (merge-rule "ë¢" "띢") (merge-rule "ë£" "띣") (merge-rule "ë¤" "띤") (merge-rule "ë¥" "띥") (merge-rule "ë¦" "띦") (merge-rule "ë§" "띧") (merge-rule "ë¨" "띨") (merge-rule "ë©" "띩") (merge-rule "ëª" "띪") (merge-rule "ë«" "띫") (merge-rule "ë¬" "띬") (merge-rule "ë­" "띭") (merge-rule "ë®" "띮") (merge-rule "ë¯" "띯") (merge-rule "ë°" "띰") (merge-rule "ë±" "띱") (merge-rule "ë²" "띲") (merge-rule "ë³" "띳") (merge-rule "ë´" "띴") (merge-rule "ëµ" "띵") (merge-rule "ë¶" "띶") (merge-rule "ë·" "띷") (merge-rule "ë¸" "띸") (merge-rule "ë¹" "띹") (merge-rule "ëº" "á„„á…µá‡") (merge-rule "ë»" "띻") (merge-rule "ë¼" "á„…á…¡~b") (merge-rule "ë½" "락") (merge-rule "ë¾" "띾") (merge-rule "ë¿" "띿") (merge-rule "란" "란") (merge-rule "ëž" "랁") (merge-rule "ëž‚" "랂") (merge-rule "랃" "랃") (merge-rule "ëž„" "랄") (merge-rule "ëž…" "랅") (merge-rule "랆" "랆") (merge-rule "랇" "랇") (merge-rule "랈" "랈") (merge-rule "랉" "랉") (merge-rule "랊" "랊") (merge-rule "ëž‹" "랋") (merge-rule "람" "람") (merge-rule "ëž" "랍") (merge-rule "랎" "랎") (merge-rule "ëž" "랏") (merge-rule "ëž" "랐") (merge-rule "ëž‘" "랑") (merge-rule "ëž’" "랒") (merge-rule "ëž“" "랓") (merge-rule "ëž”" "랔") (merge-rule "ëž•" "랕") (merge-rule "ëž–" "á„…á…¡á‡") (merge-rule "ëž—" "랗") (merge-rule "래" "á„…á…¢~b") (merge-rule "ëž™" "랙") (merge-rule "ëžš" "랚") (merge-rule "ëž›" "랛") (merge-rule "ëžœ" "랜") (merge-rule "ëž" "랝") (merge-rule "ëžž" "랞") (merge-rule "랟" "랟") (merge-rule "ëž " "랠") (merge-rule "ëž¡" "랡") (merge-rule "랢" "랢") (merge-rule "랣" "랣") (merge-rule "랤" "랤") (merge-rule "랥" "랥") (merge-rule "랦" "랦") (merge-rule "ëž§" "랧") (merge-rule "램" "램") (merge-rule "ëž©" "랩") (merge-rule "랪" "랪") (merge-rule "ëž«" "랫") (merge-rule "랬" "랬") (merge-rule "ëž­" "랭") (merge-rule "ëž®" "랮") (merge-rule "랯" "랯") (merge-rule "ëž°" "랰") (merge-rule "ëž±" "랱") (merge-rule "ëž²" "á„…á…¢á‡") (merge-rule "ëž³" "랳") (merge-rule "ëž´" "á„…á…£~b") (merge-rule "ëžµ" "략") (merge-rule "ëž¶" "랶") (merge-rule "ëž·" "랷") (merge-rule "랸" "랸") (merge-rule "ëž¹" "랹") (merge-rule "랺" "랺") (merge-rule "ëž»" "랻") (merge-rule "ëž¼" "랼") (merge-rule "ëž½" "랽") (merge-rule "ëž¾" "랾") (merge-rule "ëž¿" "랿") (merge-rule "럀" "럀") (merge-rule "ëŸ" "럁") (merge-rule "럂" "럂") (merge-rule "럃" "럃") (merge-rule "럄" "럄") (merge-rule "럅" "럅") (merge-rule "럆" "럆") (merge-rule "럇" "럇") (merge-rule "럈" "럈") (merge-rule "량" "량") (merge-rule "럊" "럊") (merge-rule "럋" "럋") (merge-rule "럌" "럌") (merge-rule "ëŸ" "럍") (merge-rule "럎" "á„…á…£á‡") (merge-rule "ëŸ" "럏") (merge-rule "ëŸ" "á„…á…¤~b") (merge-rule "럑" "럑") (merge-rule "럒" "럒") (merge-rule "럓" "럓") (merge-rule "럔" "럔") (merge-rule "럕" "럕") (merge-rule "럖" "럖") (merge-rule "럗" "럗") (merge-rule "럘" "럘") (merge-rule "럙" "럙") (merge-rule "럚" "럚") (merge-rule "럛" "럛") (merge-rule "럜" "럜") (merge-rule "ëŸ" "럝") (merge-rule "럞" "럞") (merge-rule "럟" "럟") (merge-rule "럠" "럠") (merge-rule "럡" "럡") (merge-rule "럢" "럢") (merge-rule "럣" "럣") (merge-rule "럤" "럤") (merge-rule "럥" "럥") (merge-rule "럦" "럦") (merge-rule "럧" "럧") (merge-rule "럨" "럨") (merge-rule "럩" "럩") (merge-rule "럪" "á„…á…¤á‡") (merge-rule "럫" "럫") (merge-rule "러" "á„…á…¥~b") (merge-rule "럭" "럭") (merge-rule "럮" "럮") (merge-rule "럯" "럯") (merge-rule "런" "런") (merge-rule "럱" "럱") (merge-rule "럲" "럲") (merge-rule "럳" "럳") (merge-rule "럴" "럴") (merge-rule "럵" "럵") (merge-rule "럶" "럶") (merge-rule "럷" "럷") (merge-rule "럸" "럸") (merge-rule "럹" "럹") (merge-rule "럺" "럺") (merge-rule "럻" "럻") (merge-rule "럼" "럼") (merge-rule "럽" "럽") (merge-rule "럾" "럾") (merge-rule "럿" "럿") (merge-rule "ë €" "렀") (merge-rule "ë " "렁") (merge-rule "ë ‚" "렂") (merge-rule "ë ƒ" "렃") (merge-rule "ë „" "렄") (merge-rule "ë …" "렅") (merge-rule "ë †" "á„…á…¥á‡") (merge-rule "ë ‡" "렇") (merge-rule "ë ˆ" "á„…á…¦~b") (merge-rule "ë ‰" "렉") (merge-rule "ë Š" "렊") (merge-rule "ë ‹" "렋") (merge-rule "ë Œ" "렌") (merge-rule "ë " "렍") (merge-rule "ë Ž" "렎") (merge-rule "ë " "렏") (merge-rule "ë " "렐") (merge-rule "ë ‘" "렑") (merge-rule "ë ’" "렒") (merge-rule "ë “" "렓") (merge-rule "ë ”" "렔") (merge-rule "ë •" "렕") (merge-rule "ë –" "렖") (merge-rule "ë —" "렗") (merge-rule "ë ˜" "렘") (merge-rule "ë ™" "렙") (merge-rule "ë š" "렚") (merge-rule "ë ›" "렛") (merge-rule "ë œ" "렜") (merge-rule "ë " "렝") (merge-rule "ë ž" "렞") (merge-rule "ë Ÿ" "렟") (merge-rule "ë  " "렠") (merge-rule "ë ¡" "렡") (merge-rule "ë ¢" "á„…á…¦á‡") (merge-rule "ë £" "렣") (merge-rule "ë ¤" "á„…á…§~b") (merge-rule "ë ¥" "력") (merge-rule "ë ¦" "렦") (merge-rule "ë §" "렧") (merge-rule "ë ¨" "련") (merge-rule "ë ©" "렩") (merge-rule "ë ª" "렪") (merge-rule "ë «" "렫") (merge-rule "ë ¬" "렬") (merge-rule "ë ­" "렭") (merge-rule "ë ®" "렮") (merge-rule "ë ¯" "렯") (merge-rule "ë °" "렰") (merge-rule "ë ±" "렱") (merge-rule "ë ²" "렲") (merge-rule "ë ³" "렳") (merge-rule "ë ´" "렴") (merge-rule "ë µ" "렵") (merge-rule "ë ¶" "렶") (merge-rule "ë ·" "렷") (merge-rule "ë ¸" "렸") (merge-rule "ë ¹" "령") (merge-rule "ë º" "렺") (merge-rule "ë »" "렻") (merge-rule "ë ¼" "렼") (merge-rule "ë ½" "렽") (merge-rule "ë ¾" "á„…á…§á‡") (merge-rule "ë ¿" "렿") (merge-rule "ë¡€" "á„…á…¨~b") (merge-rule "ë¡" "롁") (merge-rule "ë¡‚" "롂") (merge-rule "롃" "롃") (merge-rule "ë¡„" "롄") (merge-rule "ë¡…" "롅") (merge-rule "롆" "롆") (merge-rule "롇" "롇") (merge-rule "롈" "롈") (merge-rule "롉" "롉") (merge-rule "롊" "롊") (merge-rule "ë¡‹" "롋") (merge-rule "롌" "롌") (merge-rule "ë¡" "롍") (merge-rule "롎" "롎") (merge-rule "ë¡" "롏") (merge-rule "ë¡" "롐") (merge-rule "ë¡‘" "롑") (merge-rule "ë¡’" "롒") (merge-rule "ë¡“" "롓") (merge-rule "ë¡”" "롔") (merge-rule "ë¡•" "롕") (merge-rule "ë¡–" "롖") (merge-rule "ë¡—" "롗") (merge-rule "롘" "롘") (merge-rule "ë¡™" "롙") (merge-rule "롚" "á„…á…¨á‡") (merge-rule "ë¡›" "롛") (merge-rule "로" "á„…á…©~b") (merge-rule "ë¡" "록") (merge-rule "롞" "롞") (merge-rule "롟" "롟") (merge-rule "ë¡ " "론") (merge-rule "ë¡¡" "롡") (merge-rule "ë¡¢" "롢") (merge-rule "ë¡£" "롣") (merge-rule "롤" "롤") (merge-rule "ë¡¥" "롥") (merge-rule "롦" "롦") (merge-rule "ë¡§" "롧") (merge-rule "롨" "롨") (merge-rule "ë¡©" "롩") (merge-rule "롪" "롪") (merge-rule "ë¡«" "롫") (merge-rule "롬" "롬") (merge-rule "ë¡­" "롭") (merge-rule "ë¡®" "롮") (merge-rule "롯" "롯") (merge-rule "ë¡°" "롰") (merge-rule "롱" "롱") (merge-rule "롲" "롲") (merge-rule "롳" "롳") (merge-rule "ë¡´" "롴") (merge-rule "롵" "롵") (merge-rule "ë¡¶" "á„…á…©á‡") (merge-rule "ë¡·" "롷") (merge-rule "롸" "á„…á…ª~b") (merge-rule "롹" "롹") (merge-rule "롺" "롺") (merge-rule "ë¡»" "롻") (merge-rule "롼" "롼") (merge-rule "롽" "롽") (merge-rule "롾" "롾") (merge-rule "ë¡¿" "롿") (merge-rule "뢀" "뢀") (merge-rule "ë¢" "뢁") (merge-rule "뢂" "뢂") (merge-rule "뢃" "뢃") (merge-rule "뢄" "뢄") (merge-rule "뢅" "뢅") (merge-rule "뢆" "뢆") (merge-rule "뢇" "뢇") (merge-rule "뢈" "뢈") (merge-rule "뢉" "뢉") (merge-rule "뢊" "뢊") (merge-rule "뢋" "뢋") (merge-rule "뢌" "뢌") (merge-rule "ë¢" "뢍") (merge-rule "뢎" "뢎") (merge-rule "ë¢" "뢏") (merge-rule "ë¢" "뢐") (merge-rule "뢑" "뢑") (merge-rule "뢒" "á„…á…ªá‡") (merge-rule "뢓" "뢓") (merge-rule "뢔" "á„…á…«~b") (merge-rule "뢕" "뢕") (merge-rule "뢖" "뢖") (merge-rule "뢗" "뢗") (merge-rule "뢘" "뢘") (merge-rule "뢙" "뢙") (merge-rule "뢚" "뢚") (merge-rule "뢛" "뢛") (merge-rule "뢜" "뢜") (merge-rule "ë¢" "뢝") (merge-rule "뢞" "뢞") (merge-rule "뢟" "뢟") (merge-rule "뢠" "뢠") (merge-rule "뢡" "뢡") (merge-rule "뢢" "뢢") (merge-rule "뢣" "뢣") (merge-rule "뢤" "뢤") (merge-rule "뢥" "뢥") (merge-rule "뢦" "뢦") (merge-rule "뢧" "뢧") (merge-rule "뢨" "뢨") (merge-rule "뢩" "뢩") (merge-rule "뢪" "뢪") (merge-rule "뢫" "뢫") (merge-rule "뢬" "뢬") (merge-rule "뢭" "뢭") (merge-rule "뢮" "á„…á…«á‡") (merge-rule "뢯" "뢯") (merge-rule "뢰" "á„…á…¬~b") (merge-rule "뢱" "뢱") (merge-rule "뢲" "뢲") (merge-rule "뢳" "뢳") (merge-rule "뢴" "뢴") (merge-rule "뢵" "뢵") (merge-rule "뢶" "뢶") (merge-rule "뢷" "뢷") (merge-rule "뢸" "뢸") (merge-rule "뢹" "뢹") (merge-rule "뢺" "뢺") (merge-rule "뢻" "뢻") (merge-rule "뢼" "뢼") (merge-rule "뢽" "뢽") (merge-rule "뢾" "뢾") (merge-rule "뢿" "뢿") (merge-rule "룀" "룀") (merge-rule "ë£" "룁") (merge-rule "룂" "룂") (merge-rule "룃" "룃") (merge-rule "룄" "룄") (merge-rule "룅" "룅") (merge-rule "룆" "룆") (merge-rule "룇" "룇") (merge-rule "룈" "룈") (merge-rule "룉" "룉") (merge-rule "룊" "á„…á…¬á‡") (merge-rule "룋" "룋") (merge-rule "료" "á„…á…­~b") (merge-rule "ë£" "룍") (merge-rule "룎" "룎") (merge-rule "ë£" "룏") (merge-rule "ë£" "룐") (merge-rule "룑" "룑") (merge-rule "룒" "룒") (merge-rule "룓" "룓") (merge-rule "룔" "룔") (merge-rule "룕" "룕") (merge-rule "룖" "룖") (merge-rule "룗" "룗") (merge-rule "룘" "룘") (merge-rule "룙" "룙") (merge-rule "룚" "룚") (merge-rule "룛" "룛") (merge-rule "룜" "룜") (merge-rule "ë£" "룝") (merge-rule "룞" "룞") (merge-rule "룟" "룟") (merge-rule "룠" "룠") (merge-rule "룡" "룡") (merge-rule "룢" "룢") (merge-rule "룣" "룣") (merge-rule "룤" "룤") (merge-rule "룥" "룥") (merge-rule "룦" "á„…á…­á‡") (merge-rule "룧" "룧") (merge-rule "루" "á„…á…®~b") (merge-rule "룩" "룩") (merge-rule "룪" "룪") (merge-rule "룫" "룫") (merge-rule "룬" "룬") (merge-rule "룭" "룭") (merge-rule "룮" "룮") (merge-rule "룯" "룯") (merge-rule "룰" "룰") (merge-rule "룱" "룱") (merge-rule "룲" "룲") (merge-rule "룳" "룳") (merge-rule "룴" "룴") (merge-rule "룵" "룵") (merge-rule "룶" "룶") (merge-rule "룷" "룷") (merge-rule "룸" "룸") (merge-rule "룹" "룹") (merge-rule "룺" "룺") (merge-rule "룻" "룻") (merge-rule "룼" "룼") (merge-rule "룽" "룽") (merge-rule "룾" "룾") (merge-rule "룿" "룿") (merge-rule "뤀" "뤀") (merge-rule "ë¤" "뤁") (merge-rule "뤂" "á„…á…®á‡") (merge-rule "뤃" "뤃") (merge-rule "뤄" "á„…á…¯~b") (merge-rule "뤅" "뤅") (merge-rule "뤆" "뤆") (merge-rule "뤇" "뤇") (merge-rule "뤈" "뤈") (merge-rule "뤉" "뤉") (merge-rule "뤊" "뤊") (merge-rule "뤋" "뤋") (merge-rule "뤌" "뤌") (merge-rule "ë¤" "뤍") (merge-rule "뤎" "뤎") (merge-rule "ë¤" "뤏") (merge-rule "ë¤" "뤐") (merge-rule "뤑" "뤑") (merge-rule "뤒" "뤒") (merge-rule "뤓" "뤓") (merge-rule "뤔" "뤔") (merge-rule "뤕" "뤕") (merge-rule "뤖" "뤖") (merge-rule "뤗" "뤗") (merge-rule "뤘" "뤘") (merge-rule "뤙" "뤙") (merge-rule "뤚" "뤚") (merge-rule "뤛" "뤛") (merge-rule "뤜" "뤜") (merge-rule "ë¤" "뤝") (merge-rule "뤞" "á„…á…¯á‡") (merge-rule "뤟" "뤟") (merge-rule "뤠" "á„…á…°~b") (merge-rule "뤡" "뤡") (merge-rule "뤢" "뤢") (merge-rule "뤣" "뤣") (merge-rule "뤤" "뤤") (merge-rule "뤥" "뤥") (merge-rule "뤦" "뤦") (merge-rule "뤧" "뤧") (merge-rule "뤨" "뤨") (merge-rule "뤩" "뤩") (merge-rule "뤪" "뤪") (merge-rule "뤫" "뤫") (merge-rule "뤬" "뤬") (merge-rule "뤭" "뤭") (merge-rule "뤮" "뤮") (merge-rule "뤯" "뤯") (merge-rule "뤰" "뤰") (merge-rule "뤱" "뤱") (merge-rule "뤲" "뤲") (merge-rule "뤳" "뤳") (merge-rule "뤴" "뤴") (merge-rule "뤵" "뤵") (merge-rule "뤶" "뤶") (merge-rule "뤷" "뤷") (merge-rule "뤸" "뤸") (merge-rule "뤹" "뤹") (merge-rule "뤺" "á„…á…°á‡") (merge-rule "뤻" "뤻") (merge-rule "뤼" "á„…á…±~b") (merge-rule "뤽" "뤽") (merge-rule "뤾" "뤾") (merge-rule "뤿" "뤿") (merge-rule "륀" "륀") (merge-rule "ë¥" "륁") (merge-rule "륂" "륂") (merge-rule "륃" "륃") (merge-rule "륄" "륄") (merge-rule "륅" "륅") (merge-rule "륆" "륆") (merge-rule "륇" "륇") (merge-rule "륈" "륈") (merge-rule "륉" "륉") (merge-rule "륊" "륊") (merge-rule "륋" "륋") (merge-rule "륌" "륌") (merge-rule "ë¥" "륍") (merge-rule "륎" "륎") (merge-rule "ë¥" "륏") (merge-rule "ë¥" "륐") (merge-rule "륑" "륑") (merge-rule "륒" "륒") (merge-rule "륓" "륓") (merge-rule "륔" "륔") (merge-rule "륕" "륕") (merge-rule "륖" "á„…á…±á‡") (merge-rule "륗" "륗") (merge-rule "류" "á„…á…²~b") (merge-rule "륙" "륙") (merge-rule "륚" "륚") (merge-rule "륛" "륛") (merge-rule "륜" "륜") (merge-rule "ë¥" "륝") (merge-rule "륞" "륞") (merge-rule "륟" "륟") (merge-rule "률" "률") (merge-rule "륡" "륡") (merge-rule "륢" "륢") (merge-rule "륣" "륣") (merge-rule "륤" "륤") (merge-rule "륥" "륥") (merge-rule "륦" "륦") (merge-rule "륧" "륧") (merge-rule "륨" "륨") (merge-rule "륩" "륩") (merge-rule "륪" "륪") (merge-rule "륫" "륫") (merge-rule "륬" "륬") (merge-rule "륭" "륭") (merge-rule "륮" "륮") (merge-rule "륯" "륯") (merge-rule "륰" "륰") (merge-rule "륱" "륱") (merge-rule "륲" "á„…á…²á‡") (merge-rule "륳" "륳") (merge-rule "르" "á„…á…³~b") (merge-rule "륵" "륵") (merge-rule "륶" "륶") (merge-rule "륷" "륷") (merge-rule "른" "른") (merge-rule "륹" "륹") (merge-rule "륺" "륺") (merge-rule "륻" "륻") (merge-rule "를" "를") (merge-rule "륽" "륽") (merge-rule "륾" "륾") (merge-rule "륿" "륿") (merge-rule "릀" "릀") (merge-rule "ë¦" "릁") (merge-rule "릂" "릂") (merge-rule "릃" "릃") (merge-rule "름" "름") (merge-rule "릅" "릅") (merge-rule "릆" "릆") (merge-rule "릇" "릇") (merge-rule "릈" "릈") (merge-rule "릉" "릉") (merge-rule "릊" "릊") (merge-rule "릋" "릋") (merge-rule "릌" "릌") (merge-rule "ë¦" "릍") (merge-rule "릎" "á„…á…³á‡") (merge-rule "ë¦" "릏") (merge-rule "ë¦" "á„…á…´~b") (merge-rule "릑" "릑") (merge-rule "릒" "릒") (merge-rule "릓" "릓") (merge-rule "릔" "릔") (merge-rule "릕" "릕") (merge-rule "릖" "릖") (merge-rule "릗" "릗") (merge-rule "릘" "릘") (merge-rule "릙" "릙") (merge-rule "릚" "릚") (merge-rule "릛" "릛") (merge-rule "릜" "릜") (merge-rule "ë¦" "릝") (merge-rule "릞" "릞") (merge-rule "릟" "릟") (merge-rule "릠" "릠") (merge-rule "릡" "릡") (merge-rule "릢" "릢") (merge-rule "릣" "릣") (merge-rule "릤" "릤") (merge-rule "릥" "릥") (merge-rule "릦" "릦") (merge-rule "릧" "릧") (merge-rule "릨" "릨") (merge-rule "릩" "릩") (merge-rule "릪" "á„…á…´á‡") (merge-rule "릫" "릫") (merge-rule "리" "á„…á…µ~b") (merge-rule "릭" "릭") (merge-rule "릮" "릮") (merge-rule "릯" "릯") (merge-rule "린" "린") (merge-rule "릱" "릱") (merge-rule "릲" "릲") (merge-rule "릳" "릳") (merge-rule "릴" "릴") (merge-rule "릵" "릵") (merge-rule "릶" "릶") (merge-rule "릷" "릷") (merge-rule "릸" "릸") (merge-rule "릹" "릹") (merge-rule "릺" "릺") (merge-rule "릻" "릻") (merge-rule "림" "림") (merge-rule "립" "립") (merge-rule "릾" "릾") (merge-rule "릿" "릿") (merge-rule "ë§€" "맀") (merge-rule "ë§" "링") (merge-rule "ë§‚" "맂") (merge-rule "맃" "맃") (merge-rule "ë§„" "맄") (merge-rule "ë§…" "맅") (merge-rule "맆" "á„…á…µá‡") (merge-rule "맇" "맇") (merge-rule "마" "마~b") (merge-rule "막" "막") (merge-rule "ë§Š" "맊") (merge-rule "ë§‹" "맋") (merge-rule "ë§Œ" "만") (merge-rule "ë§" "맍") (merge-rule "ë§Ž" "많") (merge-rule "ë§" "맏") (merge-rule "ë§" "말") (merge-rule "ë§‘" "맑") (merge-rule "ë§’" "맒") (merge-rule "ë§“" "맓") (merge-rule "ë§”" "맔") (merge-rule "ë§•" "맕") (merge-rule "ë§–" "맖") (merge-rule "ë§—" "맗") (merge-rule "맘" "맘") (merge-rule "ë§™" "맙") (merge-rule "ë§š" "맚") (merge-rule "ë§›" "맛") (merge-rule "ë§œ" "맜") (merge-rule "ë§" "망") (merge-rule "ë§ž" "맞") (merge-rule "ë§Ÿ" "맟") (merge-rule "ë§ " "맠") (merge-rule "ë§¡" "맡") (merge-rule "ë§¢" "마á‡") (merge-rule "ë§£" "맣") (merge-rule "매" "매~b") (merge-rule "ë§¥" "맥") (merge-rule "맦" "맦") (merge-rule "ë§§" "맧") (merge-rule "맨" "맨") (merge-rule "ë§©" "맩") (merge-rule "맪" "맪") (merge-rule "ë§«" "맫") (merge-rule "맬" "맬") (merge-rule "ë§­" "맭") (merge-rule "ë§®" "맮") (merge-rule "맯" "맯") (merge-rule "ë§°" "맰") (merge-rule "ë§±" "맱") (merge-rule "ë§²" "맲") (merge-rule "ë§³" "맳") (merge-rule "ë§´" "맴") (merge-rule "ë§µ" "맵") (merge-rule "ë§¶" "맶") (merge-rule "ë§·" "맷") (merge-rule "맸" "맸") (merge-rule "ë§¹" "맹") (merge-rule "맺" "맺") (merge-rule "ë§»" "맻") (merge-rule "ë§¼" "맼") (merge-rule "ë§½" "맽") (merge-rule "ë§¾" "매á‡") (merge-rule "ë§¿" "맿") (merge-rule "먀" "먀~b") (merge-rule "ë¨" "먁") (merge-rule "먂" "먂") (merge-rule "먃" "먃") (merge-rule "먄" "먄") (merge-rule "먅" "먅") (merge-rule "먆" "먆") (merge-rule "먇" "먇") (merge-rule "먈" "먈") (merge-rule "먉" "먉") (merge-rule "먊" "먊") (merge-rule "먋" "먋") (merge-rule "먌" "먌") (merge-rule "ë¨" "먍") (merge-rule "먎" "먎") (merge-rule "ë¨" "먏") (merge-rule "ë¨" "먐") (merge-rule "먑" "먑") (merge-rule "먒" "먒") (merge-rule "먓" "먓") (merge-rule "먔" "먔") (merge-rule "먕" "먕") (merge-rule "먖" "먖") (merge-rule "먗" "먗") (merge-rule "먘" "먘") (merge-rule "먙" "먙") (merge-rule "먚" "먀á‡") (merge-rule "먛" "먛") (merge-rule "먜" "먜~b") (merge-rule "ë¨" "먝") (merge-rule "먞" "먞") (merge-rule "먟" "먟") (merge-rule "먠" "먠") (merge-rule "먡" "먡") (merge-rule "먢" "먢") (merge-rule "먣" "먣") (merge-rule "먤" "먤") (merge-rule "먥" "먥") (merge-rule "먦" "먦") (merge-rule "먧" "먧") (merge-rule "먨" "먨") (merge-rule "먩" "먩") (merge-rule "먪" "먪") (merge-rule "먫" "먫") (merge-rule "먬" "먬") (merge-rule "먭" "먭") (merge-rule "먮" "먮") (merge-rule "먯" "먯") (merge-rule "먰" "먰") (merge-rule "먱" "먱") (merge-rule "먲" "먲") (merge-rule "먳" "먳") (merge-rule "먴" "먴") (merge-rule "먵" "먵") (merge-rule "먶" "먜á‡") (merge-rule "먷" "먷") (merge-rule "머" "머~b") (merge-rule "먹" "먹") (merge-rule "먺" "먺") (merge-rule "먻" "먻") (merge-rule "먼" "먼") (merge-rule "먽" "먽") (merge-rule "먾" "먾") (merge-rule "먿" "먿") (merge-rule "ë©€" "멀") (merge-rule "ë©" "멁") (merge-rule "ë©‚" "멂") (merge-rule "멃" "멃") (merge-rule "ë©„" "멄") (merge-rule "ë©…" "멅") (merge-rule "멆" "멆") (merge-rule "멇" "멇") (merge-rule "멈" "멈") (merge-rule "멉" "멉") (merge-rule "멊" "멊") (merge-rule "ë©‹" "멋") (merge-rule "멌" "멌") (merge-rule "ë©" "멍") (merge-rule "멎" "멎") (merge-rule "ë©" "멏") (merge-rule "ë©" "멐") (merge-rule "ë©‘" "멑") (merge-rule "ë©’" "머á‡") (merge-rule "ë©“" "멓") (merge-rule "ë©”" "메~b") (merge-rule "ë©•" "멕") (merge-rule "ë©–" "멖") (merge-rule "ë©—" "멗") (merge-rule "멘" "멘") (merge-rule "ë©™" "멙") (merge-rule "멚" "멚") (merge-rule "ë©›" "멛") (merge-rule "멜" "멜") (merge-rule "ë©" "멝") (merge-rule "멞" "멞") (merge-rule "멟" "멟") (merge-rule "ë© " "멠") (merge-rule "ë©¡" "멡") (merge-rule "ë©¢" "멢") (merge-rule "ë©£" "멣") (merge-rule "멤" "멤") (merge-rule "ë©¥" "멥") (merge-rule "멦" "멦") (merge-rule "ë©§" "멧") (merge-rule "멨" "멨") (merge-rule "ë©©" "멩") (merge-rule "멪" "멪") (merge-rule "ë©«" "멫") (merge-rule "멬" "멬") (merge-rule "ë©­" "멭") (merge-rule "ë©®" "메á‡") (merge-rule "멯" "멯") (merge-rule "ë©°" "며~b") (merge-rule "멱" "멱") (merge-rule "멲" "멲") (merge-rule "멳" "멳") (merge-rule "ë©´" "면") (merge-rule "멵" "멵") (merge-rule "ë©¶" "멶") (merge-rule "ë©·" "멷") (merge-rule "멸" "멸") (merge-rule "멹" "멹") (merge-rule "멺" "멺") (merge-rule "ë©»" "멻") (merge-rule "멼" "멼") (merge-rule "멽" "멽") (merge-rule "멾" "멾") (merge-rule "ë©¿" "멿") (merge-rule "몀" "몀") (merge-rule "ëª" "몁") (merge-rule "몂" "몂") (merge-rule "몃" "몃") (merge-rule "몄" "몄") (merge-rule "명" "명") (merge-rule "몆" "몆") (merge-rule "몇" "몇") (merge-rule "몈" "몈") (merge-rule "몉" "몉") (merge-rule "몊" "며á‡") (merge-rule "몋" "몋") (merge-rule "몌" "몌~b") (merge-rule "ëª" "몍") (merge-rule "몎" "몎") (merge-rule "ëª" "몏") (merge-rule "ëª" "몐") (merge-rule "몑" "몑") (merge-rule "몒" "몒") (merge-rule "몓" "몓") (merge-rule "몔" "몔") (merge-rule "몕" "몕") (merge-rule "몖" "몖") (merge-rule "몗" "몗") (merge-rule "몘" "몘") (merge-rule "몙" "몙") (merge-rule "몚" "몚") (merge-rule "몛" "몛") (merge-rule "몜" "몜") (merge-rule "ëª" "몝") (merge-rule "몞" "몞") (merge-rule "몟" "몟") (merge-rule "몠" "몠") (merge-rule "몡" "몡") (merge-rule "몢" "몢") (merge-rule "몣" "몣") (merge-rule "몤" "몤") (merge-rule "몥" "몥") (merge-rule "몦" "몌á‡") (merge-rule "몧" "몧") (merge-rule "모" "모~b") (merge-rule "목" "목") (merge-rule "몪" "몪") (merge-rule "몫" "몫") (merge-rule "몬" "몬") (merge-rule "몭" "몭") (merge-rule "몮" "몮") (merge-rule "몯" "몯") (merge-rule "몰" "몰") (merge-rule "몱" "몱") (merge-rule "몲" "몲") (merge-rule "몳" "몳") (merge-rule "몴" "몴") (merge-rule "몵" "몵") (merge-rule "몶" "몶") (merge-rule "몷" "몷") (merge-rule "몸" "몸") (merge-rule "몹" "몹") (merge-rule "몺" "몺") (merge-rule "못" "못") (merge-rule "몼" "몼") (merge-rule "몽" "몽") (merge-rule "몾" "몾") (merge-rule "몿" "몿") (merge-rule "ë«€" "뫀") (merge-rule "ë«" "뫁") (merge-rule "ë«‚" "모á‡") (merge-rule "뫃" "뫃") (merge-rule "ë«„" "뫄~b") (merge-rule "ë«…" "뫅") (merge-rule "뫆" "뫆") (merge-rule "뫇" "뫇") (merge-rule "뫈" "뫈") (merge-rule "뫉" "뫉") (merge-rule "뫊" "뫊") (merge-rule "ë«‹" "뫋") (merge-rule "뫌" "뫌") (merge-rule "ë«" "뫍") (merge-rule "뫎" "뫎") (merge-rule "ë«" "뫏") (merge-rule "ë«" "뫐") (merge-rule "ë«‘" "뫑") (merge-rule "ë«’" "뫒") (merge-rule "ë«“" "뫓") (merge-rule "ë«”" "뫔") (merge-rule "ë«•" "뫕") (merge-rule "ë«–" "뫖") (merge-rule "ë«—" "뫗") (merge-rule "뫘" "뫘") (merge-rule "ë«™" "뫙") (merge-rule "뫚" "뫚") (merge-rule "ë«›" "뫛") (merge-rule "뫜" "뫜") (merge-rule "ë«" "뫝") (merge-rule "뫞" "뫄á‡") (merge-rule "뫟" "뫟") (merge-rule "ë« " "뫠~b") (merge-rule "ë«¡" "뫡") (merge-rule "ë«¢" "뫢") (merge-rule "ë«£" "뫣") (merge-rule "뫤" "뫤") (merge-rule "ë«¥" "뫥") (merge-rule "뫦" "뫦") (merge-rule "ë«§" "뫧") (merge-rule "뫨" "뫨") (merge-rule "ë«©" "뫩") (merge-rule "뫪" "뫪") (merge-rule "ë««" "뫫") (merge-rule "뫬" "뫬") (merge-rule "ë«­" "뫭") (merge-rule "ë«®" "뫮") (merge-rule "뫯" "뫯") (merge-rule "ë«°" "뫰") (merge-rule "뫱" "뫱") (merge-rule "뫲" "뫲") (merge-rule "뫳" "뫳") (merge-rule "ë«´" "뫴") (merge-rule "뫵" "뫵") (merge-rule "ë«¶" "뫶") (merge-rule "ë«·" "뫷") (merge-rule "뫸" "뫸") (merge-rule "뫹" "뫹") (merge-rule "뫺" "뫠á‡") (merge-rule "ë«»" "뫻") (merge-rule "뫼" "뫼~b") (merge-rule "뫽" "뫽") (merge-rule "뫾" "뫾") (merge-rule "ë«¿" "뫿") (merge-rule "묀" "묀") (merge-rule "ë¬" "묁") (merge-rule "묂" "묂") (merge-rule "묃" "묃") (merge-rule "묄" "묄") (merge-rule "묅" "묅") (merge-rule "묆" "묆") (merge-rule "묇" "묇") (merge-rule "묈" "묈") (merge-rule "묉" "묉") (merge-rule "묊" "묊") (merge-rule "묋" "묋") (merge-rule "묌" "묌") (merge-rule "ë¬" "묍") (merge-rule "묎" "묎") (merge-rule "ë¬" "묏") (merge-rule "ë¬" "묐") (merge-rule "묑" "묑") (merge-rule "묒" "묒") (merge-rule "묓" "묓") (merge-rule "묔" "묔") (merge-rule "묕" "묕") (merge-rule "묖" "뫼á‡") (merge-rule "묗" "묗") (merge-rule "묘" "묘~b") (merge-rule "묙" "묙") (merge-rule "묚" "묚") (merge-rule "묛" "묛") (merge-rule "묜" "묜") (merge-rule "ë¬" "묝") (merge-rule "묞" "묞") (merge-rule "묟" "묟") (merge-rule "묠" "묠") (merge-rule "묡" "묡") (merge-rule "묢" "묢") (merge-rule "묣" "묣") (merge-rule "묤" "묤") (merge-rule "묥" "묥") (merge-rule "묦" "묦") (merge-rule "묧" "묧") (merge-rule "묨" "묨") (merge-rule "묩" "묩") (merge-rule "묪" "묪") (merge-rule "묫" "묫") (merge-rule "묬" "묬") (merge-rule "묭" "묭") (merge-rule "묮" "묮") (merge-rule "묯" "묯") (merge-rule "묰" "묰") (merge-rule "묱" "묱") (merge-rule "묲" "묘á‡") (merge-rule "묳" "묳") (merge-rule "무" "무~b") (merge-rule "묵" "묵") (merge-rule "묶" "묶") (merge-rule "묷" "묷") (merge-rule "문" "문") (merge-rule "묹" "묹") (merge-rule "묺" "묺") (merge-rule "묻" "묻") (merge-rule "물" "물") (merge-rule "묽" "묽") (merge-rule "묾" "묾") (merge-rule "묿" "묿") (merge-rule "ë­€" "뭀") (merge-rule "ë­" "뭁") (merge-rule "ë­‚" "뭂") (merge-rule "ë­ƒ" "뭃") (merge-rule "ë­„" "뭄") (merge-rule "ë­…" "뭅") (merge-rule "ë­†" "뭆") (merge-rule "ë­‡" "뭇") (merge-rule "ë­ˆ" "뭈") (merge-rule "ë­‰" "뭉") (merge-rule "ë­Š" "뭊") (merge-rule "ë­‹" "뭋") (merge-rule "ë­Œ" "뭌") (merge-rule "ë­" "뭍") (merge-rule "ë­Ž" "무á‡") (merge-rule "ë­" "뭏") (merge-rule "ë­" "뭐~b") (merge-rule "ë­‘" "뭑") (merge-rule "ë­’" "뭒") (merge-rule "ë­“" "뭓") (merge-rule "ë­”" "뭔") (merge-rule "ë­•" "뭕") (merge-rule "ë­–" "뭖") (merge-rule "ë­—" "뭗") (merge-rule "ë­˜" "뭘") (merge-rule "ë­™" "뭙") (merge-rule "ë­š" "뭚") (merge-rule "ë­›" "뭛") (merge-rule "ë­œ" "뭜") (merge-rule "ë­" "뭝") (merge-rule "ë­ž" "뭞") (merge-rule "ë­Ÿ" "뭟") (merge-rule "ë­ " "뭠") (merge-rule "ë­¡" "뭡") (merge-rule "ë­¢" "뭢") (merge-rule "ë­£" "뭣") (merge-rule "ë­¤" "뭤") (merge-rule "ë­¥" "뭥") (merge-rule "ë­¦" "뭦") (merge-rule "ë­§" "뭧") (merge-rule "ë­¨" "뭨") (merge-rule "ë­©" "뭩") (merge-rule "ë­ª" "뭐á‡") (merge-rule "ë­«" "뭫") (merge-rule "ë­¬" "뭬~b") (merge-rule "ë­­" "뭭") (merge-rule "ë­®" "뭮") (merge-rule "ë­¯" "뭯") (merge-rule "ë­°" "뭰") (merge-rule "ë­±" "뭱") (merge-rule "ë­²" "뭲") (merge-rule "ë­³" "뭳") (merge-rule "ë­´" "뭴") (merge-rule "ë­µ" "뭵") (merge-rule "ë­¶" "뭶") (merge-rule "ë­·" "뭷") (merge-rule "ë­¸" "뭸") (merge-rule "ë­¹" "뭹") (merge-rule "ë­º" "뭺") (merge-rule "ë­»" "뭻") (merge-rule "ë­¼" "뭼") (merge-rule "ë­½" "뭽") (merge-rule "ë­¾" "뭾") (merge-rule "ë­¿" "뭿") (merge-rule "뮀" "뮀") (merge-rule "ë®" "뮁") (merge-rule "뮂" "뮂") (merge-rule "뮃" "뮃") (merge-rule "뮄" "뮄") (merge-rule "ë®…" "뮅") (merge-rule "뮆" "뭬á‡") (merge-rule "뮇" "뮇") (merge-rule "뮈" "뮈~b") (merge-rule "뮉" "뮉") (merge-rule "뮊" "뮊") (merge-rule "뮋" "뮋") (merge-rule "뮌" "뮌") (merge-rule "ë®" "뮍") (merge-rule "뮎" "뮎") (merge-rule "ë®" "뮏") (merge-rule "ë®" "뮐") (merge-rule "뮑" "뮑") (merge-rule "ë®’" "뮒") (merge-rule "뮓" "뮓") (merge-rule "ë®”" "뮔") (merge-rule "뮕" "뮕") (merge-rule "ë®–" "뮖") (merge-rule "ë®—" "뮗") (merge-rule "뮘" "뮘") (merge-rule "ë®™" "뮙") (merge-rule "뮚" "뮚") (merge-rule "ë®›" "뮛") (merge-rule "뮜" "뮜") (merge-rule "ë®" "뮝") (merge-rule "뮞" "뮞") (merge-rule "뮟" "뮟") (merge-rule "ë® " "뮠") (merge-rule "뮡" "뮡") (merge-rule "뮢" "뮈á‡") (merge-rule "뮣" "뮣") (merge-rule "뮤" "뮤~b") (merge-rule "뮥" "뮥") (merge-rule "뮦" "뮦") (merge-rule "ë®§" "뮧") (merge-rule "뮨" "뮨") (merge-rule "뮩" "뮩") (merge-rule "뮪" "뮪") (merge-rule "뮫" "뮫") (merge-rule "뮬" "뮬") (merge-rule "ë®­" "뮭") (merge-rule "ë®®" "뮮") (merge-rule "뮯" "뮯") (merge-rule "ë®°" "뮰") (merge-rule "ë®±" "뮱") (merge-rule "뮲" "뮲") (merge-rule "뮳" "뮳") (merge-rule "ë®´" "뮴") (merge-rule "뮵" "뮵") (merge-rule "ë®¶" "뮶") (merge-rule "ë®·" "뮷") (merge-rule "뮸" "뮸") (merge-rule "뮹" "뮹") (merge-rule "뮺" "뮺") (merge-rule "ë®»" "뮻") (merge-rule "뮼" "뮼") (merge-rule "뮽" "뮽") (merge-rule "뮾" "뮤á‡") (merge-rule "뮿" "뮿") (merge-rule "므" "므~b") (merge-rule "ë¯" "믁") (merge-rule "믂" "믂") (merge-rule "믃" "믃") (merge-rule "믄" "믄") (merge-rule "믅" "믅") (merge-rule "믆" "믆") (merge-rule "믇" "믇") (merge-rule "믈" "믈") (merge-rule "믉" "믉") (merge-rule "믊" "믊") (merge-rule "믋" "믋") (merge-rule "믌" "믌") (merge-rule "ë¯" "믍") (merge-rule "믎" "믎") (merge-rule "ë¯" "믏") (merge-rule "ë¯" "믐") (merge-rule "믑" "믑") (merge-rule "믒" "믒") (merge-rule "믓" "믓") (merge-rule "믔" "믔") (merge-rule "믕" "믕") (merge-rule "믖" "믖") (merge-rule "믗" "믗") (merge-rule "믘" "믘") (merge-rule "믙" "믙") (merge-rule "믚" "므á‡") (merge-rule "믛" "믛") (merge-rule "믜" "믜~b") (merge-rule "ë¯" "믝") (merge-rule "믞" "믞") (merge-rule "믟" "믟") (merge-rule "믠" "믠") (merge-rule "믡" "믡") (merge-rule "믢" "믢") (merge-rule "믣" "믣") (merge-rule "믤" "믤") (merge-rule "믥" "믥") (merge-rule "믦" "믦") (merge-rule "믧" "믧") (merge-rule "믨" "믨") (merge-rule "믩" "믩") (merge-rule "믪" "믪") (merge-rule "믫" "믫") (merge-rule "믬" "믬") (merge-rule "믭" "믭") (merge-rule "믮" "믮") (merge-rule "믯" "믯") (merge-rule "믰" "믰") (merge-rule "믱" "믱") (merge-rule "믲" "믲") (merge-rule "믳" "믳") (merge-rule "믴" "믴") (merge-rule "믵" "믵") (merge-rule "믶" "믜á‡") (merge-rule "믷" "믷") (merge-rule "미" "미~b") (merge-rule "믹" "믹") (merge-rule "믺" "믺") (merge-rule "믻" "믻") (merge-rule "민" "민") (merge-rule "믽" "믽") (merge-rule "믾" "믾") (merge-rule "믿" "믿") (merge-rule "ë°€" "밀") (merge-rule "ë°" "밁") (merge-rule "ë°‚" "밂") (merge-rule "ë°ƒ" "밃") (merge-rule "ë°„" "밄") (merge-rule "ë°…" "밅") (merge-rule "ë°†" "밆") (merge-rule "ë°‡" "밇") (merge-rule "ë°ˆ" "밈") (merge-rule "ë°‰" "밉") (merge-rule "ë°Š" "밊") (merge-rule "ë°‹" "밋") (merge-rule "ë°Œ" "밌") (merge-rule "ë°" "밍") (merge-rule "ë°Ž" "밎") (merge-rule "ë°" "및") (merge-rule "ë°" "밐") (merge-rule "ë°‘" "밑") (merge-rule "ë°’" "미á‡") (merge-rule "ë°“" "밓") (merge-rule "ë°”" "바~b") (merge-rule "ë°•" "박") (merge-rule "ë°–" "밖") (merge-rule "ë°—" "밗") (merge-rule "ë°˜" "반") (merge-rule "ë°™" "밙") (merge-rule "ë°š" "밚") (merge-rule "ë°›" "받") (merge-rule "ë°œ" "발") (merge-rule "ë°" "밝") (merge-rule "ë°ž" "밞") (merge-rule "ë°Ÿ" "밟") (merge-rule "ë° " "밠") (merge-rule "ë°¡" "밡") (merge-rule "ë°¢" "밢") (merge-rule "ë°£" "밣") (merge-rule "ë°¤" "밤") (merge-rule "ë°¥" "밥") (merge-rule "ë°¦" "밦") (merge-rule "ë°§" "밧") (merge-rule "ë°¨" "밨") (merge-rule "ë°©" "방") (merge-rule "ë°ª" "밪") (merge-rule "ë°«" "밫") (merge-rule "ë°¬" "밬") (merge-rule "ë°­" "밭") (merge-rule "ë°®" "바á‡") (merge-rule "ë°¯" "밯") (merge-rule "ë°°" "배~b") (merge-rule "ë°±" "백") (merge-rule "ë°²" "밲") (merge-rule "ë°³" "밳") (merge-rule "ë°´" "밴") (merge-rule "ë°µ" "밵") (merge-rule "ë°¶" "밶") (merge-rule "ë°·" "밷") (merge-rule "ë°¸" "밸") (merge-rule "ë°¹" "밹") (merge-rule "ë°º" "밺") (merge-rule "ë°»" "밻") (merge-rule "ë°¼" "밼") (merge-rule "ë°½" "밽") (merge-rule "ë°¾" "밾") (merge-rule "ë°¿" "밿") (merge-rule "ë±€" "뱀") (merge-rule "ë±" "뱁") (merge-rule "뱂" "뱂") (merge-rule "뱃" "뱃") (merge-rule "뱄" "뱄") (merge-rule "ë±…" "뱅") (merge-rule "뱆" "뱆") (merge-rule "뱇" "뱇") (merge-rule "뱈" "뱈") (merge-rule "뱉" "뱉") (merge-rule "뱊" "배á‡") (merge-rule "뱋" "뱋") (merge-rule "뱌" "뱌~b") (merge-rule "ë±" "뱍") (merge-rule "뱎" "뱎") (merge-rule "ë±" "뱏") (merge-rule "ë±" "뱐") (merge-rule "뱑" "뱑") (merge-rule "ë±’" "뱒") (merge-rule "뱓" "뱓") (merge-rule "ë±”" "뱔") (merge-rule "뱕" "뱕") (merge-rule "ë±–" "뱖") (merge-rule "ë±—" "뱗") (merge-rule "뱘" "뱘") (merge-rule "ë±™" "뱙") (merge-rule "뱚" "뱚") (merge-rule "ë±›" "뱛") (merge-rule "뱜" "뱜") (merge-rule "ë±" "뱝") (merge-rule "뱞" "뱞") (merge-rule "뱟" "뱟") (merge-rule "ë± " "뱠") (merge-rule "뱡" "뱡") (merge-rule "ë±¢" "뱢") (merge-rule "ë±£" "뱣") (merge-rule "뱤" "뱤") (merge-rule "ë±¥" "뱥") (merge-rule "뱦" "뱌á‡") (merge-rule "ë±§" "뱧") (merge-rule "뱨" "뱨~b") (merge-rule "뱩" "뱩") (merge-rule "뱪" "뱪") (merge-rule "뱫" "뱫") (merge-rule "뱬" "뱬") (merge-rule "ë±­" "뱭") (merge-rule "ë±®" "뱮") (merge-rule "뱯" "뱯") (merge-rule "ë±°" "뱰") (merge-rule "ë±±" "뱱") (merge-rule "ë±²" "뱲") (merge-rule "ë±³" "뱳") (merge-rule "ë±´" "뱴") (merge-rule "ë±µ" "뱵") (merge-rule "ë±¶" "뱶") (merge-rule "ë±·" "뱷") (merge-rule "뱸" "뱸") (merge-rule "ë±¹" "뱹") (merge-rule "뱺" "뱺") (merge-rule "ë±»" "뱻") (merge-rule "ë±¼" "뱼") (merge-rule "ë±½" "뱽") (merge-rule "ë±¾" "뱾") (merge-rule "뱿" "뱿") (merge-rule "ë²€" "벀") (merge-rule "ë²" "벁") (merge-rule "벂" "뱨á‡") (merge-rule "벃" "벃") (merge-rule "버" "버~b") (merge-rule "ë²…" "벅") (merge-rule "벆" "벆") (merge-rule "벇" "벇") (merge-rule "번" "번") (merge-rule "벉" "벉") (merge-rule "벊" "벊") (merge-rule "벋" "벋") (merge-rule "벌" "벌") (merge-rule "ë²" "벍") (merge-rule "벎" "벎") (merge-rule "ë²" "벏") (merge-rule "ë²" "벐") (merge-rule "벑" "벑") (merge-rule "ë²’" "벒") (merge-rule "벓" "벓") (merge-rule "ë²”" "범") (merge-rule "법" "법") (merge-rule "ë²–" "벖") (merge-rule "ë²—" "벗") (merge-rule "벘" "벘") (merge-rule "ë²™" "벙") (merge-rule "벚" "벚") (merge-rule "ë²›" "벛") (merge-rule "벜" "벜") (merge-rule "ë²" "벝") (merge-rule "벞" "버á‡") (merge-rule "벟" "벟") (merge-rule "ë² " "베~b") (merge-rule "벡" "벡") (merge-rule "ë²¢" "벢") (merge-rule "ë²£" "벣") (merge-rule "벤" "벤") (merge-rule "ë²¥" "벥") (merge-rule "벦" "벦") (merge-rule "ë²§" "벧") (merge-rule "벨" "벨") (merge-rule "벩" "벩") (merge-rule "벪" "벪") (merge-rule "벫" "벫") (merge-rule "벬" "벬") (merge-rule "ë²­" "벭") (merge-rule "ë²®" "벮") (merge-rule "벯" "벯") (merge-rule "ë²°" "벰") (merge-rule "ë²±" "벱") (merge-rule "ë²²" "벲") (merge-rule "ë²³" "벳") (merge-rule "ë²´" "벴") (merge-rule "ë²µ" "벵") (merge-rule "ë²¶" "벶") (merge-rule "ë²·" "벷") (merge-rule "벸" "벸") (merge-rule "ë²¹" "벹") (merge-rule "벺" "베á‡") (merge-rule "ë²»" "벻") (merge-rule "ë²¼" "벼~b") (merge-rule "ë²½" "벽") (merge-rule "ë²¾" "벾") (merge-rule "벿" "벿") (merge-rule "ë³€" "변") (merge-rule "ë³" "볁") (merge-rule "볂" "볂") (merge-rule "볃" "볃") (merge-rule "별" "별") (merge-rule "ë³…" "볅") (merge-rule "볆" "볆") (merge-rule "볇" "볇") (merge-rule "볈" "볈") (merge-rule "볉" "볉") (merge-rule "볊" "볊") (merge-rule "볋" "볋") (merge-rule "볌" "볌") (merge-rule "ë³" "볍") (merge-rule "볎" "볎") (merge-rule "ë³" "볏") (merge-rule "ë³" "볐") (merge-rule "병" "병") (merge-rule "ë³’" "볒") (merge-rule "볓" "볓") (merge-rule "ë³”" "볔") (merge-rule "볕" "볕") (merge-rule "ë³–" "벼á‡") (merge-rule "ë³—" "볗") (merge-rule "볘" "볘~b") (merge-rule "ë³™" "볙") (merge-rule "볚" "볚") (merge-rule "ë³›" "볛") (merge-rule "볜" "볜") (merge-rule "ë³" "볝") (merge-rule "볞" "볞") (merge-rule "볟" "볟") (merge-rule "ë³ " "볠") (merge-rule "볡" "볡") (merge-rule "ë³¢" "볢") (merge-rule "ë³£" "볣") (merge-rule "볤" "볤") (merge-rule "ë³¥" "볥") (merge-rule "볦" "볦") (merge-rule "ë³§" "볧") (merge-rule "볨" "볨") (merge-rule "볩" "볩") (merge-rule "볪" "볪") (merge-rule "볫" "볫") (merge-rule "볬" "볬") (merge-rule "ë³­" "볭") (merge-rule "ë³®" "볮") (merge-rule "볯" "볯") (merge-rule "ë³°" "볰") (merge-rule "ë³±" "볱") (merge-rule "ë³²" "볘á‡") (merge-rule "ë³³" "볳") (merge-rule "ë³´" "보~b") (merge-rule "ë³µ" "복") (merge-rule "ë³¶" "볶") (merge-rule "ë³·" "볷") (merge-rule "본" "본") (merge-rule "ë³¹" "볹") (merge-rule "볺" "볺") (merge-rule "ë³»" "볻") (merge-rule "ë³¼" "볼") (merge-rule "ë³½" "볽") (merge-rule "ë³¾" "볾") (merge-rule "볿" "볿") (merge-rule "ë´€" "봀") (merge-rule "ë´" "봁") (merge-rule "ë´‚" "봂") (merge-rule "ë´ƒ" "봃") (merge-rule "ë´„" "봄") (merge-rule "ë´…" "봅") (merge-rule "ë´†" "봆") (merge-rule "ë´‡" "봇") (merge-rule "ë´ˆ" "봈") (merge-rule "ë´‰" "봉") (merge-rule "ë´Š" "봊") (merge-rule "ë´‹" "봋") (merge-rule "ë´Œ" "봌") (merge-rule "ë´" "봍") (merge-rule "ë´Ž" "보á‡") (merge-rule "ë´" "봏") (merge-rule "ë´" "봐~b") (merge-rule "ë´‘" "봑") (merge-rule "ë´’" "봒") (merge-rule "ë´“" "봓") (merge-rule "ë´”" "봔") (merge-rule "ë´•" "봕") (merge-rule "ë´–" "봖") (merge-rule "ë´—" "봗") (merge-rule "ë´˜" "봘") (merge-rule "ë´™" "봙") (merge-rule "ë´š" "봚") (merge-rule "ë´›" "봛") (merge-rule "ë´œ" "봜") (merge-rule "ë´" "봝") (merge-rule "ë´ž" "봞") (merge-rule "ë´Ÿ" "봟") (merge-rule "ë´ " "봠") (merge-rule "ë´¡" "봡") (merge-rule "ë´¢" "봢") (merge-rule "ë´£" "봣") (merge-rule "ë´¤" "봤") (merge-rule "ë´¥" "봥") (merge-rule "ë´¦" "봦") (merge-rule "ë´§" "봧") (merge-rule "ë´¨" "봨") (merge-rule "ë´©" "봩") (merge-rule "ë´ª" "봐á‡") (merge-rule "ë´«" "봫") (merge-rule "ë´¬" "봬~b") (merge-rule "ë´­" "봭") (merge-rule "ë´®" "봮") (merge-rule "ë´¯" "봯") (merge-rule "ë´°" "봰") (merge-rule "ë´±" "봱") (merge-rule "ë´²" "봲") (merge-rule "ë´³" "봳") (merge-rule "ë´´" "봴") (merge-rule "ë´µ" "봵") (merge-rule "ë´¶" "봶") (merge-rule "ë´·" "봷") (merge-rule "ë´¸" "봸") (merge-rule "ë´¹" "봹") (merge-rule "ë´º" "봺") (merge-rule "ë´»" "봻") (merge-rule "ë´¼" "봼") (merge-rule "ë´½" "봽") (merge-rule "ë´¾" "봾") (merge-rule "ë´¿" "봿") (merge-rule "ëµ€" "뵀") (merge-rule "ëµ" "뵁") (merge-rule "뵂" "뵂") (merge-rule "뵃" "뵃") (merge-rule "뵄" "뵄") (merge-rule "ëµ…" "뵅") (merge-rule "뵆" "봬á‡") (merge-rule "뵇" "뵇") (merge-rule "뵈" "뵈~b") (merge-rule "뵉" "뵉") (merge-rule "뵊" "뵊") (merge-rule "뵋" "뵋") (merge-rule "뵌" "뵌") (merge-rule "ëµ" "뵍") (merge-rule "뵎" "뵎") (merge-rule "ëµ" "뵏") (merge-rule "ëµ" "뵐") (merge-rule "뵑" "뵑") (merge-rule "ëµ’" "뵒") (merge-rule "뵓" "뵓") (merge-rule "ëµ”" "뵔") (merge-rule "뵕" "뵕") (merge-rule "ëµ–" "뵖") (merge-rule "ëµ—" "뵗") (merge-rule "뵘" "뵘") (merge-rule "ëµ™" "뵙") (merge-rule "뵚" "뵚") (merge-rule "ëµ›" "뵛") (merge-rule "뵜" "뵜") (merge-rule "ëµ" "뵝") (merge-rule "뵞" "뵞") (merge-rule "뵟" "뵟") (merge-rule "ëµ " "뵠") (merge-rule "뵡" "뵡") (merge-rule "ëµ¢" "뵈á‡") (merge-rule "ëµ£" "뵣") (merge-rule "뵤" "뵤~b") (merge-rule "ëµ¥" "뵥") (merge-rule "뵦" "뵦") (merge-rule "ëµ§" "뵧") (merge-rule "뵨" "뵨") (merge-rule "뵩" "뵩") (merge-rule "뵪" "뵪") (merge-rule "뵫" "뵫") (merge-rule "뵬" "뵬") (merge-rule "ëµ­" "뵭") (merge-rule "ëµ®" "뵮") (merge-rule "뵯" "뵯") (merge-rule "ëµ°" "뵰") (merge-rule "ëµ±" "뵱") (merge-rule "ëµ²" "뵲") (merge-rule "ëµ³" "뵳") (merge-rule "ëµ´" "뵴") (merge-rule "ëµµ" "뵵") (merge-rule "ëµ¶" "뵶") (merge-rule "ëµ·" "뵷") (merge-rule "뵸" "뵸") (merge-rule "ëµ¹" "뵹") (merge-rule "뵺" "뵺") (merge-rule "ëµ»" "뵻") (merge-rule "ëµ¼" "뵼") (merge-rule "ëµ½" "뵽") (merge-rule "ëµ¾" "뵤á‡") (merge-rule "뵿" "뵿") (merge-rule "ë¶€" "부~b") (merge-rule "ë¶" "북") (merge-rule "ë¶‚" "붂") (merge-rule "붃" "붃") (merge-rule "ë¶„" "분") (merge-rule "ë¶…" "붅") (merge-rule "붆" "붆") (merge-rule "붇" "붇") (merge-rule "불" "불") (merge-rule "붉" "붉") (merge-rule "ë¶Š" "붊") (merge-rule "ë¶‹" "붋") (merge-rule "ë¶Œ" "붌") (merge-rule "ë¶" "붍") (merge-rule "ë¶Ž" "붎") (merge-rule "ë¶" "붏") (merge-rule "ë¶" "붐") (merge-rule "ë¶‘" "붑") (merge-rule "ë¶’" "붒") (merge-rule "ë¶“" "붓") (merge-rule "ë¶”" "붔") (merge-rule "ë¶•" "붕") (merge-rule "ë¶–" "붖") (merge-rule "ë¶—" "붗") (merge-rule "붘" "붘") (merge-rule "ë¶™" "붙") (merge-rule "ë¶š" "부á‡") (merge-rule "ë¶›" "붛") (merge-rule "ë¶œ" "붜~b") (merge-rule "ë¶" "붝") (merge-rule "ë¶ž" "붞") (merge-rule "ë¶Ÿ" "붟") (merge-rule "ë¶ " "붠") (merge-rule "ë¶¡" "붡") (merge-rule "ë¶¢" "붢") (merge-rule "ë¶£" "붣") (merge-rule "붤" "붤") (merge-rule "ë¶¥" "붥") (merge-rule "붦" "붦") (merge-rule "ë¶§" "붧") (merge-rule "붨" "붨") (merge-rule "ë¶©" "붩") (merge-rule "붪" "붪") (merge-rule "ë¶«" "붫") (merge-rule "붬" "붬") (merge-rule "ë¶­" "붭") (merge-rule "ë¶®" "붮") (merge-rule "붯" "붯") (merge-rule "ë¶°" "붰") (merge-rule "ë¶±" "붱") (merge-rule "ë¶²" "붲") (merge-rule "ë¶³" "붳") (merge-rule "ë¶´" "붴") (merge-rule "ë¶µ" "붵") (merge-rule "ë¶¶" "붜á‡") (merge-rule "ë¶·" "붷") (merge-rule "붸" "붸~b") (merge-rule "ë¶¹" "붹") (merge-rule "붺" "붺") (merge-rule "ë¶»" "붻") (merge-rule "ë¶¼" "붼") (merge-rule "ë¶½" "붽") (merge-rule "ë¶¾" "붾") (merge-rule "ë¶¿" "붿") (merge-rule "ë·€" "뷀") (merge-rule "ë·" "뷁") (merge-rule "ë·‚" "뷂") (merge-rule "ë·ƒ" "뷃") (merge-rule "ë·„" "뷄") (merge-rule "ë·…" "뷅") (merge-rule "ë·†" "뷆") (merge-rule "ë·‡" "뷇") (merge-rule "ë·ˆ" "뷈") (merge-rule "ë·‰" "뷉") (merge-rule "ë·Š" "뷊") (merge-rule "ë·‹" "뷋") (merge-rule "ë·Œ" "뷌") (merge-rule "ë·" "뷍") (merge-rule "ë·Ž" "뷎") (merge-rule "ë·" "뷏") (merge-rule "ë·" "뷐") (merge-rule "ë·‘" "뷑") (merge-rule "ë·’" "붸á‡") (merge-rule "ë·“" "뷓") (merge-rule "ë·”" "뷔~b") (merge-rule "ë·•" "뷕") (merge-rule "ë·–" "뷖") (merge-rule "ë·—" "뷗") (merge-rule "ë·˜" "뷘") (merge-rule "ë·™" "뷙") (merge-rule "ë·š" "뷚") (merge-rule "ë·›" "뷛") (merge-rule "ë·œ" "뷜") (merge-rule "ë·" "뷝") (merge-rule "ë·ž" "뷞") (merge-rule "ë·Ÿ" "뷟") (merge-rule "ë· " "뷠") (merge-rule "ë·¡" "뷡") (merge-rule "ë·¢" "뷢") (merge-rule "ë·£" "뷣") (merge-rule "ë·¤" "뷤") (merge-rule "ë·¥" "뷥") (merge-rule "ë·¦" "뷦") (merge-rule "ë·§" "뷧") (merge-rule "ë·¨" "뷨") (merge-rule "ë·©" "뷩") (merge-rule "ë·ª" "뷪") (merge-rule "ë·«" "뷫") (merge-rule "ë·¬" "뷬") (merge-rule "ë·­" "뷭") (merge-rule "ë·®" "뷔á‡") (merge-rule "ë·¯" "뷯") (merge-rule "ë·°" "뷰~b") (merge-rule "ë·±" "뷱") (merge-rule "ë·²" "뷲") (merge-rule "ë·³" "뷳") (merge-rule "ë·´" "뷴") (merge-rule "ë·µ" "뷵") (merge-rule "ë·¶" "뷶") (merge-rule "ë··" "뷷") (merge-rule "ë·¸" "뷸") (merge-rule "ë·¹" "뷹") (merge-rule "ë·º" "뷺") (merge-rule "ë·»" "뷻") (merge-rule "ë·¼" "뷼") (merge-rule "ë·½" "뷽") (merge-rule "ë·¾" "뷾") (merge-rule "ë·¿" "뷿") (merge-rule "븀" "븀") (merge-rule "ë¸" "븁") (merge-rule "븂" "븂") (merge-rule "븃" "븃") (merge-rule "븄" "븄") (merge-rule "븅" "븅") (merge-rule "븆" "븆") (merge-rule "븇" "븇") (merge-rule "븈" "븈") (merge-rule "븉" "븉") (merge-rule "븊" "뷰á‡") (merge-rule "븋" "븋") (merge-rule "브" "브~b") (merge-rule "ë¸" "븍") (merge-rule "븎" "븎") (merge-rule "ë¸" "븏") (merge-rule "ë¸" "븐") (merge-rule "븑" "븑") (merge-rule "븒" "븒") (merge-rule "븓" "븓") (merge-rule "블" "블") (merge-rule "븕" "븕") (merge-rule "븖" "븖") (merge-rule "븗" "븗") (merge-rule "븘" "븘") (merge-rule "븙" "븙") (merge-rule "븚" "븚") (merge-rule "븛" "븛") (merge-rule "븜" "븜") (merge-rule "ë¸" "븝") (merge-rule "븞" "븞") (merge-rule "븟" "븟") (merge-rule "븠" "븠") (merge-rule "븡" "븡") (merge-rule "븢" "븢") (merge-rule "븣" "븣") (merge-rule "븤" "븤") (merge-rule "븥" "븥") (merge-rule "븦" "브á‡") (merge-rule "븧" "븧") (merge-rule "븨" "븨~b") (merge-rule "븩" "븩") (merge-rule "븪" "븪") (merge-rule "븫" "븫") (merge-rule "븬" "븬") (merge-rule "븭" "븭") (merge-rule "븮" "븮") (merge-rule "븯" "븯") (merge-rule "븰" "븰") (merge-rule "븱" "븱") (merge-rule "븲" "븲") (merge-rule "븳" "븳") (merge-rule "븴" "븴") (merge-rule "븵" "븵") (merge-rule "븶" "븶") (merge-rule "븷" "븷") (merge-rule "븸" "븸") (merge-rule "븹" "븹") (merge-rule "븺" "븺") (merge-rule "븻" "븻") (merge-rule "븼" "븼") (merge-rule "븽" "븽") (merge-rule "븾" "븾") (merge-rule "븿" "븿") (merge-rule "ë¹€" "빀") (merge-rule "ë¹" "빁") (merge-rule "빂" "븨á‡") (merge-rule "빃" "빃") (merge-rule "비" "비~b") (merge-rule "ë¹…" "빅") (merge-rule "빆" "빆") (merge-rule "빇" "빇") (merge-rule "빈" "빈") (merge-rule "빉" "빉") (merge-rule "빊" "빊") (merge-rule "빋" "빋") (merge-rule "빌" "빌") (merge-rule "ë¹" "빍") (merge-rule "빎" "빎") (merge-rule "ë¹" "빏") (merge-rule "ë¹" "빐") (merge-rule "빑" "빑") (merge-rule "ë¹’" "빒") (merge-rule "빓" "빓") (merge-rule "ë¹”" "빔") (merge-rule "빕" "빕") (merge-rule "ë¹–" "빖") (merge-rule "ë¹—" "빗") (merge-rule "빘" "빘") (merge-rule "ë¹™" "빙") (merge-rule "빚" "빚") (merge-rule "ë¹›" "빛") (merge-rule "빜" "빜") (merge-rule "ë¹" "빝") (merge-rule "빞" "비á‡") (merge-rule "빟" "빟") (merge-rule "ë¹ " "빠~b") (merge-rule "빡" "빡") (merge-rule "ë¹¢" "빢") (merge-rule "ë¹£" "빣") (merge-rule "빤" "빤") (merge-rule "ë¹¥" "빥") (merge-rule "빦" "빦") (merge-rule "ë¹§" "빧") (merge-rule "빨" "빨") (merge-rule "빩" "빩") (merge-rule "빪" "빪") (merge-rule "빫" "빫") (merge-rule "빬" "빬") (merge-rule "ë¹­" "빭") (merge-rule "ë¹®" "빮") (merge-rule "빯" "빯") (merge-rule "ë¹°" "빰") (merge-rule "ë¹±" "빱") (merge-rule "ë¹²" "빲") (merge-rule "ë¹³" "빳") (merge-rule "ë¹´" "빴") (merge-rule "ë¹µ" "빵") (merge-rule "ë¹¶" "빶") (merge-rule "ë¹·" "빷") (merge-rule "빸" "빸") (merge-rule "ë¹¹" "빹") (merge-rule "빺" "빠á‡") (merge-rule "ë¹»" "빻") (merge-rule "ë¹¼" "빼~b") (merge-rule "ë¹½" "빽") (merge-rule "ë¹¾" "빾") (merge-rule "빿" "빿") (merge-rule "뺀" "뺀") (merge-rule "ëº" "뺁") (merge-rule "뺂" "뺂") (merge-rule "뺃" "뺃") (merge-rule "뺄" "뺄") (merge-rule "뺅" "뺅") (merge-rule "뺆" "뺆") (merge-rule "뺇" "뺇") (merge-rule "뺈" "뺈") (merge-rule "뺉" "뺉") (merge-rule "뺊" "뺊") (merge-rule "뺋" "뺋") (merge-rule "뺌" "뺌") (merge-rule "ëº" "뺍") (merge-rule "뺎" "뺎") (merge-rule "ëº" "뺏") (merge-rule "ëº" "뺐") (merge-rule "뺑" "뺑") (merge-rule "뺒" "뺒") (merge-rule "뺓" "뺓") (merge-rule "뺔" "뺔") (merge-rule "뺕" "뺕") (merge-rule "뺖" "빼á‡") (merge-rule "뺗" "뺗") (merge-rule "뺘" "뺘~b") (merge-rule "뺙" "뺙") (merge-rule "뺚" "뺚") (merge-rule "뺛" "뺛") (merge-rule "뺜" "뺜") (merge-rule "ëº" "뺝") (merge-rule "뺞" "뺞") (merge-rule "뺟" "뺟") (merge-rule "뺠" "뺠") (merge-rule "뺡" "뺡") (merge-rule "뺢" "뺢") (merge-rule "뺣" "뺣") (merge-rule "뺤" "뺤") (merge-rule "뺥" "뺥") (merge-rule "뺦" "뺦") (merge-rule "뺧" "뺧") (merge-rule "뺨" "뺨") (merge-rule "뺩" "뺩") (merge-rule "뺪" "뺪") (merge-rule "뺫" "뺫") (merge-rule "뺬" "뺬") (merge-rule "뺭" "뺭") (merge-rule "뺮" "뺮") (merge-rule "뺯" "뺯") (merge-rule "뺰" "뺰") (merge-rule "뺱" "뺱") (merge-rule "뺲" "뺘á‡") (merge-rule "뺳" "뺳") (merge-rule "뺴" "뺴~b") (merge-rule "뺵" "뺵") (merge-rule "뺶" "뺶") (merge-rule "뺷" "뺷") (merge-rule "뺸" "뺸") (merge-rule "뺹" "뺹") (merge-rule "뺺" "뺺") (merge-rule "뺻" "뺻") (merge-rule "뺼" "뺼") (merge-rule "뺽" "뺽") (merge-rule "뺾" "뺾") (merge-rule "뺿" "뺿") (merge-rule "뻀" "뻀") (merge-rule "ë»" "뻁") (merge-rule "뻂" "뻂") (merge-rule "뻃" "뻃") (merge-rule "뻄" "뻄") (merge-rule "ë»…" "뻅") (merge-rule "뻆" "뻆") (merge-rule "뻇" "뻇") (merge-rule "뻈" "뻈") (merge-rule "뻉" "뻉") (merge-rule "뻊" "뻊") (merge-rule "뻋" "뻋") (merge-rule "뻌" "뻌") (merge-rule "ë»" "뻍") (merge-rule "뻎" "뺴á‡") (merge-rule "ë»" "뻏") (merge-rule "ë»" "뻐~b") (merge-rule "뻑" "뻑") (merge-rule "ë»’" "뻒") (merge-rule "뻓" "뻓") (merge-rule "ë»”" "뻔") (merge-rule "뻕" "뻕") (merge-rule "ë»–" "뻖") (merge-rule "ë»—" "뻗") (merge-rule "뻘" "뻘") (merge-rule "ë»™" "뻙") (merge-rule "뻚" "뻚") (merge-rule "ë»›" "뻛") (merge-rule "뻜" "뻜") (merge-rule "ë»" "뻝") (merge-rule "뻞" "뻞") (merge-rule "뻟" "뻟") (merge-rule "ë» " "뻠") (merge-rule "뻡" "뻡") (merge-rule "뻢" "뻢") (merge-rule "뻣" "뻣") (merge-rule "뻤" "뻤") (merge-rule "뻥" "뻥") (merge-rule "뻦" "뻦") (merge-rule "ë»§" "뻧") (merge-rule "뻨" "뻨") (merge-rule "뻩" "뻩") (merge-rule "뻪" "뻐á‡") (merge-rule "뻫" "뻫") (merge-rule "뻬" "뻬~b") (merge-rule "ë»­" "뻭") (merge-rule "ë»®" "뻮") (merge-rule "뻯" "뻯") (merge-rule "ë»°" "뻰") (merge-rule "ë»±" "뻱") (merge-rule "뻲" "뻲") (merge-rule "뻳" "뻳") (merge-rule "ë»´" "뻴") (merge-rule "뻵" "뻵") (merge-rule "ë»¶" "뻶") (merge-rule "ë»·" "뻷") (merge-rule "뻸" "뻸") (merge-rule "뻹" "뻹") (merge-rule "뻺" "뻺") (merge-rule "ë»»" "뻻") (merge-rule "뻼" "뻼") (merge-rule "뻽" "뻽") (merge-rule "뻾" "뻾") (merge-rule "뻿" "뻿") (merge-rule "ë¼€" "뼀") (merge-rule "ë¼" "뼁") (merge-rule "뼂" "뼂") (merge-rule "뼃" "뼃") (merge-rule "뼄" "뼄") (merge-rule "ë¼…" "뼅") (merge-rule "뼆" "뻬á‡") (merge-rule "뼇" "뼇") (merge-rule "뼈" "뼈~b") (merge-rule "뼉" "뼉") (merge-rule "뼊" "뼊") (merge-rule "뼋" "뼋") (merge-rule "뼌" "뼌") (merge-rule "ë¼" "뼍") (merge-rule "뼎" "뼎") (merge-rule "ë¼" "뼏") (merge-rule "ë¼" "뼐") (merge-rule "뼑" "뼑") (merge-rule "ë¼’" "뼒") (merge-rule "뼓" "뼓") (merge-rule "ë¼”" "뼔") (merge-rule "뼕" "뼕") (merge-rule "ë¼–" "뼖") (merge-rule "ë¼—" "뼗") (merge-rule "뼘" "뼘") (merge-rule "ë¼™" "뼙") (merge-rule "뼚" "뼚") (merge-rule "ë¼›" "뼛") (merge-rule "뼜" "뼜") (merge-rule "ë¼" "뼝") (merge-rule "뼞" "뼞") (merge-rule "뼟" "뼟") (merge-rule "ë¼ " "뼠") (merge-rule "뼡" "뼡") (merge-rule "ë¼¢" "뼈á‡") (merge-rule "ë¼£" "뼣") (merge-rule "뼤" "뼤~b") (merge-rule "ë¼¥" "뼥") (merge-rule "뼦" "뼦") (merge-rule "ë¼§" "뼧") (merge-rule "뼨" "뼨") (merge-rule "뼩" "뼩") (merge-rule "뼪" "뼪") (merge-rule "뼫" "뼫") (merge-rule "뼬" "뼬") (merge-rule "ë¼­" "뼭") (merge-rule "ë¼®" "뼮") (merge-rule "뼯" "뼯") (merge-rule "ë¼°" "뼰") (merge-rule "ë¼±" "뼱") (merge-rule "ë¼²" "뼲") (merge-rule "ë¼³" "뼳") (merge-rule "ë¼´" "뼴") (merge-rule "ë¼µ" "뼵") (merge-rule "ë¼¶" "뼶") (merge-rule "ë¼·" "뼷") (merge-rule "뼸" "뼸") (merge-rule "ë¼¹" "뼹") (merge-rule "뼺" "뼺") (merge-rule "ë¼»" "뼻") (merge-rule "ë¼¼" "뼼") (merge-rule "ë¼½" "뼽") (merge-rule "ë¼¾" "뼤á‡") (merge-rule "뼿" "뼿") (merge-rule "ë½€" "뽀~b") (merge-rule "ë½" "뽁") (merge-rule "뽂" "뽂") (merge-rule "뽃" "뽃") (merge-rule "뽄" "뽄") (merge-rule "ë½…" "뽅") (merge-rule "뽆" "뽆") (merge-rule "뽇" "뽇") (merge-rule "뽈" "뽈") (merge-rule "뽉" "뽉") (merge-rule "뽊" "뽊") (merge-rule "뽋" "뽋") (merge-rule "뽌" "뽌") (merge-rule "ë½" "뽍") (merge-rule "뽎" "뽎") (merge-rule "ë½" "뽏") (merge-rule "ë½" "뽐") (merge-rule "뽑" "뽑") (merge-rule "ë½’" "뽒") (merge-rule "뽓" "뽓") (merge-rule "ë½”" "뽔") (merge-rule "뽕" "뽕") (merge-rule "ë½–" "뽖") (merge-rule "ë½—" "뽗") (merge-rule "뽘" "뽘") (merge-rule "ë½™" "뽙") (merge-rule "뽚" "뽀á‡") (merge-rule "ë½›" "뽛") (merge-rule "뽜" "뽜~b") (merge-rule "ë½" "뽝") (merge-rule "뽞" "뽞") (merge-rule "뽟" "뽟") (merge-rule "ë½ " "뽠") (merge-rule "뽡" "뽡") (merge-rule "ë½¢" "뽢") (merge-rule "ë½£" "뽣") (merge-rule "뽤" "뽤") (merge-rule "ë½¥" "뽥") (merge-rule "뽦" "뽦") (merge-rule "ë½§" "뽧") (merge-rule "뽨" "뽨") (merge-rule "뽩" "뽩") (merge-rule "뽪" "뽪") (merge-rule "뽫" "뽫") (merge-rule "뽬" "뽬") (merge-rule "ë½­" "뽭") (merge-rule "ë½®" "뽮") (merge-rule "뽯" "뽯") (merge-rule "ë½°" "뽰") (merge-rule "ë½±" "뽱") (merge-rule "ë½²" "뽲") (merge-rule "ë½³" "뽳") (merge-rule "ë½´" "뽴") (merge-rule "ë½µ" "뽵") (merge-rule "ë½¶" "뽜á‡") (merge-rule "ë½·" "뽷") (merge-rule "뽸" "뽸~b") (merge-rule "ë½¹" "뽹") (merge-rule "뽺" "뽺") (merge-rule "ë½»" "뽻") (merge-rule "ë½¼" "뽼") (merge-rule "ë½½" "뽽") (merge-rule "ë½¾" "뽾") (merge-rule "뽿" "뽿") (merge-rule "ë¾€" "뾀") (merge-rule "ë¾" "뾁") (merge-rule "뾂" "뾂") (merge-rule "뾃" "뾃") (merge-rule "뾄" "뾄") (merge-rule "ë¾…" "뾅") (merge-rule "뾆" "뾆") (merge-rule "뾇" "뾇") (merge-rule "뾈" "뾈") (merge-rule "뾉" "뾉") (merge-rule "뾊" "뾊") (merge-rule "뾋" "뾋") (merge-rule "뾌" "뾌") (merge-rule "ë¾" "뾍") (merge-rule "뾎" "뾎") (merge-rule "ë¾" "뾏") (merge-rule "ë¾" "뾐") (merge-rule "뾑" "뾑") (merge-rule "ë¾’" "뽸á‡") (merge-rule "뾓" "뾓") (merge-rule "ë¾”" "뾔~b") (merge-rule "뾕" "뾕") (merge-rule "ë¾–" "뾖") (merge-rule "ë¾—" "뾗") (merge-rule "뾘" "뾘") (merge-rule "ë¾™" "뾙") (merge-rule "뾚" "뾚") (merge-rule "ë¾›" "뾛") (merge-rule "뾜" "뾜") (merge-rule "ë¾" "뾝") (merge-rule "뾞" "뾞") (merge-rule "뾟" "뾟") (merge-rule "ë¾ " "뾠") (merge-rule "뾡" "뾡") (merge-rule "ë¾¢" "뾢") (merge-rule "ë¾£" "뾣") (merge-rule "뾤" "뾤") (merge-rule "ë¾¥" "뾥") (merge-rule "뾦" "뾦") (merge-rule "ë¾§" "뾧") (merge-rule "뾨" "뾨") (merge-rule "뾩" "뾩") (merge-rule "뾪" "뾪") (merge-rule "뾫" "뾫") (merge-rule "뾬" "뾬") (merge-rule "ë¾­" "뾭") (merge-rule "ë¾®" "뾔á‡") (merge-rule "뾯" "뾯") (merge-rule "ë¾°" "뾰~b") (merge-rule "ë¾±" "뾱") (merge-rule "ë¾²" "뾲") (merge-rule "ë¾³" "뾳") (merge-rule "ë¾´" "뾴") (merge-rule "ë¾µ" "뾵") (merge-rule "ë¾¶" "뾶") (merge-rule "ë¾·" "뾷") (merge-rule "뾸" "뾸") (merge-rule "ë¾¹" "뾹") (merge-rule "뾺" "뾺") (merge-rule "ë¾»" "뾻") (merge-rule "ë¾¼" "뾼") (merge-rule "ë¾½" "뾽") (merge-rule "ë¾¾" "뾾") (merge-rule "뾿" "뾿") (merge-rule "ë¿€" "뿀") (merge-rule "ë¿" "뿁") (merge-rule "ë¿‚" "뿂") (merge-rule "뿃" "뿃") (merge-rule "ë¿„" "뿄") (merge-rule "ë¿…" "뿅") (merge-rule "뿆" "뿆") (merge-rule "뿇" "뿇") (merge-rule "뿈" "뿈") (merge-rule "뿉" "뿉") (merge-rule "뿊" "뾰á‡") (merge-rule "ë¿‹" "뿋") (merge-rule "뿌" "뿌~b") (merge-rule "ë¿" "뿍") (merge-rule "뿎" "뿎") (merge-rule "ë¿" "뿏") (merge-rule "ë¿" "뿐") (merge-rule "ë¿‘" "뿑") (merge-rule "ë¿’" "뿒") (merge-rule "ë¿“" "뿓") (merge-rule "ë¿”" "뿔") (merge-rule "ë¿•" "뿕") (merge-rule "ë¿–" "뿖") (merge-rule "ë¿—" "뿗") (merge-rule "뿘" "뿘") (merge-rule "ë¿™" "뿙") (merge-rule "뿚" "뿚") (merge-rule "ë¿›" "뿛") (merge-rule "뿜" "뿜") (merge-rule "ë¿" "뿝") (merge-rule "뿞" "뿞") (merge-rule "뿟" "뿟") (merge-rule "ë¿ " "뿠") (merge-rule "ë¿¡" "뿡") (merge-rule "ë¿¢" "뿢") (merge-rule "ë¿£" "뿣") (merge-rule "뿤" "뿤") (merge-rule "ë¿¥" "뿥") (merge-rule "뿦" "뿌á‡") (merge-rule "ë¿§" "뿧") (merge-rule "뿨" "뿨~b") (merge-rule "ë¿©" "뿩") (merge-rule "뿪" "뿪") (merge-rule "ë¿«" "뿫") (merge-rule "뿬" "뿬") (merge-rule "ë¿­" "뿭") (merge-rule "ë¿®" "뿮") (merge-rule "뿯" "뿯") (merge-rule "ë¿°" "뿰") (merge-rule "뿱" "뿱") (merge-rule "뿲" "뿲") (merge-rule "뿳" "뿳") (merge-rule "ë¿´" "뿴") (merge-rule "뿵" "뿵") (merge-rule "ë¿¶" "뿶") (merge-rule "ë¿·" "뿷") (merge-rule "뿸" "뿸") (merge-rule "뿹" "뿹") (merge-rule "뿺" "뿺") (merge-rule "ë¿»" "뿻") (merge-rule "뿼" "뿼") (merge-rule "뿽" "뿽") (merge-rule "뿾" "뿾") (merge-rule "ë¿¿" "뿿") (merge-rule "쀀" "쀀") (merge-rule "ì€" "쀁") (merge-rule "쀂" "뿨á‡") (merge-rule "쀃" "쀃") (merge-rule "쀄" "쀄~b") (merge-rule "쀅" "쀅") (merge-rule "쀆" "쀆") (merge-rule "쀇" "쀇") (merge-rule "쀈" "쀈") (merge-rule "쀉" "쀉") (merge-rule "쀊" "쀊") (merge-rule "쀋" "쀋") (merge-rule "쀌" "쀌") (merge-rule "ì€" "쀍") (merge-rule "쀎" "쀎") (merge-rule "ì€" "쀏") (merge-rule "ì€" "쀐") (merge-rule "쀑" "쀑") (merge-rule "쀒" "쀒") (merge-rule "쀓" "쀓") (merge-rule "쀔" "쀔") (merge-rule "쀕" "쀕") (merge-rule "쀖" "쀖") (merge-rule "쀗" "쀗") (merge-rule "쀘" "쀘") (merge-rule "쀙" "쀙") (merge-rule "쀚" "쀚") (merge-rule "쀛" "쀛") (merge-rule "쀜" "쀜") (merge-rule "ì€" "쀝") (merge-rule "쀞" "쀄á‡") (merge-rule "쀟" "쀟") (merge-rule "쀠" "쀠~b") (merge-rule "쀡" "쀡") (merge-rule "쀢" "쀢") (merge-rule "쀣" "쀣") (merge-rule "쀤" "쀤") (merge-rule "쀥" "쀥") (merge-rule "쀦" "쀦") (merge-rule "쀧" "쀧") (merge-rule "쀨" "쀨") (merge-rule "쀩" "쀩") (merge-rule "쀪" "쀪") (merge-rule "쀫" "쀫") (merge-rule "쀬" "쀬") (merge-rule "쀭" "쀭") (merge-rule "쀮" "쀮") (merge-rule "쀯" "쀯") (merge-rule "쀰" "쀰") (merge-rule "쀱" "쀱") (merge-rule "쀲" "쀲") (merge-rule "쀳" "쀳") (merge-rule "쀴" "쀴") (merge-rule "쀵" "쀵") (merge-rule "쀶" "쀶") (merge-rule "쀷" "쀷") (merge-rule "쀸" "쀸") (merge-rule "쀹" "쀹") (merge-rule "쀺" "쀠á‡") (merge-rule "쀻" "쀻") (merge-rule "쀼" "쀼~b") (merge-rule "쀽" "쀽") (merge-rule "쀾" "쀾") (merge-rule "쀿" "쀿") (merge-rule "ì€" "쁀") (merge-rule "ì" "쁁") (merge-rule "ì‚" "쁂") (merge-rule "ìƒ" "쁃") (merge-rule "ì„" "쁄") (merge-rule "ì…" "쁅") (merge-rule "ì†" "쁆") (merge-rule "ì‡" "쁇") (merge-rule "ìˆ" "쁈") (merge-rule "ì‰" "쁉") (merge-rule "ìŠ" "쁊") (merge-rule "ì‹" "쁋") (merge-rule "ìŒ" "쁌") (merge-rule "ì" "쁍") (merge-rule "ìŽ" "쁎") (merge-rule "ì" "쁏") (merge-rule "ì" "쁐") (merge-rule "ì‘" "쁑") (merge-rule "ì’" "쁒") (merge-rule "ì“" "쁓") (merge-rule "ì”" "쁔") (merge-rule "ì•" "쁕") (merge-rule "ì–" "쀼á‡") (merge-rule "ì—" "쁗") (merge-rule "ì˜" "쁘~b") (merge-rule "ì™" "쁙") (merge-rule "ìš" "쁚") (merge-rule "ì›" "쁛") (merge-rule "ìœ" "쁜") (merge-rule "ì" "쁝") (merge-rule "ìž" "쁞") (merge-rule "ìŸ" "쁟") (merge-rule "ì " "쁠") (merge-rule "ì¡" "쁡") (merge-rule "ì¢" "쁢") (merge-rule "ì£" "쁣") (merge-rule "ì¤" "쁤") (merge-rule "ì¥" "쁥") (merge-rule "ì¦" "쁦") (merge-rule "ì§" "쁧") (merge-rule "ì¨" "쁨") (merge-rule "ì©" "쁩") (merge-rule "ìª" "쁪") (merge-rule "ì«" "쁫") (merge-rule "ì¬" "쁬") (merge-rule "ì­" "쁭") (merge-rule "ì®" "쁮") (merge-rule "ì¯" "쁯") (merge-rule "ì°" "쁰") (merge-rule "ì±" "쁱") (merge-rule "ì²" "쁘á‡") (merge-rule "ì³" "쁳") (merge-rule "ì´" "쁴~b") (merge-rule "ìµ" "쁵") (merge-rule "ì¶" "쁶") (merge-rule "ì·" "쁷") (merge-rule "ì¸" "쁸") (merge-rule "ì¹" "쁹") (merge-rule "ìº" "쁺") (merge-rule "ì»" "쁻") (merge-rule "ì¼" "쁼") (merge-rule "ì½" "쁽") (merge-rule "ì¾" "쁾") (merge-rule "ì¿" "쁿") (merge-rule "ì‚€" "삀") (merge-rule "ì‚" "삁") (merge-rule "ì‚‚" "삂") (merge-rule "삃" "삃") (merge-rule "ì‚„" "삄") (merge-rule "ì‚…" "삅") (merge-rule "삆" "삆") (merge-rule "삇" "삇") (merge-rule "삈" "삈") (merge-rule "삉" "삉") (merge-rule "삊" "삊") (merge-rule "ì‚‹" "삋") (merge-rule "삌" "삌") (merge-rule "ì‚" "삍") (merge-rule "삎" "쁴á‡") (merge-rule "ì‚" "삏") (merge-rule "ì‚" "삐~b") (merge-rule "ì‚‘" "삑") (merge-rule "ì‚’" "삒") (merge-rule "ì‚“" "삓") (merge-rule "ì‚”" "삔") (merge-rule "ì‚•" "삕") (merge-rule "ì‚–" "삖") (merge-rule "ì‚—" "삗") (merge-rule "삘" "삘") (merge-rule "ì‚™" "삙") (merge-rule "삚" "삚") (merge-rule "ì‚›" "삛") (merge-rule "삜" "삜") (merge-rule "ì‚" "삝") (merge-rule "삞" "삞") (merge-rule "삟" "삟") (merge-rule "ì‚ " "삠") (merge-rule "ì‚¡" "삡") (merge-rule "ì‚¢" "삢") (merge-rule "ì‚£" "삣") (merge-rule "삤" "삤") (merge-rule "ì‚¥" "삥") (merge-rule "삦" "삦") (merge-rule "ì‚§" "삧") (merge-rule "삨" "삨") (merge-rule "ì‚©" "삩") (merge-rule "삪" "삐á‡") (merge-rule "ì‚«" "삫") (merge-rule "사" "사~b") (merge-rule "ì‚­" "삭") (merge-rule "ì‚®" "삮") (merge-rule "삯" "삯") (merge-rule "ì‚°" "산") (merge-rule "삱" "삱") (merge-rule "삲" "삲") (merge-rule "삳" "삳") (merge-rule "ì‚´" "살") (merge-rule "삵" "삵") (merge-rule "ì‚¶" "삶") (merge-rule "ì‚·" "삷") (merge-rule "삸" "삸") (merge-rule "삹" "삹") (merge-rule "삺" "삺") (merge-rule "ì‚»" "삻") (merge-rule "삼" "삼") (merge-rule "삽" "삽") (merge-rule "삾" "삾") (merge-rule "ì‚¿" "삿") (merge-rule "샀" "샀") (merge-rule "ìƒ" "상") (merge-rule "샂" "샂") (merge-rule "샃" "샃") (merge-rule "샄" "샄") (merge-rule "샅" "샅") (merge-rule "샆" "사á‡") (merge-rule "샇" "샇") (merge-rule "새" "새~b") (merge-rule "색" "색") (merge-rule "샊" "샊") (merge-rule "샋" "샋") (merge-rule "샌" "샌") (merge-rule "ìƒ" "샍") (merge-rule "샎" "샎") (merge-rule "ìƒ" "샏") (merge-rule "ìƒ" "샐") (merge-rule "샑" "샑") (merge-rule "샒" "샒") (merge-rule "샓" "샓") (merge-rule "샔" "샔") (merge-rule "샕" "샕") (merge-rule "샖" "샖") (merge-rule "샗" "샗") (merge-rule "샘" "샘") (merge-rule "샙" "샙") (merge-rule "샚" "샚") (merge-rule "샛" "샛") (merge-rule "샜" "샜") (merge-rule "ìƒ" "생") (merge-rule "샞" "샞") (merge-rule "샟" "샟") (merge-rule "샠" "샠") (merge-rule "샡" "샡") (merge-rule "샢" "새á‡") (merge-rule "샣" "샣") (merge-rule "샤" "샤~b") (merge-rule "샥" "샥") (merge-rule "샦" "샦") (merge-rule "샧" "샧") (merge-rule "샨" "샨") (merge-rule "샩" "샩") (merge-rule "샪" "샪") (merge-rule "샫" "샫") (merge-rule "샬" "샬") (merge-rule "샭" "샭") (merge-rule "샮" "샮") (merge-rule "샯" "샯") (merge-rule "샰" "샰") (merge-rule "샱" "샱") (merge-rule "샲" "샲") (merge-rule "샳" "샳") (merge-rule "샴" "샴") (merge-rule "샵" "샵") (merge-rule "샶" "샶") (merge-rule "샷" "샷") (merge-rule "샸" "샸") (merge-rule "샹" "샹") (merge-rule "샺" "샺") (merge-rule "샻" "샻") (merge-rule "샼" "샼") (merge-rule "샽" "샽") (merge-rule "샾" "샤á‡") (merge-rule "샿" "샿") (merge-rule "ì„€" "섀~b") (merge-rule "ì„" "섁") (merge-rule "ì„‚" "섂") (merge-rule "섃" "섃") (merge-rule "ì„„" "섄") (merge-rule "ì„…" "섅") (merge-rule "섆" "섆") (merge-rule "섇" "섇") (merge-rule "섈" "섈") (merge-rule "섉" "섉") (merge-rule "섊" "섊") (merge-rule "ì„‹" "섋") (merge-rule "섌" "섌") (merge-rule "ì„" "섍") (merge-rule "섎" "섎") (merge-rule "ì„" "섏") (merge-rule "ì„" "섐") (merge-rule "ì„‘" "섑") (merge-rule "ì„’" "섒") (merge-rule "ì„“" "섓") (merge-rule "ì„”" "섔") (merge-rule "ì„•" "섕") (merge-rule "ì„–" "섖") (merge-rule "ì„—" "섗") (merge-rule "섘" "섘") (merge-rule "ì„™" "섙") (merge-rule "섚" "섀á‡") (merge-rule "ì„›" "섛") (merge-rule "서" "서~b") (merge-rule "ì„" "석") (merge-rule "섞" "섞") (merge-rule "섟" "섟") (merge-rule "ì„ " "선") (merge-rule "ì„¡" "섡") (merge-rule "ì„¢" "섢") (merge-rule "ì„£" "섣") (merge-rule "설" "설") (merge-rule "ì„¥" "섥") (merge-rule "섦" "섦") (merge-rule "ì„§" "섧") (merge-rule "섨" "섨") (merge-rule "ì„©" "섩") (merge-rule "섪" "섪") (merge-rule "ì„«" "섫") (merge-rule "섬" "섬") (merge-rule "ì„­" "섭") (merge-rule "ì„®" "섮") (merge-rule "섯" "섯") (merge-rule "ì„°" "섰") (merge-rule "성" "성") (merge-rule "섲" "섲") (merge-rule "섳" "섳") (merge-rule "ì„´" "섴") (merge-rule "섵" "섵") (merge-rule "ì„¶" "서á‡") (merge-rule "ì„·" "섷") (merge-rule "세" "세~b") (merge-rule "섹" "섹") (merge-rule "섺" "섺") (merge-rule "ì„»" "섻") (merge-rule "센" "센") (merge-rule "섽" "섽") (merge-rule "섾" "섾") (merge-rule "ì„¿" "섿") (merge-rule "ì…€" "셀") (merge-rule "ì…" "셁") (merge-rule "ì…‚" "셂") (merge-rule "ì…ƒ" "셃") (merge-rule "ì…„" "셄") (merge-rule "ì……" "셅") (merge-rule "ì…†" "셆") (merge-rule "ì…‡" "셇") (merge-rule "ì…ˆ" "셈") (merge-rule "ì…‰" "셉") (merge-rule "ì…Š" "셊") (merge-rule "ì…‹" "셋") (merge-rule "ì…Œ" "셌") (merge-rule "ì…" "셍") (merge-rule "ì…Ž" "셎") (merge-rule "ì…" "셏") (merge-rule "ì…" "셐") (merge-rule "ì…‘" "셑") (merge-rule "ì…’" "세á‡") (merge-rule "ì…“" "셓") (merge-rule "ì…”" "셔~b") (merge-rule "ì…•" "셕") (merge-rule "ì…–" "셖") (merge-rule "ì…—" "셗") (merge-rule "ì…˜" "션") (merge-rule "ì…™" "셙") (merge-rule "ì…š" "셚") (merge-rule "ì…›" "셛") (merge-rule "ì…œ" "셜") (merge-rule "ì…" "셝") (merge-rule "ì…ž" "셞") (merge-rule "ì…Ÿ" "셟") (merge-rule "ì… " "셠") (merge-rule "ì…¡" "셡") (merge-rule "ì…¢" "셢") (merge-rule "ì…£" "셣") (merge-rule "ì…¤" "셤") (merge-rule "ì…¥" "셥") (merge-rule "ì…¦" "셦") (merge-rule "ì…§" "셧") (merge-rule "ì…¨" "셨") (merge-rule "ì…©" "셩") (merge-rule "ì…ª" "셪") (merge-rule "ì…«" "셫") (merge-rule "ì…¬" "셬") (merge-rule "ì…­" "셭") (merge-rule "ì…®" "셔á‡") (merge-rule "ì…¯" "셯") (merge-rule "ì…°" "셰~b") (merge-rule "ì…±" "셱") (merge-rule "ì…²" "셲") (merge-rule "ì…³" "셳") (merge-rule "ì…´" "셴") (merge-rule "ì…µ" "셵") (merge-rule "ì…¶" "셶") (merge-rule "ì…·" "셷") (merge-rule "ì…¸" "셸") (merge-rule "ì…¹" "셹") (merge-rule "ì…º" "셺") (merge-rule "ì…»" "셻") (merge-rule "ì…¼" "셼") (merge-rule "ì…½" "셽") (merge-rule "ì…¾" "셾") (merge-rule "ì…¿" "셿") (merge-rule "솀" "솀") (merge-rule "ì†" "솁") (merge-rule "솂" "솂") (merge-rule "솃" "솃") (merge-rule "솄" "솄") (merge-rule "솅" "솅") (merge-rule "솆" "솆") (merge-rule "솇" "솇") (merge-rule "솈" "솈") (merge-rule "솉" "솉") (merge-rule "솊" "셰á‡") (merge-rule "솋" "솋") (merge-rule "소" "소~b") (merge-rule "ì†" "속") (merge-rule "솎" "솎") (merge-rule "ì†" "솏") (merge-rule "ì†" "손") (merge-rule "솑" "솑") (merge-rule "솒" "솒") (merge-rule "솓" "솓") (merge-rule "솔" "솔") (merge-rule "솕" "솕") (merge-rule "솖" "솖") (merge-rule "솗" "솗") (merge-rule "솘" "솘") (merge-rule "솙" "솙") (merge-rule "솚" "솚") (merge-rule "솛" "솛") (merge-rule "솜" "솜") (merge-rule "ì†" "솝") (merge-rule "솞" "솞") (merge-rule "솟" "솟") (merge-rule "솠" "솠") (merge-rule "송" "송") (merge-rule "솢" "솢") (merge-rule "솣" "솣") (merge-rule "솤" "솤") (merge-rule "솥" "솥") (merge-rule "솦" "소á‡") (merge-rule "솧" "솧") (merge-rule "솨" "솨~b") (merge-rule "솩" "솩") (merge-rule "솪" "솪") (merge-rule "솫" "솫") (merge-rule "솬" "솬") (merge-rule "솭" "솭") (merge-rule "솮" "솮") (merge-rule "솯" "솯") (merge-rule "솰" "솰") (merge-rule "솱" "솱") (merge-rule "솲" "솲") (merge-rule "솳" "솳") (merge-rule "솴" "솴") (merge-rule "솵" "솵") (merge-rule "솶" "솶") (merge-rule "솷" "솷") (merge-rule "솸" "솸") (merge-rule "솹" "솹") (merge-rule "솺" "솺") (merge-rule "솻" "솻") (merge-rule "솼" "솼") (merge-rule "솽" "솽") (merge-rule "솾" "솾") (merge-rule "솿" "솿") (merge-rule "쇀" "쇀") (merge-rule "ì‡" "쇁") (merge-rule "쇂" "솨á‡") (merge-rule "쇃" "쇃") (merge-rule "쇄" "쇄~b") (merge-rule "쇅" "쇅") (merge-rule "쇆" "쇆") (merge-rule "쇇" "쇇") (merge-rule "쇈" "쇈") (merge-rule "쇉" "쇉") (merge-rule "쇊" "쇊") (merge-rule "쇋" "쇋") (merge-rule "쇌" "쇌") (merge-rule "ì‡" "쇍") (merge-rule "쇎" "쇎") (merge-rule "ì‡" "쇏") (merge-rule "ì‡" "쇐") (merge-rule "쇑" "쇑") (merge-rule "쇒" "쇒") (merge-rule "쇓" "쇓") (merge-rule "쇔" "쇔") (merge-rule "쇕" "쇕") (merge-rule "쇖" "쇖") (merge-rule "쇗" "쇗") (merge-rule "쇘" "쇘") (merge-rule "쇙" "쇙") (merge-rule "쇚" "쇚") (merge-rule "쇛" "쇛") (merge-rule "쇜" "쇜") (merge-rule "ì‡" "쇝") (merge-rule "쇞" "쇄á‡") (merge-rule "쇟" "쇟") (merge-rule "쇠" "쇠~b") (merge-rule "쇡" "쇡") (merge-rule "쇢" "쇢") (merge-rule "쇣" "쇣") (merge-rule "쇤" "쇤") (merge-rule "쇥" "쇥") (merge-rule "쇦" "쇦") (merge-rule "쇧" "쇧") (merge-rule "쇨" "쇨") (merge-rule "쇩" "쇩") (merge-rule "쇪" "쇪") (merge-rule "쇫" "쇫") (merge-rule "쇬" "쇬") (merge-rule "쇭" "쇭") (merge-rule "쇮" "쇮") (merge-rule "쇯" "쇯") (merge-rule "쇰" "쇰") (merge-rule "쇱" "쇱") (merge-rule "쇲" "쇲") (merge-rule "쇳" "쇳") (merge-rule "쇴" "쇴") (merge-rule "쇵" "쇵") (merge-rule "쇶" "쇶") (merge-rule "쇷" "쇷") (merge-rule "쇸" "쇸") (merge-rule "쇹" "쇹") (merge-rule "쇺" "쇠á‡") (merge-rule "쇻" "쇻") (merge-rule "쇼" "쇼~b") (merge-rule "쇽" "쇽") (merge-rule "쇾" "쇾") (merge-rule "쇿" "쇿") (merge-rule "숀" "숀") (merge-rule "ìˆ" "숁") (merge-rule "숂" "숂") (merge-rule "숃" "숃") (merge-rule "숄" "숄") (merge-rule "숅" "숅") (merge-rule "숆" "숆") (merge-rule "숇" "숇") (merge-rule "숈" "숈") (merge-rule "숉" "숉") (merge-rule "숊" "숊") (merge-rule "숋" "숋") (merge-rule "숌" "숌") (merge-rule "ìˆ" "숍") (merge-rule "숎" "숎") (merge-rule "ìˆ" "숏") (merge-rule "ìˆ" "숐") (merge-rule "숑" "숑") (merge-rule "숒" "숒") (merge-rule "숓" "숓") (merge-rule "숔" "숔") (merge-rule "숕" "숕") (merge-rule "숖" "쇼á‡") (merge-rule "숗" "숗") (merge-rule "수" "수~b") (merge-rule "숙" "숙") (merge-rule "숚" "숚") (merge-rule "숛" "숛") (merge-rule "순" "순") (merge-rule "ìˆ" "숝") (merge-rule "숞" "숞") (merge-rule "숟" "숟") (merge-rule "술" "술") (merge-rule "숡" "숡") (merge-rule "숢" "숢") (merge-rule "숣" "숣") (merge-rule "숤" "숤") (merge-rule "숥" "숥") (merge-rule "숦" "숦") (merge-rule "숧" "숧") (merge-rule "숨" "숨") (merge-rule "숩" "숩") (merge-rule "숪" "숪") (merge-rule "숫" "숫") (merge-rule "숬" "숬") (merge-rule "숭" "숭") (merge-rule "숮" "숮") (merge-rule "숯" "숯") (merge-rule "숰" "숰") (merge-rule "숱" "숱") (merge-rule "숲" "수á‡") (merge-rule "숳" "숳") (merge-rule "숴" "숴~b") (merge-rule "숵" "숵") (merge-rule "숶" "숶") (merge-rule "숷" "숷") (merge-rule "숸" "숸") (merge-rule "숹" "숹") (merge-rule "숺" "숺") (merge-rule "숻" "숻") (merge-rule "숼" "숼") (merge-rule "숽" "숽") (merge-rule "숾" "숾") (merge-rule "숿" "숿") (merge-rule "쉀" "쉀") (merge-rule "ì‰" "쉁") (merge-rule "쉂" "쉂") (merge-rule "쉃" "쉃") (merge-rule "쉄" "쉄") (merge-rule "쉅" "쉅") (merge-rule "쉆" "쉆") (merge-rule "쉇" "쉇") (merge-rule "쉈" "쉈") (merge-rule "쉉" "쉉") (merge-rule "쉊" "쉊") (merge-rule "쉋" "쉋") (merge-rule "쉌" "쉌") (merge-rule "ì‰" "쉍") (merge-rule "쉎" "숴á‡") (merge-rule "ì‰" "쉏") (merge-rule "ì‰" "쉐~b") (merge-rule "쉑" "쉑") (merge-rule "쉒" "쉒") (merge-rule "쉓" "쉓") (merge-rule "쉔" "쉔") (merge-rule "쉕" "쉕") (merge-rule "쉖" "쉖") (merge-rule "쉗" "쉗") (merge-rule "쉘" "쉘") (merge-rule "쉙" "쉙") (merge-rule "쉚" "쉚") (merge-rule "쉛" "쉛") (merge-rule "쉜" "쉜") (merge-rule "ì‰" "쉝") (merge-rule "쉞" "쉞") (merge-rule "쉟" "쉟") (merge-rule "쉠" "쉠") (merge-rule "쉡" "쉡") (merge-rule "쉢" "쉢") (merge-rule "쉣" "쉣") (merge-rule "쉤" "쉤") (merge-rule "쉥" "쉥") (merge-rule "쉦" "쉦") (merge-rule "쉧" "쉧") (merge-rule "쉨" "쉨") (merge-rule "쉩" "쉩") (merge-rule "쉪" "쉐á‡") (merge-rule "쉫" "쉫") (merge-rule "쉬" "쉬~b") (merge-rule "쉭" "쉭") (merge-rule "쉮" "쉮") (merge-rule "쉯" "쉯") (merge-rule "쉰" "쉰") (merge-rule "쉱" "쉱") (merge-rule "쉲" "쉲") (merge-rule "쉳" "쉳") (merge-rule "쉴" "쉴") (merge-rule "쉵" "쉵") (merge-rule "쉶" "쉶") (merge-rule "쉷" "쉷") (merge-rule "쉸" "쉸") (merge-rule "쉹" "쉹") (merge-rule "쉺" "쉺") (merge-rule "쉻" "쉻") (merge-rule "쉼" "쉼") (merge-rule "쉽" "쉽") (merge-rule "쉾" "쉾") (merge-rule "쉿" "쉿") (merge-rule "슀" "슀") (merge-rule "ìŠ" "슁") (merge-rule "슂" "슂") (merge-rule "슃" "슃") (merge-rule "슄" "슄") (merge-rule "슅" "슅") (merge-rule "슆" "쉬á‡") (merge-rule "슇" "슇") (merge-rule "슈" "슈~b") (merge-rule "슉" "슉") (merge-rule "슊" "슊") (merge-rule "슋" "슋") (merge-rule "슌" "슌") (merge-rule "ìŠ" "슍") (merge-rule "슎" "슎") (merge-rule "ìŠ" "슏") (merge-rule "ìŠ" "슐") (merge-rule "슑" "슑") (merge-rule "슒" "슒") (merge-rule "슓" "슓") (merge-rule "슔" "슔") (merge-rule "슕" "슕") (merge-rule "슖" "슖") (merge-rule "슗" "슗") (merge-rule "슘" "슘") (merge-rule "슙" "슙") (merge-rule "슚" "슚") (merge-rule "슛" "슛") (merge-rule "슜" "슜") (merge-rule "ìŠ" "슝") (merge-rule "슞" "슞") (merge-rule "슟" "슟") (merge-rule "슠" "슠") (merge-rule "슡" "슡") (merge-rule "슢" "슈á‡") (merge-rule "슣" "슣") (merge-rule "스" "스~b") (merge-rule "슥" "슥") (merge-rule "슦" "슦") (merge-rule "슧" "슧") (merge-rule "슨" "슨") (merge-rule "슩" "슩") (merge-rule "슪" "슪") (merge-rule "슫" "슫") (merge-rule "슬" "슬") (merge-rule "슭" "슭") (merge-rule "슮" "슮") (merge-rule "슯" "슯") (merge-rule "슰" "슰") (merge-rule "슱" "슱") (merge-rule "슲" "슲") (merge-rule "슳" "슳") (merge-rule "슴" "슴") (merge-rule "습" "습") (merge-rule "슶" "슶") (merge-rule "슷" "슷") (merge-rule "슸" "슸") (merge-rule "승" "승") (merge-rule "슺" "슺") (merge-rule "슻" "슻") (merge-rule "슼" "슼") (merge-rule "슽" "슽") (merge-rule "슾" "스á‡") (merge-rule "슿" "슿") (merge-rule "ì‹€" "싀~b") (merge-rule "ì‹" "싁") (merge-rule "ì‹‚" "싂") (merge-rule "싃" "싃") (merge-rule "ì‹„" "싄") (merge-rule "ì‹…" "싅") (merge-rule "싆" "싆") (merge-rule "싇" "싇") (merge-rule "싈" "싈") (merge-rule "싉" "싉") (merge-rule "싊" "싊") (merge-rule "ì‹‹" "싋") (merge-rule "싌" "싌") (merge-rule "ì‹" "싍") (merge-rule "싎" "싎") (merge-rule "ì‹" "싏") (merge-rule "ì‹" "싐") (merge-rule "ì‹‘" "싑") (merge-rule "ì‹’" "싒") (merge-rule "ì‹“" "싓") (merge-rule "ì‹”" "싔") (merge-rule "ì‹•" "싕") (merge-rule "ì‹–" "싖") (merge-rule "ì‹—" "싗") (merge-rule "싘" "싘") (merge-rule "ì‹™" "싙") (merge-rule "싚" "싀á‡") (merge-rule "ì‹›" "싛") (merge-rule "시" "시~b") (merge-rule "ì‹" "식") (merge-rule "싞" "싞") (merge-rule "싟" "싟") (merge-rule "ì‹ " "신") (merge-rule "ì‹¡" "싡") (merge-rule "ì‹¢" "싢") (merge-rule "ì‹£" "싣") (merge-rule "실" "실") (merge-rule "ì‹¥" "싥") (merge-rule "싦" "싦") (merge-rule "ì‹§" "싧") (merge-rule "싨" "싨") (merge-rule "ì‹©" "싩") (merge-rule "싪" "싪") (merge-rule "ì‹«" "싫") (merge-rule "심" "심") (merge-rule "ì‹­" "십") (merge-rule "ì‹®" "싮") (merge-rule "싯" "싯") (merge-rule "ì‹°" "싰") (merge-rule "싱" "싱") (merge-rule "싲" "싲") (merge-rule "싳" "싳") (merge-rule "ì‹´" "싴") (merge-rule "싵" "싵") (merge-rule "ì‹¶" "시á‡") (merge-rule "ì‹·" "싷") (merge-rule "싸" "싸~b") (merge-rule "싹" "싹") (merge-rule "싺" "싺") (merge-rule "ì‹»" "싻") (merge-rule "싼" "싼") (merge-rule "싽" "싽") (merge-rule "싾" "싾") (merge-rule "ì‹¿" "싿") (merge-rule "쌀" "쌀") (merge-rule "ìŒ" "쌁") (merge-rule "쌂" "쌂") (merge-rule "쌃" "쌃") (merge-rule "쌄" "쌄") (merge-rule "쌅" "쌅") (merge-rule "쌆" "쌆") (merge-rule "쌇" "쌇") (merge-rule "쌈" "쌈") (merge-rule "쌉" "쌉") (merge-rule "쌊" "쌊") (merge-rule "쌋" "쌋") (merge-rule "쌌" "쌌") (merge-rule "ìŒ" "쌍") (merge-rule "쌎" "쌎") (merge-rule "ìŒ" "쌏") (merge-rule "ìŒ" "쌐") (merge-rule "쌑" "쌑") (merge-rule "쌒" "싸á‡") (merge-rule "쌓" "쌓") (merge-rule "쌔" "쌔~b") (merge-rule "쌕" "쌕") (merge-rule "쌖" "쌖") (merge-rule "쌗" "쌗") (merge-rule "쌘" "쌘") (merge-rule "쌙" "쌙") (merge-rule "쌚" "쌚") (merge-rule "쌛" "쌛") (merge-rule "쌜" "쌜") (merge-rule "ìŒ" "쌝") (merge-rule "쌞" "쌞") (merge-rule "쌟" "쌟") (merge-rule "쌠" "쌠") (merge-rule "쌡" "쌡") (merge-rule "쌢" "쌢") (merge-rule "쌣" "쌣") (merge-rule "쌤" "쌤") (merge-rule "쌥" "쌥") (merge-rule "쌦" "쌦") (merge-rule "쌧" "쌧") (merge-rule "쌨" "쌨") (merge-rule "쌩" "쌩") (merge-rule "쌪" "쌪") (merge-rule "쌫" "쌫") (merge-rule "쌬" "쌬") (merge-rule "쌭" "쌭") (merge-rule "쌮" "쌔á‡") (merge-rule "쌯" "쌯") (merge-rule "쌰" "쌰~b") (merge-rule "쌱" "쌱") (merge-rule "쌲" "쌲") (merge-rule "쌳" "쌳") (merge-rule "쌴" "쌴") (merge-rule "쌵" "쌵") (merge-rule "쌶" "쌶") (merge-rule "쌷" "쌷") (merge-rule "쌸" "쌸") (merge-rule "쌹" "쌹") (merge-rule "쌺" "쌺") (merge-rule "쌻" "쌻") (merge-rule "쌼" "쌼") (merge-rule "쌽" "쌽") (merge-rule "쌾" "쌾") (merge-rule "쌿" "쌿") (merge-rule "ì€" "썀") (merge-rule "ì" "썁") (merge-rule "ì‚" "썂") (merge-rule "ìƒ" "썃") (merge-rule "ì„" "썄") (merge-rule "ì…" "썅") (merge-rule "ì†" "썆") (merge-rule "ì‡" "썇") (merge-rule "ìˆ" "썈") (merge-rule "ì‰" "썉") (merge-rule "ìŠ" "쌰á‡") (merge-rule "ì‹" "썋") (merge-rule "ìŒ" "썌~b") (merge-rule "ì" "썍") (merge-rule "ìŽ" "썎") (merge-rule "ì" "썏") (merge-rule "ì" "썐") (merge-rule "ì‘" "썑") (merge-rule "ì’" "썒") (merge-rule "ì“" "썓") (merge-rule "ì”" "썔") (merge-rule "ì•" "썕") (merge-rule "ì–" "썖") (merge-rule "ì—" "썗") (merge-rule "ì˜" "썘") (merge-rule "ì™" "썙") (merge-rule "ìš" "썚") (merge-rule "ì›" "썛") (merge-rule "ìœ" "썜") (merge-rule "ì" "썝") (merge-rule "ìž" "썞") (merge-rule "ìŸ" "썟") (merge-rule "ì " "썠") (merge-rule "ì¡" "썡") (merge-rule "ì¢" "썢") (merge-rule "ì£" "썣") (merge-rule "ì¤" "썤") (merge-rule "ì¥" "썥") (merge-rule "ì¦" "썌á‡") (merge-rule "ì§" "썧") (merge-rule "ì¨" "써~b") (merge-rule "ì©" "썩") (merge-rule "ìª" "썪") (merge-rule "ì«" "썫") (merge-rule "ì¬" "썬") (merge-rule "ì­" "썭") (merge-rule "ì®" "썮") (merge-rule "ì¯" "썯") (merge-rule "ì°" "썰") (merge-rule "ì±" "썱") (merge-rule "ì²" "썲") (merge-rule "ì³" "썳") (merge-rule "ì´" "썴") (merge-rule "ìµ" "썵") (merge-rule "ì¶" "썶") (merge-rule "ì·" "썷") (merge-rule "ì¸" "썸") (merge-rule "ì¹" "썹") (merge-rule "ìº" "썺") (merge-rule "ì»" "썻") (merge-rule "ì¼" "썼") (merge-rule "ì½" "썽") (merge-rule "ì¾" "썾") (merge-rule "ì¿" "썿") (merge-rule "쎀" "쎀") (merge-rule "ìŽ" "쎁") (merge-rule "쎂" "써á‡") (merge-rule "쎃" "쎃") (merge-rule "쎄" "쎄~b") (merge-rule "쎅" "쎅") (merge-rule "쎆" "쎆") (merge-rule "쎇" "쎇") (merge-rule "쎈" "쎈") (merge-rule "쎉" "쎉") (merge-rule "쎊" "쎊") (merge-rule "쎋" "쎋") (merge-rule "쎌" "쎌") (merge-rule "ìŽ" "쎍") (merge-rule "쎎" "쎎") (merge-rule "ìŽ" "쎏") (merge-rule "ìŽ" "쎐") (merge-rule "쎑" "쎑") (merge-rule "쎒" "쎒") (merge-rule "쎓" "쎓") (merge-rule "쎔" "쎔") (merge-rule "쎕" "쎕") (merge-rule "쎖" "쎖") (merge-rule "쎗" "쎗") (merge-rule "쎘" "쎘") (merge-rule "쎙" "쎙") (merge-rule "쎚" "쎚") (merge-rule "쎛" "쎛") (merge-rule "쎜" "쎜") (merge-rule "ìŽ" "쎝") (merge-rule "쎞" "쎄á‡") (merge-rule "쎟" "쎟") (merge-rule "쎠" "쎠~b") (merge-rule "쎡" "쎡") (merge-rule "쎢" "쎢") (merge-rule "쎣" "쎣") (merge-rule "쎤" "쎤") (merge-rule "쎥" "쎥") (merge-rule "쎦" "쎦") (merge-rule "쎧" "쎧") (merge-rule "쎨" "쎨") (merge-rule "쎩" "쎩") (merge-rule "쎪" "쎪") (merge-rule "쎫" "쎫") (merge-rule "쎬" "쎬") (merge-rule "쎭" "쎭") (merge-rule "쎮" "쎮") (merge-rule "쎯" "쎯") (merge-rule "쎰" "쎰") (merge-rule "쎱" "쎱") (merge-rule "쎲" "쎲") (merge-rule "쎳" "쎳") (merge-rule "쎴" "쎴") (merge-rule "쎵" "쎵") (merge-rule "쎶" "쎶") (merge-rule "쎷" "쎷") (merge-rule "쎸" "쎸") (merge-rule "쎹" "쎹") (merge-rule "쎺" "쎠á‡") (merge-rule "쎻" "쎻") (merge-rule "쎼" "쎼~b") (merge-rule "쎽" "쎽") (merge-rule "쎾" "쎾") (merge-rule "쎿" "쎿") (merge-rule "ì€" "쏀") (merge-rule "ì" "쏁") (merge-rule "ì‚" "쏂") (merge-rule "ìƒ" "쏃") (merge-rule "ì„" "쏄") (merge-rule "ì…" "쏅") (merge-rule "ì†" "쏆") (merge-rule "ì‡" "쏇") (merge-rule "ìˆ" "쏈") (merge-rule "ì‰" "쏉") (merge-rule "ìŠ" "쏊") (merge-rule "ì‹" "쏋") (merge-rule "ìŒ" "쏌") (merge-rule "ì" "쏍") (merge-rule "ìŽ" "쏎") (merge-rule "ì" "쏏") (merge-rule "ì" "쏐") (merge-rule "ì‘" "쏑") (merge-rule "ì’" "쏒") (merge-rule "ì“" "쏓") (merge-rule "ì”" "쏔") (merge-rule "ì•" "쏕") (merge-rule "ì–" "쎼á‡") (merge-rule "ì—" "쏗") (merge-rule "ì˜" "쏘~b") (merge-rule "ì™" "쏙") (merge-rule "ìš" "쏚") (merge-rule "ì›" "쏛") (merge-rule "ìœ" "쏜") (merge-rule "ì" "쏝") (merge-rule "ìž" "쏞") (merge-rule "ìŸ" "쏟") (merge-rule "ì " "쏠") (merge-rule "ì¡" "쏡") (merge-rule "ì¢" "쏢") (merge-rule "ì£" "쏣") (merge-rule "ì¤" "쏤") (merge-rule "ì¥" "쏥") (merge-rule "ì¦" "쏦") (merge-rule "ì§" "쏧") (merge-rule "ì¨" "쏨") (merge-rule "ì©" "쏩") (merge-rule "ìª" "쏪") (merge-rule "ì«" "쏫") (merge-rule "ì¬" "쏬") (merge-rule "ì­" "쏭") (merge-rule "ì®" "쏮") (merge-rule "ì¯" "쏯") (merge-rule "ì°" "쏰") (merge-rule "ì±" "쏱") (merge-rule "ì²" "쏘á‡") (merge-rule "ì³" "쏳") (merge-rule "ì´" "쏴~b") (merge-rule "ìµ" "쏵") (merge-rule "ì¶" "쏶") (merge-rule "ì·" "쏷") (merge-rule "ì¸" "쏸") (merge-rule "ì¹" "쏹") (merge-rule "ìº" "쏺") (merge-rule "ì»" "쏻") (merge-rule "ì¼" "쏼") (merge-rule "ì½" "쏽") (merge-rule "ì¾" "쏾") (merge-rule "ì¿" "쏿") (merge-rule "ì€" "쐀") (merge-rule "ì" "쐁") (merge-rule "ì‚" "쐂") (merge-rule "ìƒ" "쐃") (merge-rule "ì„" "쐄") (merge-rule "ì…" "쐅") (merge-rule "ì†" "쐆") (merge-rule "ì‡" "쐇") (merge-rule "ìˆ" "쐈") (merge-rule "ì‰" "쐉") (merge-rule "ìŠ" "쐊") (merge-rule "ì‹" "쐋") (merge-rule "ìŒ" "쐌") (merge-rule "ì" "쐍") (merge-rule "ìŽ" "쏴á‡") (merge-rule "ì" "쐏") (merge-rule "ì" "쐐~b") (merge-rule "ì‘" "쐑") (merge-rule "ì’" "쐒") (merge-rule "ì“" "쐓") (merge-rule "ì”" "쐔") (merge-rule "ì•" "쐕") (merge-rule "ì–" "쐖") (merge-rule "ì—" "쐗") (merge-rule "ì˜" "쐘") (merge-rule "ì™" "쐙") (merge-rule "ìš" "쐚") (merge-rule "ì›" "쐛") (merge-rule "ìœ" "쐜") (merge-rule "ì" "쐝") (merge-rule "ìž" "쐞") (merge-rule "ìŸ" "쐟") (merge-rule "ì " "쐠") (merge-rule "ì¡" "쐡") (merge-rule "ì¢" "쐢") (merge-rule "ì£" "쐣") (merge-rule "ì¤" "쐤") (merge-rule "ì¥" "쐥") (merge-rule "ì¦" "쐦") (merge-rule "ì§" "쐧") (merge-rule "ì¨" "쐨") (merge-rule "ì©" "쐩") (merge-rule "ìª" "쐐á‡") (merge-rule "ì«" "쐫") (merge-rule "ì¬" "쐬~b") (merge-rule "ì­" "쐭") (merge-rule "ì®" "쐮") (merge-rule "ì¯" "쐯") (merge-rule "ì°" "쐰") (merge-rule "ì±" "쐱") (merge-rule "ì²" "쐲") (merge-rule "ì³" "쐳") (merge-rule "ì´" "쐴") (merge-rule "ìµ" "쐵") (merge-rule "ì¶" "쐶") (merge-rule "ì·" "쐷") (merge-rule "ì¸" "쐸") (merge-rule "ì¹" "쐹") (merge-rule "ìº" "쐺") (merge-rule "ì»" "쐻") (merge-rule "ì¼" "쐼") (merge-rule "ì½" "쐽") (merge-rule "ì¾" "쐾") (merge-rule "ì¿" "쐿") (merge-rule "ì‘€" "쑀") (merge-rule "ì‘" "쑁") (merge-rule "ì‘‚" "쑂") (merge-rule "쑃" "쑃") (merge-rule "ì‘„" "쑄") (merge-rule "ì‘…" "쑅") (merge-rule "쑆" "쐬á‡") (merge-rule "쑇" "쑇") (merge-rule "쑈" "쑈~b") (merge-rule "쑉" "쑉") (merge-rule "쑊" "쑊") (merge-rule "ì‘‹" "쑋") (merge-rule "쑌" "쑌") (merge-rule "ì‘" "쑍") (merge-rule "쑎" "쑎") (merge-rule "ì‘" "쑏") (merge-rule "ì‘" "쑐") (merge-rule "ì‘‘" "쑑") (merge-rule "ì‘’" "쑒") (merge-rule "ì‘“" "쑓") (merge-rule "ì‘”" "쑔") (merge-rule "ì‘•" "쑕") (merge-rule "ì‘–" "쑖") (merge-rule "ì‘—" "쑗") (merge-rule "쑘" "쑘") (merge-rule "ì‘™" "쑙") (merge-rule "쑚" "쑚") (merge-rule "ì‘›" "쑛") (merge-rule "쑜" "쑜") (merge-rule "ì‘" "쑝") (merge-rule "쑞" "쑞") (merge-rule "쑟" "쑟") (merge-rule "ì‘ " "쑠") (merge-rule "ì‘¡" "쑡") (merge-rule "ì‘¢" "쑈á‡") (merge-rule "ì‘£" "쑣") (merge-rule "쑤" "쑤~b") (merge-rule "ì‘¥" "쑥") (merge-rule "쑦" "쑦") (merge-rule "ì‘§" "쑧") (merge-rule "쑨" "쑨") (merge-rule "ì‘©" "쑩") (merge-rule "쑪" "쑪") (merge-rule "ì‘«" "쑫") (merge-rule "쑬" "쑬") (merge-rule "ì‘­" "쑭") (merge-rule "ì‘®" "쑮") (merge-rule "쑯" "쑯") (merge-rule "ì‘°" "쑰") (merge-rule "쑱" "쑱") (merge-rule "쑲" "쑲") (merge-rule "쑳" "쑳") (merge-rule "ì‘´" "쑴") (merge-rule "쑵" "쑵") (merge-rule "ì‘¶" "쑶") (merge-rule "ì‘·" "쑷") (merge-rule "쑸" "쑸") (merge-rule "쑹" "쑹") (merge-rule "쑺" "쑺") (merge-rule "ì‘»" "쑻") (merge-rule "쑼" "쑼") (merge-rule "쑽" "쑽") (merge-rule "쑾" "쑤á‡") (merge-rule "ì‘¿" "쑿") (merge-rule "ì’€" "쒀~b") (merge-rule "ì’" "쒁") (merge-rule "ì’‚" "쒂") (merge-rule "ì’ƒ" "쒃") (merge-rule "ì’„" "쒄") (merge-rule "ì’…" "쒅") (merge-rule "ì’†" "쒆") (merge-rule "ì’‡" "쒇") (merge-rule "ì’ˆ" "쒈") (merge-rule "ì’‰" "쒉") (merge-rule "ì’Š" "쒊") (merge-rule "ì’‹" "쒋") (merge-rule "ì’Œ" "쒌") (merge-rule "ì’" "쒍") (merge-rule "ì’Ž" "쒎") (merge-rule "ì’" "쒏") (merge-rule "ì’" "쒐") (merge-rule "ì’‘" "쒑") (merge-rule "ì’’" "쒒") (merge-rule "ì’“" "쒓") (merge-rule "ì’”" "쒔") (merge-rule "ì’•" "쒕") (merge-rule "ì’–" "쒖") (merge-rule "ì’—" "쒗") (merge-rule "ì’˜" "쒘") (merge-rule "ì’™" "쒙") (merge-rule "ì’š" "쒀á‡") (merge-rule "ì’›" "쒛") (merge-rule "ì’œ" "쒜~b") (merge-rule "ì’" "쒝") (merge-rule "ì’ž" "쒞") (merge-rule "ì’Ÿ" "쒟") (merge-rule "ì’ " "쒠") (merge-rule "ì’¡" "쒡") (merge-rule "ì’¢" "쒢") (merge-rule "ì’£" "쒣") (merge-rule "ì’¤" "쒤") (merge-rule "ì’¥" "쒥") (merge-rule "ì’¦" "쒦") (merge-rule "ì’§" "쒧") (merge-rule "ì’¨" "쒨") (merge-rule "ì’©" "쒩") (merge-rule "ì’ª" "쒪") (merge-rule "ì’«" "쒫") (merge-rule "ì’¬" "쒬") (merge-rule "ì’­" "쒭") (merge-rule "ì’®" "쒮") (merge-rule "ì’¯" "쒯") (merge-rule "ì’°" "쒰") (merge-rule "ì’±" "쒱") (merge-rule "ì’²" "쒲") (merge-rule "ì’³" "쒳") (merge-rule "ì’´" "쒴") (merge-rule "ì’µ" "쒵") (merge-rule "ì’¶" "쒜á‡") (merge-rule "ì’·" "쒷") (merge-rule "ì’¸" "쒸~b") (merge-rule "ì’¹" "쒹") (merge-rule "ì’º" "쒺") (merge-rule "ì’»" "쒻") (merge-rule "ì’¼" "쒼") (merge-rule "ì’½" "쒽") (merge-rule "ì’¾" "쒾") (merge-rule "ì’¿" "쒿") (merge-rule "ì“€" "쓀") (merge-rule "ì“" "쓁") (merge-rule "ì“‚" "쓂") (merge-rule "쓃" "쓃") (merge-rule "ì“„" "쓄") (merge-rule "ì“…" "쓅") (merge-rule "쓆" "쓆") (merge-rule "쓇" "쓇") (merge-rule "쓈" "쓈") (merge-rule "쓉" "쓉") (merge-rule "쓊" "쓊") (merge-rule "ì“‹" "쓋") (merge-rule "쓌" "쓌") (merge-rule "ì“" "쓍") (merge-rule "쓎" "쓎") (merge-rule "ì“" "쓏") (merge-rule "ì“" "쓐") (merge-rule "ì“‘" "쓑") (merge-rule "ì“’" "쒸á‡") (merge-rule "ì““" "쓓") (merge-rule "ì“”" "쓔~b") (merge-rule "ì“•" "쓕") (merge-rule "ì“–" "쓖") (merge-rule "ì“—" "쓗") (merge-rule "쓘" "쓘") (merge-rule "ì“™" "쓙") (merge-rule "쓚" "쓚") (merge-rule "ì“›" "쓛") (merge-rule "쓜" "쓜") (merge-rule "ì“" "쓝") (merge-rule "쓞" "쓞") (merge-rule "쓟" "쓟") (merge-rule "ì“ " "쓠") (merge-rule "ì“¡" "쓡") (merge-rule "ì“¢" "쓢") (merge-rule "ì“£" "쓣") (merge-rule "쓤" "쓤") (merge-rule "ì“¥" "쓥") (merge-rule "쓦" "쓦") (merge-rule "ì“§" "쓧") (merge-rule "쓨" "쓨") (merge-rule "ì“©" "쓩") (merge-rule "쓪" "쓪") (merge-rule "ì“«" "쓫") (merge-rule "쓬" "쓬") (merge-rule "ì“­" "쓭") (merge-rule "ì“®" "쓔á‡") (merge-rule "쓯" "쓯") (merge-rule "ì“°" "쓰~b") (merge-rule "쓱" "쓱") (merge-rule "쓲" "쓲") (merge-rule "쓳" "쓳") (merge-rule "ì“´" "쓴") (merge-rule "쓵" "쓵") (merge-rule "ì“¶" "쓶") (merge-rule "ì“·" "쓷") (merge-rule "쓸" "쓸") (merge-rule "쓹" "쓹") (merge-rule "쓺" "쓺") (merge-rule "ì“»" "쓻") (merge-rule "쓼" "쓼") (merge-rule "쓽" "쓽") (merge-rule "쓾" "쓾") (merge-rule "ì“¿" "쓿") (merge-rule "씀" "씀") (merge-rule "ì”" "씁") (merge-rule "씂" "씂") (merge-rule "씃" "씃") (merge-rule "씄" "씄") (merge-rule "ì”…" "씅") (merge-rule "씆" "씆") (merge-rule "씇" "씇") (merge-rule "씈" "씈") (merge-rule "씉" "씉") (merge-rule "씊" "쓰á‡") (merge-rule "씋" "씋") (merge-rule "씌" "씌~b") (merge-rule "ì”" "씍") (merge-rule "씎" "씎") (merge-rule "ì”" "씏") (merge-rule "ì”" "씐") (merge-rule "씑" "씑") (merge-rule "ì”’" "씒") (merge-rule "씓" "씓") (merge-rule "ì””" "씔") (merge-rule "씕" "씕") (merge-rule "ì”–" "씖") (merge-rule "ì”—" "씗") (merge-rule "씘" "씘") (merge-rule "ì”™" "씙") (merge-rule "씚" "씚") (merge-rule "ì”›" "씛") (merge-rule "씜" "씜") (merge-rule "ì”" "씝") (merge-rule "씞" "씞") (merge-rule "씟" "씟") (merge-rule "ì” " "씠") (merge-rule "씡" "씡") (merge-rule "씢" "씢") (merge-rule "씣" "씣") (merge-rule "씤" "씤") (merge-rule "씥" "씥") (merge-rule "씦" "씌á‡") (merge-rule "ì”§" "씧") (merge-rule "씨" "씨~b") (merge-rule "씩" "씩") (merge-rule "씪" "씪") (merge-rule "씫" "씫") (merge-rule "씬" "씬") (merge-rule "ì”­" "씭") (merge-rule "ì”®" "씮") (merge-rule "씯" "씯") (merge-rule "ì”°" "씰") (merge-rule "ì”±" "씱") (merge-rule "씲" "씲") (merge-rule "씳" "씳") (merge-rule "ì”´" "씴") (merge-rule "씵" "씵") (merge-rule "ì”¶" "씶") (merge-rule "ì”·" "씷") (merge-rule "씸" "씸") (merge-rule "씹" "씹") (merge-rule "씺" "씺") (merge-rule "ì”»" "씻") (merge-rule "씼" "씼") (merge-rule "씽" "씽") (merge-rule "씾" "씾") (merge-rule "씿" "씿") (merge-rule "ì•€" "앀") (merge-rule "ì•" "앁") (merge-rule "ì•‚" "씨á‡") (merge-rule "앃" "앃") (merge-rule "ì•„" "á„‹á…¡~b") (merge-rule "ì•…" "악") (merge-rule "앆" "앆") (merge-rule "앇" "앇") (merge-rule "안" "안") (merge-rule "앉" "앉") (merge-rule "않" "않") (merge-rule "ì•‹" "앋") (merge-rule "알" "알") (merge-rule "ì•" "앍") (merge-rule "앎" "앎") (merge-rule "ì•" "앏") (merge-rule "ì•" "앐") (merge-rule "ì•‘" "앑") (merge-rule "ì•’" "앒") (merge-rule "ì•“" "앓") (merge-rule "ì•”" "암") (merge-rule "ì••" "압") (merge-rule "ì•–" "앖") (merge-rule "ì•—" "앗") (merge-rule "았" "았") (merge-rule "ì•™" "앙") (merge-rule "앚" "앚") (merge-rule "ì•›" "앛") (merge-rule "앜" "앜") (merge-rule "ì•" "앝") (merge-rule "앞" "á„‹á…¡á‡") (merge-rule "앟" "앟") (merge-rule "ì• " "á„‹á…¢~b") (merge-rule "ì•¡" "액") (merge-rule "ì•¢" "앢") (merge-rule "ì•£" "앣") (merge-rule "앤" "앤") (merge-rule "ì•¥" "앥") (merge-rule "앦" "앦") (merge-rule "ì•§" "앧") (merge-rule "앨" "앨") (merge-rule "ì•©" "앩") (merge-rule "앪" "앪") (merge-rule "ì•«" "앫") (merge-rule "앬" "앬") (merge-rule "ì•­" "앭") (merge-rule "ì•®" "앮") (merge-rule "앯" "앯") (merge-rule "ì•°" "앰") (merge-rule "앱" "앱") (merge-rule "앲" "앲") (merge-rule "앳" "앳") (merge-rule "ì•´" "앴") (merge-rule "앵" "앵") (merge-rule "ì•¶" "앶") (merge-rule "ì•·" "앷") (merge-rule "앸" "앸") (merge-rule "앹" "앹") (merge-rule "앺" "á„‹á…¢á‡") (merge-rule "ì•»" "앻") (merge-rule "야" "á„‹á…£~b") (merge-rule "약" "약") (merge-rule "앾" "앾") (merge-rule "ì•¿" "앿") (merge-rule "ì–€" "얀") (merge-rule "ì–" "얁") (merge-rule "ì–‚" "얂") (merge-rule "ì–ƒ" "얃") (merge-rule "ì–„" "얄") (merge-rule "ì–…" "얅") (merge-rule "ì–†" "얆") (merge-rule "ì–‡" "얇") (merge-rule "ì–ˆ" "얈") (merge-rule "ì–‰" "얉") (merge-rule "ì–Š" "얊") (merge-rule "ì–‹" "얋") (merge-rule "ì–Œ" "얌") (merge-rule "ì–" "얍") (merge-rule "ì–Ž" "얎") (merge-rule "ì–" "얏") (merge-rule "ì–" "얐") (merge-rule "ì–‘" "양") (merge-rule "ì–’" "얒") (merge-rule "ì–“" "얓") (merge-rule "ì–”" "얔") (merge-rule "ì–•" "얕") (merge-rule "ì––" "á„‹á…£á‡") (merge-rule "ì–—" "얗") (merge-rule "ì–˜" "á„‹á…¤~b") (merge-rule "ì–™" "얙") (merge-rule "ì–š" "얚") (merge-rule "ì–›" "얛") (merge-rule "ì–œ" "얜") (merge-rule "ì–" "얝") (merge-rule "ì–ž" "얞") (merge-rule "ì–Ÿ" "얟") (merge-rule "ì– " "얠") (merge-rule "ì–¡" "얡") (merge-rule "ì–¢" "얢") (merge-rule "ì–£" "얣") (merge-rule "ì–¤" "얤") (merge-rule "ì–¥" "얥") (merge-rule "ì–¦" "얦") (merge-rule "ì–§" "얧") (merge-rule "ì–¨" "얨") (merge-rule "ì–©" "얩") (merge-rule "ì–ª" "얪") (merge-rule "ì–«" "얫") (merge-rule "ì–¬" "얬") (merge-rule "ì–­" "얭") (merge-rule "ì–®" "얮") (merge-rule "ì–¯" "얯") (merge-rule "ì–°" "얰") (merge-rule "ì–±" "얱") (merge-rule "ì–²" "á„‹á…¤á‡") (merge-rule "ì–³" "얳") (merge-rule "ì–´" "á„‹á…¥~b") (merge-rule "ì–µ" "억") (merge-rule "ì–¶" "얶") (merge-rule "ì–·" "얷") (merge-rule "ì–¸" "언") (merge-rule "ì–¹" "얹") (merge-rule "ì–º" "얺") (merge-rule "ì–»" "얻") (merge-rule "ì–¼" "얼") (merge-rule "ì–½" "얽") (merge-rule "ì–¾" "얾") (merge-rule "ì–¿" "얿") (merge-rule "ì—€" "엀") (merge-rule "ì—" "엁") (merge-rule "ì—‚" "엂") (merge-rule "ì—ƒ" "엃") (merge-rule "ì—„" "엄") (merge-rule "ì—…" "업") (merge-rule "ì—†" "없") (merge-rule "ì—‡" "엇") (merge-rule "ì—ˆ" "었") (merge-rule "ì—‰" "엉") (merge-rule "ì—Š" "엊") (merge-rule "ì—‹" "엋") (merge-rule "ì—Œ" "엌") (merge-rule "ì—" "엍") (merge-rule "ì—Ž" "á„‹á…¥á‡") (merge-rule "ì—" "엏") (merge-rule "ì—" "á„‹á…¦~b") (merge-rule "ì—‘" "엑") (merge-rule "ì—’" "엒") (merge-rule "ì—“" "엓") (merge-rule "ì—”" "엔") (merge-rule "ì—•" "엕") (merge-rule "ì—–" "엖") (merge-rule "ì——" "엗") (merge-rule "ì—˜" "엘") (merge-rule "ì—™" "엙") (merge-rule "ì—š" "엚") (merge-rule "ì—›" "엛") (merge-rule "ì—œ" "엜") (merge-rule "ì—" "엝") (merge-rule "ì—ž" "엞") (merge-rule "ì—Ÿ" "엟") (merge-rule "ì— " "엠") (merge-rule "ì—¡" "엡") (merge-rule "ì—¢" "엢") (merge-rule "ì—£" "엣") (merge-rule "ì—¤" "엤") (merge-rule "ì—¥" "엥") (merge-rule "ì—¦" "엦") (merge-rule "ì—§" "엧") (merge-rule "ì—¨" "엨") (merge-rule "ì—©" "엩") (merge-rule "ì—ª" "á„‹á…¦á‡") (merge-rule "ì—«" "엫") (merge-rule "ì—¬" "á„‹á…§~b") (merge-rule "ì—­" "역") (merge-rule "ì—®" "엮") (merge-rule "ì—¯" "엯") (merge-rule "ì—°" "연") (merge-rule "ì—±" "엱") (merge-rule "ì—²" "엲") (merge-rule "ì—³" "엳") (merge-rule "ì—´" "열") (merge-rule "ì—µ" "엵") (merge-rule "ì—¶" "엶") (merge-rule "ì—·" "엷") (merge-rule "ì—¸" "엸") (merge-rule "ì—¹" "엹") (merge-rule "ì—º" "엺") (merge-rule "ì—»" "엻") (merge-rule "ì—¼" "염") (merge-rule "ì—½" "엽") (merge-rule "ì—¾" "엾") (merge-rule "ì—¿" "엿") (merge-rule "였" "였") (merge-rule "ì˜" "영") (merge-rule "옂" "옂") (merge-rule "옃" "옃") (merge-rule "옄" "옄") (merge-rule "옅" "옅") (merge-rule "옆" "á„‹á…§á‡") (merge-rule "옇" "옇") (merge-rule "예" "á„‹á…¨~b") (merge-rule "옉" "옉") (merge-rule "옊" "옊") (merge-rule "옋" "옋") (merge-rule "옌" "옌") (merge-rule "ì˜" "옍") (merge-rule "옎" "옎") (merge-rule "ì˜" "옏") (merge-rule "ì˜" "옐") (merge-rule "옑" "옑") (merge-rule "옒" "옒") (merge-rule "옓" "옓") (merge-rule "옔" "옔") (merge-rule "옕" "옕") (merge-rule "옖" "옖") (merge-rule "옗" "옗") (merge-rule "옘" "옘") (merge-rule "옙" "옙") (merge-rule "옚" "옚") (merge-rule "옛" "옛") (merge-rule "옜" "옜") (merge-rule "ì˜" "옝") (merge-rule "옞" "옞") (merge-rule "옟" "옟") (merge-rule "옠" "옠") (merge-rule "옡" "옡") (merge-rule "옢" "á„‹á…¨á‡") (merge-rule "옣" "옣") (merge-rule "오" "á„‹á…©~b") (merge-rule "옥" "옥") (merge-rule "옦" "옦") (merge-rule "옧" "옧") (merge-rule "온" "온") (merge-rule "옩" "옩") (merge-rule "옪" "옪") (merge-rule "옫" "옫") (merge-rule "올" "올") (merge-rule "옭" "옭") (merge-rule "옮" "옮") (merge-rule "옯" "옯") (merge-rule "옰" "옰") (merge-rule "옱" "옱") (merge-rule "옲" "옲") (merge-rule "옳" "옳") (merge-rule "옴" "옴") (merge-rule "옵" "옵") (merge-rule "옶" "옶") (merge-rule "옷" "옷") (merge-rule "옸" "옸") (merge-rule "옹" "옹") (merge-rule "옺" "옺") (merge-rule "옻" "옻") (merge-rule "옼" "옼") (merge-rule "옽" "옽") (merge-rule "옾" "á„‹á…©á‡") (merge-rule "옿" "옿") (merge-rule "와" "á„‹á…ª~b") (merge-rule "ì™" "왁") (merge-rule "왂" "왂") (merge-rule "왃" "왃") (merge-rule "완" "완") (merge-rule "ì™…" "왅") (merge-rule "왆" "왆") (merge-rule "왇" "왇") (merge-rule "왈" "왈") (merge-rule "왉" "왉") (merge-rule "왊" "왊") (merge-rule "왋" "왋") (merge-rule "왌" "왌") (merge-rule "ì™" "왍") (merge-rule "왎" "왎") (merge-rule "ì™" "왏") (merge-rule "ì™" "왐") (merge-rule "왑" "왑") (merge-rule "ì™’" "왒") (merge-rule "왓" "왓") (merge-rule "ì™”" "왔") (merge-rule "왕" "왕") (merge-rule "ì™–" "왖") (merge-rule "ì™—" "왗") (merge-rule "왘" "왘") (merge-rule "ì™™" "왙") (merge-rule "왚" "á„‹á…ªá‡") (merge-rule "ì™›" "왛") (merge-rule "왜" "á„‹á…«~b") (merge-rule "ì™" "왝") (merge-rule "왞" "왞") (merge-rule "왟" "왟") (merge-rule "ì™ " "왠") (merge-rule "왡" "왡") (merge-rule "왢" "왢") (merge-rule "왣" "왣") (merge-rule "왤" "왤") (merge-rule "왥" "왥") (merge-rule "왦" "왦") (merge-rule "ì™§" "왧") (merge-rule "왨" "왨") (merge-rule "왩" "왩") (merge-rule "왪" "왪") (merge-rule "왫" "왫") (merge-rule "왬" "왬") (merge-rule "ì™­" "왭") (merge-rule "ì™®" "왮") (merge-rule "왯" "왯") (merge-rule "ì™°" "왰") (merge-rule "ì™±" "왱") (merge-rule "왲" "왲") (merge-rule "왳" "왳") (merge-rule "ì™´" "왴") (merge-rule "왵" "왵") (merge-rule "ì™¶" "á„‹á…«á‡") (merge-rule "ì™·" "왷") (merge-rule "외" "á„‹á…¬~b") (merge-rule "왹" "왹") (merge-rule "왺" "왺") (merge-rule "ì™»" "왻") (merge-rule "왼" "왼") (merge-rule "왽" "왽") (merge-rule "왾" "왾") (merge-rule "왿" "왿") (merge-rule "욀" "욀") (merge-rule "ìš" "욁") (merge-rule "ìš‚" "욂") (merge-rule "욃" "욃") (merge-rule "ìš„" "욄") (merge-rule "ìš…" "욅") (merge-rule "욆" "욆") (merge-rule "욇" "욇") (merge-rule "욈" "욈") (merge-rule "욉" "욉") (merge-rule "욊" "욊") (merge-rule "ìš‹" "욋") (merge-rule "욌" "욌") (merge-rule "ìš" "욍") (merge-rule "욎" "욎") (merge-rule "ìš" "욏") (merge-rule "ìš" "욐") (merge-rule "ìš‘" "욑") (merge-rule "ìš’" "á„‹á…¬á‡") (merge-rule "ìš“" "욓") (merge-rule "ìš”" "á„‹á…­~b") (merge-rule "ìš•" "욕") (merge-rule "ìš–" "욖") (merge-rule "ìš—" "욗") (merge-rule "욘" "욘") (merge-rule "ìš™" "욙") (merge-rule "ìšš" "욚") (merge-rule "ìš›" "욛") (merge-rule "ìšœ" "욜") (merge-rule "ìš" "욝") (merge-rule "ìšž" "욞") (merge-rule "욟" "욟") (merge-rule "ìš " "욠") (merge-rule "ìš¡" "욡") (merge-rule "욢" "욢") (merge-rule "욣" "욣") (merge-rule "욤" "욤") (merge-rule "욥" "욥") (merge-rule "욦" "욦") (merge-rule "ìš§" "욧") (merge-rule "욨" "욨") (merge-rule "ìš©" "용") (merge-rule "욪" "욪") (merge-rule "ìš«" "욫") (merge-rule "욬" "욬") (merge-rule "ìš­" "욭") (merge-rule "ìš®" "á„‹á…­á‡") (merge-rule "욯" "욯") (merge-rule "ìš°" "á„‹á…®~b") (merge-rule "ìš±" "욱") (merge-rule "ìš²" "욲") (merge-rule "ìš³" "욳") (merge-rule "ìš´" "운") (merge-rule "ìšµ" "욵") (merge-rule "ìš¶" "욶") (merge-rule "ìš·" "욷") (merge-rule "울" "울") (merge-rule "ìš¹" "욹") (merge-rule "욺" "욺") (merge-rule "ìš»" "욻") (merge-rule "ìš¼" "욼") (merge-rule "ìš½" "욽") (merge-rule "ìš¾" "욾") (merge-rule "ìš¿" "욿") (merge-rule "움" "움") (merge-rule "ì›" "웁") (merge-rule "웂" "웂") (merge-rule "웃" "웃") (merge-rule "웄" "웄") (merge-rule "ì›…" "웅") (merge-rule "웆" "웆") (merge-rule "웇" "웇") (merge-rule "웈" "웈") (merge-rule "웉" "웉") (merge-rule "웊" "á„‹á…®á‡") (merge-rule "웋" "웋") (merge-rule "워" "á„‹á…¯~b") (merge-rule "ì›" "웍") (merge-rule "웎" "웎") (merge-rule "ì›" "웏") (merge-rule "ì›" "원") (merge-rule "웑" "웑") (merge-rule "ì›’" "웒") (merge-rule "웓" "웓") (merge-rule "ì›”" "월") (merge-rule "웕" "웕") (merge-rule "ì›–" "웖") (merge-rule "ì›—" "웗") (merge-rule "웘" "웘") (merge-rule "ì›™" "웙") (merge-rule "웚" "웚") (merge-rule "ì››" "웛") (merge-rule "웜" "웜") (merge-rule "ì›" "웝") (merge-rule "웞" "웞") (merge-rule "웟" "웟") (merge-rule "ì› " "웠") (merge-rule "웡" "웡") (merge-rule "웢" "웢") (merge-rule "웣" "웣") (merge-rule "웤" "웤") (merge-rule "웥" "웥") (merge-rule "웦" "á„‹á…¯á‡") (merge-rule "ì›§" "웧") (merge-rule "웨" "á„‹á…°~b") (merge-rule "웩" "웩") (merge-rule "웪" "웪") (merge-rule "웫" "웫") (merge-rule "웬" "웬") (merge-rule "ì›­" "웭") (merge-rule "ì›®" "웮") (merge-rule "웯" "웯") (merge-rule "ì›°" "웰") (merge-rule "ì›±" "웱") (merge-rule "웲" "웲") (merge-rule "웳" "웳") (merge-rule "ì›´" "웴") (merge-rule "웵" "웵") (merge-rule "ì›¶" "웶") (merge-rule "ì›·" "웷") (merge-rule "웸" "웸") (merge-rule "웹" "웹") (merge-rule "웺" "웺") (merge-rule "ì›»" "웻") (merge-rule "웼" "웼") (merge-rule "웽" "웽") (merge-rule "웾" "웾") (merge-rule "웿" "웿") (merge-rule "윀" "윀") (merge-rule "ìœ" "윁") (merge-rule "윂" "á„‹á…°á‡") (merge-rule "윃" "윃") (merge-rule "위" "á„‹á…±~b") (merge-rule "윅" "윅") (merge-rule "윆" "윆") (merge-rule "윇" "윇") (merge-rule "윈" "윈") (merge-rule "윉" "윉") (merge-rule "윊" "윊") (merge-rule "윋" "윋") (merge-rule "윌" "윌") (merge-rule "ìœ" "윍") (merge-rule "윎" "윎") (merge-rule "ìœ" "윏") (merge-rule "ìœ" "윐") (merge-rule "윑" "윑") (merge-rule "윒" "윒") (merge-rule "윓" "윓") (merge-rule "윔" "윔") (merge-rule "윕" "윕") (merge-rule "윖" "윖") (merge-rule "윗" "윗") (merge-rule "윘" "윘") (merge-rule "윙" "윙") (merge-rule "윚" "윚") (merge-rule "윛" "윛") (merge-rule "윜" "윜") (merge-rule "ìœ" "윝") (merge-rule "윞" "á„‹á…±á‡") (merge-rule "윟" "윟") (merge-rule "유" "á„‹á…²~b") (merge-rule "육" "육") (merge-rule "윢" "윢") (merge-rule "윣" "윣") (merge-rule "윤" "윤") (merge-rule "윥" "윥") (merge-rule "윦" "윦") (merge-rule "윧" "윧") (merge-rule "율" "율") (merge-rule "윩" "윩") (merge-rule "윪" "윪") (merge-rule "윫" "윫") (merge-rule "윬" "윬") (merge-rule "윭" "윭") (merge-rule "윮" "윮") (merge-rule "윯" "윯") (merge-rule "윰" "윰") (merge-rule "윱" "윱") (merge-rule "윲" "윲") (merge-rule "윳" "윳") (merge-rule "윴" "윴") (merge-rule "융" "융") (merge-rule "윶" "윶") (merge-rule "윷" "윷") (merge-rule "윸" "윸") (merge-rule "윹" "윹") (merge-rule "윺" "á„‹á…²á‡") (merge-rule "윻" "윻") (merge-rule "으" "á„‹á…³~b") (merge-rule "윽" "윽") (merge-rule "윾" "윾") (merge-rule "윿" "윿") (merge-rule "ì€" "은") (merge-rule "ì" "읁") (merge-rule "ì‚" "읂") (merge-rule "ìƒ" "읃") (merge-rule "ì„" "을") (merge-rule "ì…" "읅") (merge-rule "ì†" "읆") (merge-rule "ì‡" "읇") (merge-rule "ìˆ" "읈") (merge-rule "ì‰" "읉") (merge-rule "ìŠ" "읊") (merge-rule "ì‹" "읋") (merge-rule "ìŒ" "음") (merge-rule "ì" "읍") (merge-rule "ìŽ" "읎") (merge-rule "ì" "읏") (merge-rule "ì" "읐") (merge-rule "ì‘" "응") (merge-rule "ì’" "읒") (merge-rule "ì“" "읓") (merge-rule "ì”" "읔") (merge-rule "ì•" "읕") (merge-rule "ì–" "á„‹á…³á‡") (merge-rule "ì—" "읗") (merge-rule "ì˜" "á„‹á…´~b") (merge-rule "ì™" "읙") (merge-rule "ìš" "읚") (merge-rule "ì›" "읛") (merge-rule "ìœ" "읜") (merge-rule "ì" "읝") (merge-rule "ìž" "읞") (merge-rule "ìŸ" "읟") (merge-rule "ì " "읠") (merge-rule "ì¡" "읡") (merge-rule "ì¢" "읢") (merge-rule "ì£" "읣") (merge-rule "ì¤" "읤") (merge-rule "ì¥" "읥") (merge-rule "ì¦" "읦") (merge-rule "ì§" "읧") (merge-rule "ì¨" "읨") (merge-rule "ì©" "읩") (merge-rule "ìª" "읪") (merge-rule "ì«" "읫") (merge-rule "ì¬" "읬") (merge-rule "ì­" "읭") (merge-rule "ì®" "읮") (merge-rule "ì¯" "읯") (merge-rule "ì°" "읰") (merge-rule "ì±" "읱") (merge-rule "ì²" "á„‹á…´á‡") (merge-rule "ì³" "읳") (merge-rule "ì´" "á„‹á…µ~b") (merge-rule "ìµ" "익") (merge-rule "ì¶" "읶") (merge-rule "ì·" "읷") (merge-rule "ì¸" "인") (merge-rule "ì¹" "읹") (merge-rule "ìº" "읺") (merge-rule "ì»" "읻") (merge-rule "ì¼" "일") (merge-rule "ì½" "읽") (merge-rule "ì¾" "읾") (merge-rule "ì¿" "읿") (merge-rule "잀" "잀") (merge-rule "ìž" "잁") (merge-rule "ìž‚" "잂") (merge-rule "잃" "잃") (merge-rule "ìž„" "임") (merge-rule "ìž…" "입") (merge-rule "잆" "잆") (merge-rule "잇" "잇") (merge-rule "있" "있") (merge-rule "잉" "잉") (merge-rule "잊" "잊") (merge-rule "ìž‹" "잋") (merge-rule "잌" "잌") (merge-rule "ìž" "잍") (merge-rule "잎" "á„‹á…µá‡") (merge-rule "ìž" "잏") (merge-rule "ìž" "자~b") (merge-rule "ìž‘" "작") (merge-rule "ìž’" "잒") (merge-rule "ìž“" "잓") (merge-rule "ìž”" "잔") (merge-rule "ìž•" "잕") (merge-rule "ìž–" "잖") (merge-rule "ìž—" "잗") (merge-rule "잘" "잘") (merge-rule "ìž™" "잙") (merge-rule "ìžš" "잚") (merge-rule "ìž›" "잛") (merge-rule "ìžœ" "잜") (merge-rule "ìž" "잝") (merge-rule "ìžž" "잞") (merge-rule "잟" "잟") (merge-rule "ìž " "잠") (merge-rule "ìž¡" "잡") (merge-rule "잢" "잢") (merge-rule "잣" "잣") (merge-rule "잤" "잤") (merge-rule "장" "장") (merge-rule "잦" "잦") (merge-rule "ìž§" "잧") (merge-rule "잨" "잨") (merge-rule "ìž©" "잩") (merge-rule "잪" "자á‡") (merge-rule "ìž«" "잫") (merge-rule "재" "재~b") (merge-rule "ìž­" "잭") (merge-rule "ìž®" "잮") (merge-rule "잯" "잯") (merge-rule "ìž°" "잰") (merge-rule "ìž±" "잱") (merge-rule "ìž²" "잲") (merge-rule "ìž³" "잳") (merge-rule "ìž´" "잴") (merge-rule "ìžµ" "잵") (merge-rule "ìž¶" "잶") (merge-rule "ìž·" "잷") (merge-rule "잸" "잸") (merge-rule "ìž¹" "잹") (merge-rule "잺" "잺") (merge-rule "ìž»" "잻") (merge-rule "ìž¼" "잼") (merge-rule "ìž½" "잽") (merge-rule "ìž¾" "잾") (merge-rule "ìž¿" "잿") (merge-rule "쟀" "쟀") (merge-rule "ìŸ" "쟁") (merge-rule "쟂" "쟂") (merge-rule "쟃" "쟃") (merge-rule "쟄" "쟄") (merge-rule "쟅" "쟅") (merge-rule "쟆" "재á‡") (merge-rule "쟇" "쟇") (merge-rule "쟈" "쟈~b") (merge-rule "쟉" "쟉") (merge-rule "쟊" "쟊") (merge-rule "쟋" "쟋") (merge-rule "쟌" "쟌") (merge-rule "ìŸ" "쟍") (merge-rule "쟎" "쟎") (merge-rule "ìŸ" "쟏") (merge-rule "ìŸ" "쟐") (merge-rule "쟑" "쟑") (merge-rule "쟒" "쟒") (merge-rule "쟓" "쟓") (merge-rule "쟔" "쟔") (merge-rule "쟕" "쟕") (merge-rule "쟖" "쟖") (merge-rule "쟗" "쟗") (merge-rule "쟘" "쟘") (merge-rule "쟙" "쟙") (merge-rule "쟚" "쟚") (merge-rule "쟛" "쟛") (merge-rule "쟜" "쟜") (merge-rule "ìŸ" "쟝") (merge-rule "쟞" "쟞") (merge-rule "쟟" "쟟") (merge-rule "쟠" "쟠") (merge-rule "쟡" "쟡") (merge-rule "쟢" "쟈á‡") (merge-rule "쟣" "쟣") (merge-rule "쟤" "쟤~b") (merge-rule "쟥" "쟥") (merge-rule "쟦" "쟦") (merge-rule "쟧" "쟧") (merge-rule "쟨" "쟨") (merge-rule "쟩" "쟩") (merge-rule "쟪" "쟪") (merge-rule "쟫" "쟫") (merge-rule "쟬" "쟬") (merge-rule "쟭" "쟭") (merge-rule "쟮" "쟮") (merge-rule "쟯" "쟯") (merge-rule "쟰" "쟰") (merge-rule "쟱" "쟱") (merge-rule "쟲" "쟲") (merge-rule "쟳" "쟳") (merge-rule "쟴" "쟴") (merge-rule "쟵" "쟵") (merge-rule "쟶" "쟶") (merge-rule "쟷" "쟷") (merge-rule "쟸" "쟸") (merge-rule "쟹" "쟹") (merge-rule "쟺" "쟺") (merge-rule "쟻" "쟻") (merge-rule "쟼" "쟼") (merge-rule "쟽" "쟽") (merge-rule "쟾" "쟤á‡") (merge-rule "쟿" "쟿") (merge-rule "ì €" "저~b") (merge-rule "ì " "적") (merge-rule "ì ‚" "젂") (merge-rule "ì ƒ" "젃") (merge-rule "ì „" "전") (merge-rule "ì …" "젅") (merge-rule "ì †" "젆") (merge-rule "ì ‡" "젇") (merge-rule "ì ˆ" "절") (merge-rule "ì ‰" "젉") (merge-rule "ì Š" "젊") (merge-rule "ì ‹" "젋") (merge-rule "ì Œ" "젌") (merge-rule "ì " "젍") (merge-rule "ì Ž" "젎") (merge-rule "ì " "젏") (merge-rule "ì " "점") (merge-rule "ì ‘" "접") (merge-rule "ì ’" "젒") (merge-rule "ì “" "젓") (merge-rule "ì ”" "젔") (merge-rule "ì •" "정") (merge-rule "ì –" "젖") (merge-rule "ì —" "젗") (merge-rule "ì ˜" "젘") (merge-rule "ì ™" "젙") (merge-rule "ì š" "저á‡") (merge-rule "ì ›" "젛") (merge-rule "ì œ" "제~b") (merge-rule "ì " "젝") (merge-rule "ì ž" "젞") (merge-rule "ì Ÿ" "젟") (merge-rule "ì  " "젠") (merge-rule "ì ¡" "젡") (merge-rule "ì ¢" "젢") (merge-rule "ì £" "젣") (merge-rule "ì ¤" "젤") (merge-rule "ì ¥" "젥") (merge-rule "ì ¦" "젦") (merge-rule "ì §" "젧") (merge-rule "ì ¨" "젨") (merge-rule "ì ©" "젩") (merge-rule "ì ª" "젪") (merge-rule "ì «" "젫") (merge-rule "ì ¬" "젬") (merge-rule "ì ­" "젭") (merge-rule "ì ®" "젮") (merge-rule "ì ¯" "젯") (merge-rule "ì °" "젰") (merge-rule "ì ±" "젱") (merge-rule "ì ²" "젲") (merge-rule "ì ³" "젳") (merge-rule "ì ´" "젴") (merge-rule "ì µ" "젵") (merge-rule "ì ¶" "제á‡") (merge-rule "ì ·" "젷") (merge-rule "ì ¸" "져~b") (merge-rule "ì ¹" "젹") (merge-rule "ì º" "젺") (merge-rule "ì »" "젻") (merge-rule "ì ¼" "젼") (merge-rule "ì ½" "젽") (merge-rule "ì ¾" "젾") (merge-rule "ì ¿" "젿") (merge-rule "ì¡€" "졀") (merge-rule "ì¡" "졁") (merge-rule "ì¡‚" "졂") (merge-rule "졃" "졃") (merge-rule "ì¡„" "졄") (merge-rule "ì¡…" "졅") (merge-rule "졆" "졆") (merge-rule "졇" "졇") (merge-rule "졈" "졈") (merge-rule "졉" "졉") (merge-rule "졊" "졊") (merge-rule "ì¡‹" "졋") (merge-rule "졌" "졌") (merge-rule "ì¡" "졍") (merge-rule "졎" "졎") (merge-rule "ì¡" "졏") (merge-rule "ì¡" "졐") (merge-rule "ì¡‘" "졑") (merge-rule "ì¡’" "져á‡") (merge-rule "ì¡“" "졓") (merge-rule "ì¡”" "졔~b") (merge-rule "ì¡•" "졕") (merge-rule "ì¡–" "졖") (merge-rule "ì¡—" "졗") (merge-rule "졘" "졘") (merge-rule "ì¡™" "졙") (merge-rule "졚" "졚") (merge-rule "ì¡›" "졛") (merge-rule "졜" "졜") (merge-rule "ì¡" "졝") (merge-rule "졞" "졞") (merge-rule "졟" "졟") (merge-rule "ì¡ " "졠") (merge-rule "ì¡¡" "졡") (merge-rule "ì¡¢" "졢") (merge-rule "ì¡£" "졣") (merge-rule "졤" "졤") (merge-rule "ì¡¥" "졥") (merge-rule "졦" "졦") (merge-rule "ì¡§" "졧") (merge-rule "졨" "졨") (merge-rule "ì¡©" "졩") (merge-rule "졪" "졪") (merge-rule "ì¡«" "졫") (merge-rule "졬" "졬") (merge-rule "ì¡­" "졭") (merge-rule "ì¡®" "졔á‡") (merge-rule "졯" "졯") (merge-rule "ì¡°" "조~b") (merge-rule "족" "족") (merge-rule "졲" "졲") (merge-rule "졳" "졳") (merge-rule "ì¡´" "존") (merge-rule "졵" "졵") (merge-rule "ì¡¶" "졶") (merge-rule "ì¡·" "졷") (merge-rule "졸" "졸") (merge-rule "졹" "졹") (merge-rule "졺" "졺") (merge-rule "ì¡»" "졻") (merge-rule "졼" "졼") (merge-rule "졽" "졽") (merge-rule "졾" "졾") (merge-rule "ì¡¿" "졿") (merge-rule "좀" "좀") (merge-rule "ì¢" "좁") (merge-rule "좂" "좂") (merge-rule "좃" "좃") (merge-rule "좄" "좄") (merge-rule "종" "종") (merge-rule "좆" "좆") (merge-rule "좇" "좇") (merge-rule "좈" "좈") (merge-rule "좉" "좉") (merge-rule "좊" "조á‡") (merge-rule "좋" "좋") (merge-rule "좌" "좌~b") (merge-rule "ì¢" "좍") (merge-rule "좎" "좎") (merge-rule "ì¢" "좏") (merge-rule "ì¢" "좐") (merge-rule "좑" "좑") (merge-rule "좒" "좒") (merge-rule "좓" "좓") (merge-rule "좔" "좔") (merge-rule "좕" "좕") (merge-rule "좖" "좖") (merge-rule "좗" "좗") (merge-rule "좘" "좘") (merge-rule "좙" "좙") (merge-rule "좚" "좚") (merge-rule "좛" "좛") (merge-rule "좜" "좜") (merge-rule "ì¢" "좝") (merge-rule "좞" "좞") (merge-rule "좟" "좟") (merge-rule "좠" "좠") (merge-rule "좡" "좡") (merge-rule "좢" "좢") (merge-rule "좣" "좣") (merge-rule "좤" "좤") (merge-rule "좥" "좥") (merge-rule "좦" "좌á‡") (merge-rule "좧" "좧") (merge-rule "좨" "좨~b") (merge-rule "좩" "좩") (merge-rule "좪" "좪") (merge-rule "좫" "좫") (merge-rule "좬" "좬") (merge-rule "좭" "좭") (merge-rule "좮" "좮") (merge-rule "좯" "좯") (merge-rule "좰" "좰") (merge-rule "좱" "좱") (merge-rule "좲" "좲") (merge-rule "좳" "좳") (merge-rule "좴" "좴") (merge-rule "좵" "좵") (merge-rule "좶" "좶") (merge-rule "좷" "좷") (merge-rule "좸" "좸") (merge-rule "좹" "좹") (merge-rule "좺" "좺") (merge-rule "좻" "좻") (merge-rule "좼" "좼") (merge-rule "좽" "좽") (merge-rule "좾" "좾") (merge-rule "좿" "좿") (merge-rule "죀" "죀") (merge-rule "ì£" "죁") (merge-rule "죂" "좨á‡") (merge-rule "죃" "죃") (merge-rule "죄" "죄~b") (merge-rule "죅" "죅") (merge-rule "죆" "죆") (merge-rule "죇" "죇") (merge-rule "죈" "죈") (merge-rule "죉" "죉") (merge-rule "죊" "죊") (merge-rule "죋" "죋") (merge-rule "죌" "죌") (merge-rule "ì£" "죍") (merge-rule "죎" "죎") (merge-rule "ì£" "죏") (merge-rule "ì£" "죐") (merge-rule "죑" "죑") (merge-rule "죒" "죒") (merge-rule "죓" "죓") (merge-rule "죔" "죔") (merge-rule "죕" "죕") (merge-rule "죖" "죖") (merge-rule "죗" "죗") (merge-rule "죘" "죘") (merge-rule "죙" "죙") (merge-rule "죚" "죚") (merge-rule "죛" "죛") (merge-rule "죜" "죜") (merge-rule "ì£" "죝") (merge-rule "죞" "죄á‡") (merge-rule "죟" "죟") (merge-rule "죠" "죠~b") (merge-rule "죡" "죡") (merge-rule "죢" "죢") (merge-rule "죣" "죣") (merge-rule "죤" "죤") (merge-rule "죥" "죥") (merge-rule "죦" "죦") (merge-rule "죧" "죧") (merge-rule "죨" "죨") (merge-rule "죩" "죩") (merge-rule "죪" "죪") (merge-rule "죫" "죫") (merge-rule "죬" "죬") (merge-rule "죭" "죭") (merge-rule "죮" "죮") (merge-rule "죯" "죯") (merge-rule "죰" "죰") (merge-rule "죱" "죱") (merge-rule "죲" "죲") (merge-rule "죳" "죳") (merge-rule "죴" "죴") (merge-rule "죵" "죵") (merge-rule "죶" "죶") (merge-rule "죷" "죷") (merge-rule "죸" "죸") (merge-rule "죹" "죹") (merge-rule "죺" "죠á‡") (merge-rule "죻" "죻") (merge-rule "주" "주~b") (merge-rule "죽" "죽") (merge-rule "죾" "죾") (merge-rule "죿" "죿") (merge-rule "준" "준") (merge-rule "ì¤" "줁") (merge-rule "줂" "줂") (merge-rule "줃" "줃") (merge-rule "줄" "줄") (merge-rule "줅" "줅") (merge-rule "줆" "줆") (merge-rule "줇" "줇") (merge-rule "줈" "줈") (merge-rule "줉" "줉") (merge-rule "줊" "줊") (merge-rule "줋" "줋") (merge-rule "줌" "줌") (merge-rule "ì¤" "줍") (merge-rule "줎" "줎") (merge-rule "ì¤" "줏") (merge-rule "ì¤" "줐") (merge-rule "중" "중") (merge-rule "줒" "줒") (merge-rule "줓" "줓") (merge-rule "줔" "줔") (merge-rule "줕" "줕") (merge-rule "줖" "주á‡") (merge-rule "줗" "줗") (merge-rule "줘" "줘~b") (merge-rule "줙" "줙") (merge-rule "줚" "줚") (merge-rule "줛" "줛") (merge-rule "줜" "줜") (merge-rule "ì¤" "줝") (merge-rule "줞" "줞") (merge-rule "줟" "줟") (merge-rule "줠" "줠") (merge-rule "줡" "줡") (merge-rule "줢" "줢") (merge-rule "줣" "줣") (merge-rule "줤" "줤") (merge-rule "줥" "줥") (merge-rule "줦" "줦") (merge-rule "줧" "줧") (merge-rule "줨" "줨") (merge-rule "줩" "줩") (merge-rule "줪" "줪") (merge-rule "줫" "줫") (merge-rule "줬" "줬") (merge-rule "줭" "줭") (merge-rule "줮" "줮") (merge-rule "줯" "줯") (merge-rule "줰" "줰") (merge-rule "줱" "줱") (merge-rule "줲" "줘á‡") (merge-rule "줳" "줳") (merge-rule "줴" "줴~b") (merge-rule "줵" "줵") (merge-rule "줶" "줶") (merge-rule "줷" "줷") (merge-rule "줸" "줸") (merge-rule "줹" "줹") (merge-rule "줺" "줺") (merge-rule "줻" "줻") (merge-rule "줼" "줼") (merge-rule "줽" "줽") (merge-rule "줾" "줾") (merge-rule "줿" "줿") (merge-rule "쥀" "쥀") (merge-rule "ì¥" "쥁") (merge-rule "쥂" "쥂") (merge-rule "쥃" "쥃") (merge-rule "쥄" "쥄") (merge-rule "쥅" "쥅") (merge-rule "쥆" "쥆") (merge-rule "쥇" "쥇") (merge-rule "쥈" "쥈") (merge-rule "쥉" "쥉") (merge-rule "쥊" "쥊") (merge-rule "쥋" "쥋") (merge-rule "쥌" "쥌") (merge-rule "ì¥" "쥍") (merge-rule "쥎" "줴á‡") (merge-rule "ì¥" "쥏") (merge-rule "ì¥" "쥐~b") (merge-rule "쥑" "쥑") (merge-rule "쥒" "쥒") (merge-rule "쥓" "쥓") (merge-rule "쥔" "쥔") (merge-rule "쥕" "쥕") (merge-rule "쥖" "쥖") (merge-rule "쥗" "쥗") (merge-rule "쥘" "쥘") (merge-rule "쥙" "쥙") (merge-rule "쥚" "쥚") (merge-rule "쥛" "쥛") (merge-rule "쥜" "쥜") (merge-rule "ì¥" "쥝") (merge-rule "쥞" "쥞") (merge-rule "쥟" "쥟") (merge-rule "쥠" "쥠") (merge-rule "쥡" "쥡") (merge-rule "쥢" "쥢") (merge-rule "쥣" "쥣") (merge-rule "쥤" "쥤") (merge-rule "쥥" "쥥") (merge-rule "쥦" "쥦") (merge-rule "쥧" "쥧") (merge-rule "쥨" "쥨") (merge-rule "쥩" "쥩") (merge-rule "쥪" "쥐á‡") (merge-rule "쥫" "쥫") (merge-rule "쥬" "쥬~b") (merge-rule "쥭" "쥭") (merge-rule "쥮" "쥮") (merge-rule "쥯" "쥯") (merge-rule "쥰" "쥰") (merge-rule "쥱" "쥱") (merge-rule "쥲" "쥲") (merge-rule "쥳" "쥳") (merge-rule "쥴" "쥴") (merge-rule "쥵" "쥵") (merge-rule "쥶" "쥶") (merge-rule "쥷" "쥷") (merge-rule "쥸" "쥸") (merge-rule "쥹" "쥹") (merge-rule "쥺" "쥺") (merge-rule "쥻" "쥻") (merge-rule "쥼" "쥼") (merge-rule "쥽" "쥽") (merge-rule "쥾" "쥾") (merge-rule "쥿" "쥿") (merge-rule "즀" "즀") (merge-rule "ì¦" "즁") (merge-rule "즂" "즂") (merge-rule "즃" "즃") (merge-rule "즄" "즄") (merge-rule "즅" "즅") (merge-rule "즆" "쥬á‡") (merge-rule "즇" "즇") (merge-rule "즈" "즈~b") (merge-rule "즉" "즉") (merge-rule "즊" "즊") (merge-rule "즋" "즋") (merge-rule "즌" "즌") (merge-rule "ì¦" "즍") (merge-rule "즎" "즎") (merge-rule "ì¦" "즏") (merge-rule "ì¦" "즐") (merge-rule "즑" "즑") (merge-rule "즒" "즒") (merge-rule "즓" "즓") (merge-rule "즔" "즔") (merge-rule "즕" "즕") (merge-rule "즖" "즖") (merge-rule "즗" "즗") (merge-rule "즘" "즘") (merge-rule "즙" "즙") (merge-rule "즚" "즚") (merge-rule "즛" "즛") (merge-rule "즜" "즜") (merge-rule "ì¦" "증") (merge-rule "즞" "즞") (merge-rule "즟" "즟") (merge-rule "즠" "즠") (merge-rule "즡" "즡") (merge-rule "즢" "즈á‡") (merge-rule "즣" "즣") (merge-rule "즤" "즤~b") (merge-rule "즥" "즥") (merge-rule "즦" "즦") (merge-rule "즧" "즧") (merge-rule "즨" "즨") (merge-rule "즩" "즩") (merge-rule "즪" "즪") (merge-rule "즫" "즫") (merge-rule "즬" "즬") (merge-rule "즭" "즭") (merge-rule "즮" "즮") (merge-rule "즯" "즯") (merge-rule "즰" "즰") (merge-rule "즱" "즱") (merge-rule "즲" "즲") (merge-rule "즳" "즳") (merge-rule "즴" "즴") (merge-rule "즵" "즵") (merge-rule "즶" "즶") (merge-rule "즷" "즷") (merge-rule "즸" "즸") (merge-rule "즹" "즹") (merge-rule "즺" "즺") (merge-rule "즻" "즻") (merge-rule "즼" "즼") (merge-rule "즽" "즽") (merge-rule "즾" "즤á‡") (merge-rule "즿" "즿") (merge-rule "ì§€" "지~b") (merge-rule "ì§" "직") (merge-rule "ì§‚" "짂") (merge-rule "짃" "짃") (merge-rule "ì§„" "진") (merge-rule "ì§…" "짅") (merge-rule "짆" "짆") (merge-rule "짇" "짇") (merge-rule "질" "질") (merge-rule "짉" "짉") (merge-rule "ì§Š" "짊") (merge-rule "ì§‹" "짋") (merge-rule "ì§Œ" "짌") (merge-rule "ì§" "짍") (merge-rule "ì§Ž" "짎") (merge-rule "ì§" "짏") (merge-rule "ì§" "짐") (merge-rule "ì§‘" "집") (merge-rule "ì§’" "짒") (merge-rule "ì§“" "짓") (merge-rule "ì§”" "짔") (merge-rule "ì§•" "징") (merge-rule "ì§–" "짖") (merge-rule "ì§—" "짗") (merge-rule "짘" "짘") (merge-rule "ì§™" "짙") (merge-rule "ì§š" "지á‡") (merge-rule "ì§›" "짛") (merge-rule "ì§œ" "á„á…¡~b") (merge-rule "ì§" "á„ᅡᆨ") (merge-rule "ì§ž" "á„ᅡᆩ") (merge-rule "ì§Ÿ" "á„ᅡᆪ") (merge-rule "ì§ " "á„ᅡᆫ") (merge-rule "ì§¡" "á„ᅡᆬ") (merge-rule "ì§¢" "á„ᅡᆭ") (merge-rule "ì§£" "á„ᅡᆮ") (merge-rule "짤" "á„ᅡᆯ") (merge-rule "ì§¥" "á„ᅡᆰ") (merge-rule "짦" "á„ᅡᆱ") (merge-rule "ì§§" "á„ᅡᆲ") (merge-rule "짨" "á„ᅡᆳ") (merge-rule "ì§©" "á„ᅡᆴ") (merge-rule "짪" "á„ᅡᆵ") (merge-rule "ì§«" "á„ᅡᆶ") (merge-rule "짬" "á„ᅡᆷ") (merge-rule "ì§­" "á„ᅡᆸ") (merge-rule "ì§®" "á„ᅡᆹ") (merge-rule "짯" "á„ᅡᆺ") (merge-rule "ì§°" "á„ᅡᆻ") (merge-rule "ì§±" "á„ᅡᆼ") (merge-rule "ì§²" "á„ᅡᆽ") (merge-rule "ì§³" "á„ᅡᆾ") (merge-rule "ì§´" "á„ᅡᆿ") (merge-rule "ì§µ" "á„ᅡᇀ") (merge-rule "ì§¶" "á„á…¡á‡") (merge-rule "ì§·" "á„ᅡᇂ") (merge-rule "째" "á„á…¢~b") (merge-rule "ì§¹" "á„ᅢᆨ") (merge-rule "짺" "á„ᅢᆩ") (merge-rule "ì§»" "á„ᅢᆪ") (merge-rule "ì§¼" "á„ᅢᆫ") (merge-rule "ì§½" "á„ᅢᆬ") (merge-rule "ì§¾" "á„ᅢᆭ") (merge-rule "ì§¿" "á„ᅢᆮ") (merge-rule "쨀" "á„ᅢᆯ") (merge-rule "ì¨" "á„ᅢᆰ") (merge-rule "쨂" "á„ᅢᆱ") (merge-rule "쨃" "á„ᅢᆲ") (merge-rule "쨄" "á„ᅢᆳ") (merge-rule "쨅" "á„ᅢᆴ") (merge-rule "쨆" "á„ᅢᆵ") (merge-rule "쨇" "á„ᅢᆶ") (merge-rule "쨈" "á„ᅢᆷ") (merge-rule "쨉" "á„ᅢᆸ") (merge-rule "쨊" "á„ᅢᆹ") (merge-rule "쨋" "á„ᅢᆺ") (merge-rule "쨌" "á„ᅢᆻ") (merge-rule "ì¨" "á„ᅢᆼ") (merge-rule "쨎" "á„ᅢᆽ") (merge-rule "ì¨" "á„ᅢᆾ") (merge-rule "ì¨" "á„ᅢᆿ") (merge-rule "쨑" "á„ᅢᇀ") (merge-rule "쨒" "á„á…¢á‡") (merge-rule "쨓" "á„ᅢᇂ") (merge-rule "쨔" "á„á…£~b") (merge-rule "쨕" "á„ᅣᆨ") (merge-rule "쨖" "á„ᅣᆩ") (merge-rule "쨗" "á„ᅣᆪ") (merge-rule "쨘" "á„ᅣᆫ") (merge-rule "쨙" "á„ᅣᆬ") (merge-rule "쨚" "á„ᅣᆭ") (merge-rule "쨛" "á„ᅣᆮ") (merge-rule "쨜" "á„ᅣᆯ") (merge-rule "ì¨" "á„ᅣᆰ") (merge-rule "쨞" "á„ᅣᆱ") (merge-rule "쨟" "á„ᅣᆲ") (merge-rule "쨠" "á„ᅣᆳ") (merge-rule "쨡" "á„ᅣᆴ") (merge-rule "쨢" "á„ᅣᆵ") (merge-rule "쨣" "á„ᅣᆶ") (merge-rule "쨤" "á„ᅣᆷ") (merge-rule "쨥" "á„ᅣᆸ") (merge-rule "쨦" "á„ᅣᆹ") (merge-rule "쨧" "á„ᅣᆺ") (merge-rule "쨨" "á„ᅣᆻ") (merge-rule "쨩" "á„ᅣᆼ") (merge-rule "쨪" "á„ᅣᆽ") (merge-rule "쨫" "á„ᅣᆾ") (merge-rule "쨬" "á„ᅣᆿ") (merge-rule "쨭" "á„ᅣᇀ") (merge-rule "쨮" "á„á…£á‡") (merge-rule "쨯" "á„ᅣᇂ") (merge-rule "쨰" "á„á…¤~b") (merge-rule "쨱" "á„ᅤᆨ") (merge-rule "쨲" "á„ᅤᆩ") (merge-rule "쨳" "á„ᅤᆪ") (merge-rule "쨴" "á„ᅤᆫ") (merge-rule "쨵" "á„ᅤᆬ") (merge-rule "쨶" "á„ᅤᆭ") (merge-rule "쨷" "á„ᅤᆮ") (merge-rule "쨸" "á„ᅤᆯ") (merge-rule "쨹" "á„ᅤᆰ") (merge-rule "쨺" "á„ᅤᆱ") (merge-rule "쨻" "á„ᅤᆲ") (merge-rule "쨼" "á„ᅤᆳ") (merge-rule "쨽" "á„ᅤᆴ") (merge-rule "쨾" "á„ᅤᆵ") (merge-rule "쨿" "á„ᅤᆶ") (merge-rule "ì©€" "á„ᅤᆷ") (merge-rule "ì©" "á„ᅤᆸ") (merge-rule "ì©‚" "á„ᅤᆹ") (merge-rule "쩃" "á„ᅤᆺ") (merge-rule "ì©„" "á„ᅤᆻ") (merge-rule "ì©…" "á„ᅤᆼ") (merge-rule "쩆" "á„ᅤᆽ") (merge-rule "쩇" "á„ᅤᆾ") (merge-rule "쩈" "á„ᅤᆿ") (merge-rule "쩉" "á„ᅤᇀ") (merge-rule "쩊" "á„á…¤á‡") (merge-rule "ì©‹" "á„ᅤᇂ") (merge-rule "쩌" "á„á…¥~b") (merge-rule "ì©" "á„ᅥᆨ") (merge-rule "쩎" "á„ᅥᆩ") (merge-rule "ì©" "á„ᅥᆪ") (merge-rule "ì©" "á„ᅥᆫ") (merge-rule "ì©‘" "á„ᅥᆬ") (merge-rule "ì©’" "á„ᅥᆭ") (merge-rule "ì©“" "á„ᅥᆮ") (merge-rule "ì©”" "á„ᅥᆯ") (merge-rule "ì©•" "á„ᅥᆰ") (merge-rule "ì©–" "á„ᅥᆱ") (merge-rule "ì©—" "á„ᅥᆲ") (merge-rule "쩘" "á„ᅥᆳ") (merge-rule "ì©™" "á„ᅥᆴ") (merge-rule "쩚" "á„ᅥᆵ") (merge-rule "ì©›" "á„ᅥᆶ") (merge-rule "쩜" "á„ᅥᆷ") (merge-rule "ì©" "á„ᅥᆸ") (merge-rule "쩞" "á„ᅥᆹ") (merge-rule "쩟" "á„ᅥᆺ") (merge-rule "ì© " "á„ᅥᆻ") (merge-rule "ì©¡" "á„ᅥᆼ") (merge-rule "ì©¢" "á„ᅥᆽ") (merge-rule "ì©£" "á„ᅥᆾ") (merge-rule "쩤" "á„ᅥᆿ") (merge-rule "ì©¥" "á„ᅥᇀ") (merge-rule "쩦" "á„á…¥á‡") (merge-rule "ì©§" "á„ᅥᇂ") (merge-rule "쩨" "á„á…¦~b") (merge-rule "ì©©" "á„ᅦᆨ") (merge-rule "쩪" "á„ᅦᆩ") (merge-rule "ì©«" "á„ᅦᆪ") (merge-rule "쩬" "á„ᅦᆫ") (merge-rule "ì©­" "á„ᅦᆬ") (merge-rule "ì©®" "á„ᅦᆭ") (merge-rule "쩯" "á„ᅦᆮ") (merge-rule "ì©°" "á„ᅦᆯ") (merge-rule "쩱" "á„ᅦᆰ") (merge-rule "쩲" "á„ᅦᆱ") (merge-rule "쩳" "á„ᅦᆲ") (merge-rule "ì©´" "á„ᅦᆳ") (merge-rule "쩵" "á„ᅦᆴ") (merge-rule "ì©¶" "á„ᅦᆵ") (merge-rule "ì©·" "á„ᅦᆶ") (merge-rule "쩸" "á„ᅦᆷ") (merge-rule "쩹" "á„ᅦᆸ") (merge-rule "쩺" "á„ᅦᆹ") (merge-rule "ì©»" "á„ᅦᆺ") (merge-rule "쩼" "á„ᅦᆻ") (merge-rule "쩽" "á„ᅦᆼ") (merge-rule "쩾" "á„ᅦᆽ") (merge-rule "ì©¿" "á„ᅦᆾ") (merge-rule "쪀" "á„ᅦᆿ") (merge-rule "ìª" "á„ᅦᇀ") (merge-rule "쪂" "á„á…¦á‡") (merge-rule "쪃" "á„ᅦᇂ") (merge-rule "쪄" "á„á…§~b") (merge-rule "쪅" "á„ᅧᆨ") (merge-rule "쪆" "á„ᅧᆩ") (merge-rule "쪇" "á„ᅧᆪ") (merge-rule "쪈" "á„ᅧᆫ") (merge-rule "쪉" "á„ᅧᆬ") (merge-rule "쪊" "á„ᅧᆭ") (merge-rule "쪋" "á„ᅧᆮ") (merge-rule "쪌" "á„ᅧᆯ") (merge-rule "ìª" "á„ᅧᆰ") (merge-rule "쪎" "á„ᅧᆱ") (merge-rule "ìª" "á„ᅧᆲ") (merge-rule "ìª" "á„ᅧᆳ") (merge-rule "쪑" "á„ᅧᆴ") (merge-rule "쪒" "á„ᅧᆵ") (merge-rule "쪓" "á„ᅧᆶ") (merge-rule "쪔" "á„ᅧᆷ") (merge-rule "쪕" "á„ᅧᆸ") (merge-rule "쪖" "á„ᅧᆹ") (merge-rule "쪗" "á„ᅧᆺ") (merge-rule "쪘" "á„ᅧᆻ") (merge-rule "쪙" "á„ᅧᆼ") (merge-rule "쪚" "á„ᅧᆽ") (merge-rule "쪛" "á„ᅧᆾ") (merge-rule "쪜" "á„ᅧᆿ") (merge-rule "ìª" "á„ᅧᇀ") (merge-rule "쪞" "á„á…§á‡") (merge-rule "쪟" "á„ᅧᇂ") (merge-rule "쪠" "á„á…¨~b") (merge-rule "쪡" "á„ᅨᆨ") (merge-rule "쪢" "á„ᅨᆩ") (merge-rule "쪣" "á„ᅨᆪ") (merge-rule "쪤" "á„ᅨᆫ") (merge-rule "쪥" "á„ᅨᆬ") (merge-rule "쪦" "á„ᅨᆭ") (merge-rule "쪧" "á„ᅨᆮ") (merge-rule "쪨" "á„ᅨᆯ") (merge-rule "쪩" "á„ᅨᆰ") (merge-rule "쪪" "á„ᅨᆱ") (merge-rule "쪫" "á„ᅨᆲ") (merge-rule "쪬" "á„ᅨᆳ") (merge-rule "쪭" "á„ᅨᆴ") (merge-rule "쪮" "á„ᅨᆵ") (merge-rule "쪯" "á„ᅨᆶ") (merge-rule "쪰" "á„ᅨᆷ") (merge-rule "쪱" "á„ᅨᆸ") (merge-rule "쪲" "á„ᅨᆹ") (merge-rule "쪳" "á„ᅨᆺ") (merge-rule "쪴" "á„ᅨᆻ") (merge-rule "쪵" "á„ᅨᆼ") (merge-rule "쪶" "á„ᅨᆽ") (merge-rule "쪷" "á„ᅨᆾ") (merge-rule "쪸" "á„ᅨᆿ") (merge-rule "쪹" "á„ᅨᇀ") (merge-rule "쪺" "á„á…¨á‡") (merge-rule "쪻" "á„ᅨᇂ") (merge-rule "쪼" "á„á…©~b") (merge-rule "쪽" "á„ᅩᆨ") (merge-rule "쪾" "á„ᅩᆩ") (merge-rule "쪿" "á„ᅩᆪ") (merge-rule "ì«€" "á„ᅩᆫ") (merge-rule "ì«" "á„ᅩᆬ") (merge-rule "ì«‚" "á„ᅩᆭ") (merge-rule "쫃" "á„ᅩᆮ") (merge-rule "ì«„" "á„ᅩᆯ") (merge-rule "ì«…" "á„ᅩᆰ") (merge-rule "쫆" "á„ᅩᆱ") (merge-rule "쫇" "á„ᅩᆲ") (merge-rule "쫈" "á„ᅩᆳ") (merge-rule "쫉" "á„ᅩᆴ") (merge-rule "쫊" "á„ᅩᆵ") (merge-rule "ì«‹" "á„ᅩᆶ") (merge-rule "쫌" "á„ᅩᆷ") (merge-rule "ì«" "á„ᅩᆸ") (merge-rule "쫎" "á„ᅩᆹ") (merge-rule "ì«" "á„ᅩᆺ") (merge-rule "ì«" "á„ᅩᆻ") (merge-rule "ì«‘" "á„ᅩᆼ") (merge-rule "ì«’" "á„ᅩᆽ") (merge-rule "ì«“" "á„ᅩᆾ") (merge-rule "ì«”" "á„ᅩᆿ") (merge-rule "ì«•" "á„ᅩᇀ") (merge-rule "ì«–" "á„á…©á‡") (merge-rule "ì«—" "á„ᅩᇂ") (merge-rule "쫘" "á„á…ª~b") (merge-rule "ì«™" "á„ᅪᆨ") (merge-rule "쫚" "á„ᅪᆩ") (merge-rule "ì«›" "á„ᅪᆪ") (merge-rule "쫜" "á„ᅪᆫ") (merge-rule "ì«" "á„ᅪᆬ") (merge-rule "쫞" "á„ᅪᆭ") (merge-rule "쫟" "á„ᅪᆮ") (merge-rule "ì« " "á„ᅪᆯ") (merge-rule "ì«¡" "á„ᅪᆰ") (merge-rule "ì«¢" "á„ᅪᆱ") (merge-rule "ì«£" "á„ᅪᆲ") (merge-rule "쫤" "á„ᅪᆳ") (merge-rule "ì«¥" "á„ᅪᆴ") (merge-rule "쫦" "á„ᅪᆵ") (merge-rule "ì«§" "á„ᅪᆶ") (merge-rule "쫨" "á„ᅪᆷ") (merge-rule "ì«©" "á„ᅪᆸ") (merge-rule "쫪" "á„ᅪᆹ") (merge-rule "ì««" "á„ᅪᆺ") (merge-rule "쫬" "á„ᅪᆻ") (merge-rule "ì«­" "á„ᅪᆼ") (merge-rule "ì«®" "á„ᅪᆽ") (merge-rule "쫯" "á„ᅪᆾ") (merge-rule "ì«°" "á„ᅪᆿ") (merge-rule "쫱" "á„ᅪᇀ") (merge-rule "쫲" "á„á…ªá‡") (merge-rule "쫳" "á„ᅪᇂ") (merge-rule "ì«´" "á„á…«~b") (merge-rule "쫵" "á„ᅫᆨ") (merge-rule "ì«¶" "á„ᅫᆩ") (merge-rule "ì«·" "á„ᅫᆪ") (merge-rule "쫸" "á„ᅫᆫ") (merge-rule "쫹" "á„ᅫᆬ") (merge-rule "쫺" "á„ᅫᆭ") (merge-rule "ì«»" "á„ᅫᆮ") (merge-rule "쫼" "á„ᅫᆯ") (merge-rule "쫽" "á„ᅫᆰ") (merge-rule "쫾" "á„ᅫᆱ") (merge-rule "ì«¿" "á„ᅫᆲ") (merge-rule "쬀" "á„ᅫᆳ") (merge-rule "ì¬" "á„ᅫᆴ") (merge-rule "쬂" "á„ᅫᆵ") (merge-rule "쬃" "á„ᅫᆶ") (merge-rule "쬄" "á„ᅫᆷ") (merge-rule "쬅" "á„ᅫᆸ") (merge-rule "쬆" "á„ᅫᆹ") (merge-rule "쬇" "á„ᅫᆺ") (merge-rule "쬈" "á„ᅫᆻ") (merge-rule "쬉" "á„ᅫᆼ") (merge-rule "쬊" "á„ᅫᆽ") (merge-rule "쬋" "á„ᅫᆾ") (merge-rule "쬌" "á„ᅫᆿ") (merge-rule "ì¬" "á„ᅫᇀ") (merge-rule "쬎" "á„á…«á‡") (merge-rule "ì¬" "á„ᅫᇂ") (merge-rule "ì¬" "á„á…¬~b") (merge-rule "쬑" "á„ᅬᆨ") (merge-rule "쬒" "á„ᅬᆩ") (merge-rule "쬓" "á„ᅬᆪ") (merge-rule "쬔" "á„ᅬᆫ") (merge-rule "쬕" "á„ᅬᆬ") (merge-rule "쬖" "á„ᅬᆭ") (merge-rule "쬗" "á„ᅬᆮ") (merge-rule "쬘" "á„ᅬᆯ") (merge-rule "쬙" "á„ᅬᆰ") (merge-rule "쬚" "á„ᅬᆱ") (merge-rule "쬛" "á„ᅬᆲ") (merge-rule "쬜" "á„ᅬᆳ") (merge-rule "ì¬" "á„ᅬᆴ") (merge-rule "쬞" "á„ᅬᆵ") (merge-rule "쬟" "á„ᅬᆶ") (merge-rule "쬠" "á„ᅬᆷ") (merge-rule "쬡" "á„ᅬᆸ") (merge-rule "쬢" "á„ᅬᆹ") (merge-rule "쬣" "á„ᅬᆺ") (merge-rule "쬤" "á„ᅬᆻ") (merge-rule "쬥" "á„ᅬᆼ") (merge-rule "쬦" "á„ᅬᆽ") (merge-rule "쬧" "á„ᅬᆾ") (merge-rule "쬨" "á„ᅬᆿ") (merge-rule "쬩" "á„ᅬᇀ") (merge-rule "쬪" "á„á…¬á‡") (merge-rule "쬫" "á„ᅬᇂ") (merge-rule "쬬" "á„á…­~b") (merge-rule "쬭" "á„ᅭᆨ") (merge-rule "쬮" "á„ᅭᆩ") (merge-rule "쬯" "á„ᅭᆪ") (merge-rule "쬰" "á„ᅭᆫ") (merge-rule "쬱" "á„ᅭᆬ") (merge-rule "쬲" "á„ᅭᆭ") (merge-rule "쬳" "á„ᅭᆮ") (merge-rule "쬴" "á„ᅭᆯ") (merge-rule "쬵" "á„ᅭᆰ") (merge-rule "쬶" "á„ᅭᆱ") (merge-rule "쬷" "á„ᅭᆲ") (merge-rule "쬸" "á„ᅭᆳ") (merge-rule "쬹" "á„ᅭᆴ") (merge-rule "쬺" "á„ᅭᆵ") (merge-rule "쬻" "á„ᅭᆶ") (merge-rule "쬼" "á„ᅭᆷ") (merge-rule "쬽" "á„ᅭᆸ") (merge-rule "쬾" "á„ᅭᆹ") (merge-rule "쬿" "á„ᅭᆺ") (merge-rule "ì­€" "á„ᅭᆻ") (merge-rule "ì­" "á„ᅭᆼ") (merge-rule "ì­‚" "á„ᅭᆽ") (merge-rule "ì­ƒ" "á„ᅭᆾ") (merge-rule "ì­„" "á„ᅭᆿ") (merge-rule "ì­…" "á„ᅭᇀ") (merge-rule "ì­†" "á„á…­á‡") (merge-rule "ì­‡" "á„ᅭᇂ") (merge-rule "ì­ˆ" "á„á…®~b") (merge-rule "ì­‰" "á„ᅮᆨ") (merge-rule "ì­Š" "á„ᅮᆩ") (merge-rule "ì­‹" "á„ᅮᆪ") (merge-rule "ì­Œ" "á„ᅮᆫ") (merge-rule "ì­" "á„ᅮᆬ") (merge-rule "ì­Ž" "á„ᅮᆭ") (merge-rule "ì­" "á„ᅮᆮ") (merge-rule "ì­" "á„ᅮᆯ") (merge-rule "ì­‘" "á„ᅮᆰ") (merge-rule "ì­’" "á„ᅮᆱ") (merge-rule "ì­“" "á„ᅮᆲ") (merge-rule "ì­”" "á„ᅮᆳ") (merge-rule "ì­•" "á„ᅮᆴ") (merge-rule "ì­–" "á„ᅮᆵ") (merge-rule "ì­—" "á„ᅮᆶ") (merge-rule "ì­˜" "á„ᅮᆷ") (merge-rule "ì­™" "á„ᅮᆸ") (merge-rule "ì­š" "á„ᅮᆹ") (merge-rule "ì­›" "á„ᅮᆺ") (merge-rule "ì­œ" "á„ᅮᆻ") (merge-rule "ì­" "á„ᅮᆼ") (merge-rule "ì­ž" "á„ᅮᆽ") (merge-rule "ì­Ÿ" "á„ᅮᆾ") (merge-rule "ì­ " "á„ᅮᆿ") (merge-rule "ì­¡" "á„ᅮᇀ") (merge-rule "ì­¢" "á„á…®á‡") (merge-rule "ì­£" "á„ᅮᇂ") (merge-rule "ì­¤" "á„á…¯~b") (merge-rule "ì­¥" "á„ᅯᆨ") (merge-rule "ì­¦" "á„ᅯᆩ") (merge-rule "ì­§" "á„ᅯᆪ") (merge-rule "ì­¨" "á„ᅯᆫ") (merge-rule "ì­©" "á„ᅯᆬ") (merge-rule "ì­ª" "á„ᅯᆭ") (merge-rule "ì­«" "á„ᅯᆮ") (merge-rule "ì­¬" "á„ᅯᆯ") (merge-rule "ì­­" "á„ᅯᆰ") (merge-rule "ì­®" "á„ᅯᆱ") (merge-rule "ì­¯" "á„ᅯᆲ") (merge-rule "ì­°" "á„ᅯᆳ") (merge-rule "ì­±" "á„ᅯᆴ") (merge-rule "ì­²" "á„ᅯᆵ") (merge-rule "ì­³" "á„ᅯᆶ") (merge-rule "ì­´" "á„ᅯᆷ") (merge-rule "ì­µ" "á„ᅯᆸ") (merge-rule "ì­¶" "á„ᅯᆹ") (merge-rule "ì­·" "á„ᅯᆺ") (merge-rule "ì­¸" "á„ᅯᆻ") (merge-rule "ì­¹" "á„ᅯᆼ") (merge-rule "ì­º" "á„ᅯᆽ") (merge-rule "ì­»" "á„ᅯᆾ") (merge-rule "ì­¼" "á„ᅯᆿ") (merge-rule "ì­½" "á„ᅯᇀ") (merge-rule "ì­¾" "á„á…¯á‡") (merge-rule "ì­¿" "á„ᅯᇂ") (merge-rule "쮀" "á„á…°~b") (merge-rule "ì®" "á„ᅰᆨ") (merge-rule "쮂" "á„ᅰᆩ") (merge-rule "쮃" "á„ᅰᆪ") (merge-rule "쮄" "á„ᅰᆫ") (merge-rule "ì®…" "á„ᅰᆬ") (merge-rule "쮆" "á„ᅰᆭ") (merge-rule "쮇" "á„ᅰᆮ") (merge-rule "쮈" "á„ᅰᆯ") (merge-rule "쮉" "á„ᅰᆰ") (merge-rule "쮊" "á„ᅰᆱ") (merge-rule "쮋" "á„ᅰᆲ") (merge-rule "쮌" "á„ᅰᆳ") (merge-rule "ì®" "á„ᅰᆴ") (merge-rule "쮎" "á„ᅰᆵ") (merge-rule "ì®" "á„ᅰᆶ") (merge-rule "ì®" "á„ᅰᆷ") (merge-rule "쮑" "á„ᅰᆸ") (merge-rule "ì®’" "á„ᅰᆹ") (merge-rule "쮓" "á„ᅰᆺ") (merge-rule "ì®”" "á„ᅰᆻ") (merge-rule "쮕" "á„ᅰᆼ") (merge-rule "ì®–" "á„ᅰᆽ") (merge-rule "ì®—" "á„ᅰᆾ") (merge-rule "쮘" "á„ᅰᆿ") (merge-rule "ì®™" "á„ᅰᇀ") (merge-rule "쮚" "á„á…°á‡") (merge-rule "ì®›" "á„ᅰᇂ") (merge-rule "쮜" "á„á…±~b") (merge-rule "ì®" "á„ᅱᆨ") (merge-rule "쮞" "á„ᅱᆩ") (merge-rule "쮟" "á„ᅱᆪ") (merge-rule "ì® " "á„ᅱᆫ") (merge-rule "쮡" "á„ᅱᆬ") (merge-rule "쮢" "á„ᅱᆭ") (merge-rule "쮣" "á„ᅱᆮ") (merge-rule "쮤" "á„ᅱᆯ") (merge-rule "쮥" "á„ᅱᆰ") (merge-rule "쮦" "á„ᅱᆱ") (merge-rule "ì®§" "á„ᅱᆲ") (merge-rule "쮨" "á„ᅱᆳ") (merge-rule "쮩" "á„ᅱᆴ") (merge-rule "쮪" "á„ᅱᆵ") (merge-rule "쮫" "á„ᅱᆶ") (merge-rule "쮬" "á„ᅱᆷ") (merge-rule "ì®­" "á„ᅱᆸ") (merge-rule "ì®®" "á„ᅱᆹ") (merge-rule "쮯" "á„ᅱᆺ") (merge-rule "ì®°" "á„ᅱᆻ") (merge-rule "ì®±" "á„ᅱᆼ") (merge-rule "쮲" "á„ᅱᆽ") (merge-rule "쮳" "á„ᅱᆾ") (merge-rule "ì®´" "á„ᅱᆿ") (merge-rule "쮵" "á„ᅱᇀ") (merge-rule "ì®¶" "á„á…±á‡") (merge-rule "ì®·" "á„ᅱᇂ") (merge-rule "쮸" "á„á…²~b") (merge-rule "쮹" "á„ᅲᆨ") (merge-rule "쮺" "á„ᅲᆩ") (merge-rule "ì®»" "á„ᅲᆪ") (merge-rule "쮼" "á„ᅲᆫ") (merge-rule "쮽" "á„ᅲᆬ") (merge-rule "쮾" "á„ᅲᆭ") (merge-rule "쮿" "á„ᅲᆮ") (merge-rule "쯀" "á„ᅲᆯ") (merge-rule "ì¯" "á„ᅲᆰ") (merge-rule "쯂" "á„ᅲᆱ") (merge-rule "쯃" "á„ᅲᆲ") (merge-rule "쯄" "á„ᅲᆳ") (merge-rule "쯅" "á„ᅲᆴ") (merge-rule "쯆" "á„ᅲᆵ") (merge-rule "쯇" "á„ᅲᆶ") (merge-rule "쯈" "á„ᅲᆷ") (merge-rule "쯉" "á„ᅲᆸ") (merge-rule "쯊" "á„ᅲᆹ") (merge-rule "쯋" "á„ᅲᆺ") (merge-rule "쯌" "á„ᅲᆻ") (merge-rule "ì¯" "á„ᅲᆼ") (merge-rule "쯎" "á„ᅲᆽ") (merge-rule "ì¯" "á„ᅲᆾ") (merge-rule "ì¯" "á„ᅲᆿ") (merge-rule "쯑" "á„ᅲᇀ") (merge-rule "쯒" "á„á…²á‡") (merge-rule "쯓" "á„ᅲᇂ") (merge-rule "쯔" "á„á…³~b") (merge-rule "쯕" "á„ᅳᆨ") (merge-rule "쯖" "á„ᅳᆩ") (merge-rule "쯗" "á„ᅳᆪ") (merge-rule "쯘" "á„ᅳᆫ") (merge-rule "쯙" "á„ᅳᆬ") (merge-rule "쯚" "á„ᅳᆭ") (merge-rule "쯛" "á„ᅳᆮ") (merge-rule "쯜" "á„ᅳᆯ") (merge-rule "ì¯" "á„ᅳᆰ") (merge-rule "쯞" "á„ᅳᆱ") (merge-rule "쯟" "á„ᅳᆲ") (merge-rule "쯠" "á„ᅳᆳ") (merge-rule "쯡" "á„ᅳᆴ") (merge-rule "쯢" "á„ᅳᆵ") (merge-rule "쯣" "á„ᅳᆶ") (merge-rule "쯤" "á„ᅳᆷ") (merge-rule "쯥" "á„ᅳᆸ") (merge-rule "쯦" "á„ᅳᆹ") (merge-rule "쯧" "á„ᅳᆺ") (merge-rule "쯨" "á„ᅳᆻ") (merge-rule "쯩" "á„ᅳᆼ") (merge-rule "쯪" "á„ᅳᆽ") (merge-rule "쯫" "á„ᅳᆾ") (merge-rule "쯬" "á„ᅳᆿ") (merge-rule "쯭" "á„ᅳᇀ") (merge-rule "쯮" "á„á…³á‡") (merge-rule "쯯" "á„ᅳᇂ") (merge-rule "쯰" "á„á…´~b") (merge-rule "쯱" "á„ᅴᆨ") (merge-rule "쯲" "á„ᅴᆩ") (merge-rule "쯳" "á„ᅴᆪ") (merge-rule "쯴" "á„ᅴᆫ") (merge-rule "쯵" "á„ᅴᆬ") (merge-rule "쯶" "á„ᅴᆭ") (merge-rule "쯷" "á„ᅴᆮ") (merge-rule "쯸" "á„ᅴᆯ") (merge-rule "쯹" "á„ᅴᆰ") (merge-rule "쯺" "á„ᅴᆱ") (merge-rule "쯻" "á„ᅴᆲ") (merge-rule "쯼" "á„ᅴᆳ") (merge-rule "쯽" "á„ᅴᆴ") (merge-rule "쯾" "á„ᅴᆵ") (merge-rule "쯿" "á„ᅴᆶ") (merge-rule "ì°€" "á„ᅴᆷ") (merge-rule "ì°" "á„ᅴᆸ") (merge-rule "ì°‚" "á„ᅴᆹ") (merge-rule "ì°ƒ" "á„ᅴᆺ") (merge-rule "ì°„" "á„ᅴᆻ") (merge-rule "ì°…" "á„ᅴᆼ") (merge-rule "ì°†" "á„ᅴᆽ") (merge-rule "ì°‡" "á„ᅴᆾ") (merge-rule "ì°ˆ" "á„ᅴᆿ") (merge-rule "ì°‰" "á„ᅴᇀ") (merge-rule "ì°Š" "á„á…´á‡") (merge-rule "ì°‹" "á„ᅴᇂ") (merge-rule "ì°Œ" "á„á…µ~b") (merge-rule "ì°" "á„ᅵᆨ") (merge-rule "ì°Ž" "á„ᅵᆩ") (merge-rule "ì°" "á„ᅵᆪ") (merge-rule "ì°" "á„ᅵᆫ") (merge-rule "ì°‘" "á„ᅵᆬ") (merge-rule "ì°’" "á„ᅵᆭ") (merge-rule "ì°“" "á„ᅵᆮ") (merge-rule "ì°”" "á„ᅵᆯ") (merge-rule "ì°•" "á„ᅵᆰ") (merge-rule "ì°–" "á„ᅵᆱ") (merge-rule "ì°—" "á„ᅵᆲ") (merge-rule "ì°˜" "á„ᅵᆳ") (merge-rule "ì°™" "á„ᅵᆴ") (merge-rule "ì°š" "á„ᅵᆵ") (merge-rule "ì°›" "á„ᅵᆶ") (merge-rule "ì°œ" "á„ᅵᆷ") (merge-rule "ì°" "á„ᅵᆸ") (merge-rule "ì°ž" "á„ᅵᆹ") (merge-rule "ì°Ÿ" "á„ᅵᆺ") (merge-rule "ì° " "á„ᅵᆻ") (merge-rule "ì°¡" "á„ᅵᆼ") (merge-rule "ì°¢" "á„ᅵᆽ") (merge-rule "ì°£" "á„ᅵᆾ") (merge-rule "ì°¤" "á„ᅵᆿ") (merge-rule "ì°¥" "á„ᅵᇀ") (merge-rule "ì°¦" "á„á…µá‡") (merge-rule "ì°§" "á„ᅵᇂ") (merge-rule "ì°¨" "차~b") (merge-rule "ì°©" "착") (merge-rule "ì°ª" "찪") (merge-rule "ì°«" "찫") (merge-rule "ì°¬" "찬") (merge-rule "ì°­" "찭") (merge-rule "ì°®" "찮") (merge-rule "ì°¯" "찯") (merge-rule "ì°°" "찰") (merge-rule "ì°±" "찱") (merge-rule "ì°²" "찲") (merge-rule "ì°³" "찳") (merge-rule "ì°´" "찴") (merge-rule "ì°µ" "찵") (merge-rule "ì°¶" "찶") (merge-rule "ì°·" "찷") (merge-rule "ì°¸" "참") (merge-rule "ì°¹" "찹") (merge-rule "ì°º" "찺") (merge-rule "ì°»" "찻") (merge-rule "ì°¼" "찼") (merge-rule "ì°½" "창") (merge-rule "ì°¾" "찾") (merge-rule "ì°¿" "찿") (merge-rule "ì±€" "챀") (merge-rule "ì±" "챁") (merge-rule "챂" "차á‡") (merge-rule "챃" "챃") (merge-rule "채" "채~b") (merge-rule "ì±…" "책") (merge-rule "챆" "챆") (merge-rule "챇" "챇") (merge-rule "챈" "챈") (merge-rule "챉" "챉") (merge-rule "챊" "챊") (merge-rule "챋" "챋") (merge-rule "챌" "챌") (merge-rule "ì±" "챍") (merge-rule "챎" "챎") (merge-rule "ì±" "챏") (merge-rule "ì±" "챐") (merge-rule "챑" "챑") (merge-rule "ì±’" "챒") (merge-rule "챓" "챓") (merge-rule "ì±”" "챔") (merge-rule "챕" "챕") (merge-rule "ì±–" "챖") (merge-rule "ì±—" "챗") (merge-rule "챘" "챘") (merge-rule "ì±™" "챙") (merge-rule "챚" "챚") (merge-rule "ì±›" "챛") (merge-rule "챜" "챜") (merge-rule "ì±" "챝") (merge-rule "챞" "채á‡") (merge-rule "챟" "챟") (merge-rule "ì± " "챠~b") (merge-rule "챡" "챡") (merge-rule "ì±¢" "챢") (merge-rule "ì±£" "챣") (merge-rule "챤" "챤") (merge-rule "ì±¥" "챥") (merge-rule "챦" "챦") (merge-rule "ì±§" "챧") (merge-rule "챨" "챨") (merge-rule "챩" "챩") (merge-rule "챪" "챪") (merge-rule "챫" "챫") (merge-rule "챬" "챬") (merge-rule "ì±­" "챭") (merge-rule "ì±®" "챮") (merge-rule "챯" "챯") (merge-rule "ì±°" "챰") (merge-rule "ì±±" "챱") (merge-rule "ì±²" "챲") (merge-rule "ì±³" "챳") (merge-rule "ì±´" "챴") (merge-rule "ì±µ" "챵") (merge-rule "ì±¶" "챶") (merge-rule "ì±·" "챷") (merge-rule "챸" "챸") (merge-rule "ì±¹" "챹") (merge-rule "챺" "챠á‡") (merge-rule "ì±»" "챻") (merge-rule "ì±¼" "챼~b") (merge-rule "ì±½" "챽") (merge-rule "ì±¾" "챾") (merge-rule "챿" "챿") (merge-rule "ì²€" "첀") (merge-rule "ì²" "첁") (merge-rule "첂" "첂") (merge-rule "첃" "첃") (merge-rule "첄" "첄") (merge-rule "ì²…" "첅") (merge-rule "첆" "첆") (merge-rule "첇" "첇") (merge-rule "첈" "첈") (merge-rule "첉" "첉") (merge-rule "첊" "첊") (merge-rule "첋" "첋") (merge-rule "첌" "첌") (merge-rule "ì²" "첍") (merge-rule "첎" "첎") (merge-rule "ì²" "첏") (merge-rule "ì²" "첐") (merge-rule "첑" "첑") (merge-rule "ì²’" "첒") (merge-rule "첓" "첓") (merge-rule "ì²”" "첔") (merge-rule "첕" "첕") (merge-rule "ì²–" "챼á‡") (merge-rule "ì²—" "첗") (merge-rule "처" "처~b") (merge-rule "ì²™" "척") (merge-rule "첚" "첚") (merge-rule "ì²›" "첛") (merge-rule "천" "천") (merge-rule "ì²" "첝") (merge-rule "첞" "첞") (merge-rule "첟" "첟") (merge-rule "ì² " "철") (merge-rule "첡" "첡") (merge-rule "ì²¢" "첢") (merge-rule "ì²£" "첣") (merge-rule "첤" "첤") (merge-rule "ì²¥" "첥") (merge-rule "첦" "첦") (merge-rule "ì²§" "첧") (merge-rule "첨" "첨") (merge-rule "첩" "첩") (merge-rule "첪" "첪") (merge-rule "첫" "첫") (merge-rule "첬" "첬") (merge-rule "ì²­" "청") (merge-rule "ì²®" "첮") (merge-rule "첯" "첯") (merge-rule "ì²°" "첰") (merge-rule "ì²±" "첱") (merge-rule "ì²²" "처á‡") (merge-rule "ì²³" "첳") (merge-rule "ì²´" "체~b") (merge-rule "ì²µ" "첵") (merge-rule "ì²¶" "첶") (merge-rule "ì²·" "첷") (merge-rule "첸" "첸") (merge-rule "ì²¹" "첹") (merge-rule "첺" "첺") (merge-rule "ì²»" "첻") (merge-rule "ì²¼" "첼") (merge-rule "ì²½" "첽") (merge-rule "ì²¾" "첾") (merge-rule "첿" "첿") (merge-rule "ì³€" "쳀") (merge-rule "ì³" "쳁") (merge-rule "쳂" "쳂") (merge-rule "쳃" "쳃") (merge-rule "쳄" "쳄") (merge-rule "ì³…" "쳅") (merge-rule "쳆" "쳆") (merge-rule "쳇" "쳇") (merge-rule "쳈" "쳈") (merge-rule "쳉" "쳉") (merge-rule "쳊" "쳊") (merge-rule "쳋" "쳋") (merge-rule "쳌" "쳌") (merge-rule "ì³" "쳍") (merge-rule "쳎" "체á‡") (merge-rule "ì³" "쳏") (merge-rule "ì³" "쳐~b") (merge-rule "쳑" "쳑") (merge-rule "ì³’" "쳒") (merge-rule "쳓" "쳓") (merge-rule "ì³”" "쳔") (merge-rule "쳕" "쳕") (merge-rule "ì³–" "쳖") (merge-rule "ì³—" "쳗") (merge-rule "쳘" "쳘") (merge-rule "ì³™" "쳙") (merge-rule "쳚" "쳚") (merge-rule "ì³›" "쳛") (merge-rule "쳜" "쳜") (merge-rule "ì³" "쳝") (merge-rule "쳞" "쳞") (merge-rule "쳟" "쳟") (merge-rule "ì³ " "쳠") (merge-rule "쳡" "쳡") (merge-rule "ì³¢" "쳢") (merge-rule "ì³£" "쳣") (merge-rule "쳤" "쳤") (merge-rule "ì³¥" "쳥") (merge-rule "쳦" "쳦") (merge-rule "ì³§" "쳧") (merge-rule "쳨" "쳨") (merge-rule "쳩" "쳩") (merge-rule "쳪" "쳐á‡") (merge-rule "쳫" "쳫") (merge-rule "쳬" "쳬~b") (merge-rule "ì³­" "쳭") (merge-rule "ì³®" "쳮") (merge-rule "쳯" "쳯") (merge-rule "ì³°" "쳰") (merge-rule "ì³±" "쳱") (merge-rule "ì³²" "쳲") (merge-rule "ì³³" "쳳") (merge-rule "ì³´" "쳴") (merge-rule "ì³µ" "쳵") (merge-rule "ì³¶" "쳶") (merge-rule "ì³·" "쳷") (merge-rule "쳸" "쳸") (merge-rule "ì³¹" "쳹") (merge-rule "쳺" "쳺") (merge-rule "ì³»" "쳻") (merge-rule "ì³¼" "쳼") (merge-rule "ì³½" "쳽") (merge-rule "ì³¾" "쳾") (merge-rule "쳿" "쳿") (merge-rule "ì´€" "촀") (merge-rule "ì´" "촁") (merge-rule "ì´‚" "촂") (merge-rule "ì´ƒ" "촃") (merge-rule "ì´„" "촄") (merge-rule "ì´…" "촅") (merge-rule "ì´†" "쳬á‡") (merge-rule "ì´‡" "촇") (merge-rule "ì´ˆ" "초~b") (merge-rule "ì´‰" "촉") (merge-rule "ì´Š" "촊") (merge-rule "ì´‹" "촋") (merge-rule "ì´Œ" "촌") (merge-rule "ì´" "촍") (merge-rule "ì´Ž" "촎") (merge-rule "ì´" "촏") (merge-rule "ì´" "촐") (merge-rule "ì´‘" "촑") (merge-rule "ì´’" "촒") (merge-rule "ì´“" "촓") (merge-rule "ì´”" "촔") (merge-rule "ì´•" "촕") (merge-rule "ì´–" "촖") (merge-rule "ì´—" "촗") (merge-rule "ì´˜" "촘") (merge-rule "ì´™" "촙") (merge-rule "ì´š" "촚") (merge-rule "ì´›" "촛") (merge-rule "ì´œ" "촜") (merge-rule "ì´" "총") (merge-rule "ì´ž" "촞") (merge-rule "ì´Ÿ" "촟") (merge-rule "ì´ " "촠") (merge-rule "ì´¡" "촡") (merge-rule "ì´¢" "초á‡") (merge-rule "ì´£" "촣") (merge-rule "ì´¤" "촤~b") (merge-rule "ì´¥" "촥") (merge-rule "ì´¦" "촦") (merge-rule "ì´§" "촧") (merge-rule "ì´¨" "촨") (merge-rule "ì´©" "촩") (merge-rule "ì´ª" "촪") (merge-rule "ì´«" "촫") (merge-rule "ì´¬" "촬") (merge-rule "ì´­" "촭") (merge-rule "ì´®" "촮") (merge-rule "ì´¯" "촯") (merge-rule "ì´°" "촰") (merge-rule "ì´±" "촱") (merge-rule "ì´²" "촲") (merge-rule "ì´³" "촳") (merge-rule "ì´´" "촴") (merge-rule "ì´µ" "촵") (merge-rule "ì´¶" "촶") (merge-rule "ì´·" "촷") (merge-rule "ì´¸" "촸") (merge-rule "ì´¹" "촹") (merge-rule "ì´º" "촺") (merge-rule "ì´»" "촻") (merge-rule "ì´¼" "촼") (merge-rule "ì´½" "촽") (merge-rule "ì´¾" "촤á‡") (merge-rule "ì´¿" "촿") (merge-rule "ìµ€" "쵀~b") (merge-rule "ìµ" "쵁") (merge-rule "쵂" "쵂") (merge-rule "쵃" "쵃") (merge-rule "쵄" "쵄") (merge-rule "ìµ…" "쵅") (merge-rule "쵆" "쵆") (merge-rule "쵇" "쵇") (merge-rule "쵈" "쵈") (merge-rule "쵉" "쵉") (merge-rule "쵊" "쵊") (merge-rule "쵋" "쵋") (merge-rule "쵌" "쵌") (merge-rule "ìµ" "쵍") (merge-rule "쵎" "쵎") (merge-rule "ìµ" "쵏") (merge-rule "ìµ" "쵐") (merge-rule "쵑" "쵑") (merge-rule "ìµ’" "쵒") (merge-rule "쵓" "쵓") (merge-rule "ìµ”" "쵔") (merge-rule "쵕" "쵕") (merge-rule "ìµ–" "쵖") (merge-rule "ìµ—" "쵗") (merge-rule "쵘" "쵘") (merge-rule "ìµ™" "쵙") (merge-rule "쵚" "쵀á‡") (merge-rule "ìµ›" "쵛") (merge-rule "최" "최~b") (merge-rule "ìµ" "쵝") (merge-rule "쵞" "쵞") (merge-rule "쵟" "쵟") (merge-rule "ìµ " "쵠") (merge-rule "쵡" "쵡") (merge-rule "ìµ¢" "쵢") (merge-rule "ìµ£" "쵣") (merge-rule "쵤" "쵤") (merge-rule "ìµ¥" "쵥") (merge-rule "쵦" "쵦") (merge-rule "ìµ§" "쵧") (merge-rule "쵨" "쵨") (merge-rule "쵩" "쵩") (merge-rule "쵪" "쵪") (merge-rule "쵫" "쵫") (merge-rule "쵬" "쵬") (merge-rule "ìµ­" "쵭") (merge-rule "ìµ®" "쵮") (merge-rule "쵯" "쵯") (merge-rule "ìµ°" "쵰") (merge-rule "ìµ±" "쵱") (merge-rule "ìµ²" "쵲") (merge-rule "ìµ³" "쵳") (merge-rule "ìµ´" "쵴") (merge-rule "ìµµ" "쵵") (merge-rule "ìµ¶" "최á‡") (merge-rule "ìµ·" "쵷") (merge-rule "쵸" "쵸~b") (merge-rule "ìµ¹" "쵹") (merge-rule "쵺" "쵺") (merge-rule "ìµ»" "쵻") (merge-rule "ìµ¼" "쵼") (merge-rule "ìµ½" "쵽") (merge-rule "ìµ¾" "쵾") (merge-rule "쵿" "쵿") (merge-rule "ì¶€" "춀") (merge-rule "ì¶" "춁") (merge-rule "ì¶‚" "춂") (merge-rule "춃" "춃") (merge-rule "ì¶„" "춄") (merge-rule "ì¶…" "춅") (merge-rule "춆" "춆") (merge-rule "춇" "춇") (merge-rule "춈" "춈") (merge-rule "춉" "춉") (merge-rule "ì¶Š" "춊") (merge-rule "ì¶‹" "춋") (merge-rule "ì¶Œ" "춌") (merge-rule "ì¶" "춍") (merge-rule "ì¶Ž" "춎") (merge-rule "ì¶" "춏") (merge-rule "ì¶" "춐") (merge-rule "ì¶‘" "춑") (merge-rule "ì¶’" "쵸á‡") (merge-rule "ì¶“" "춓") (merge-rule "ì¶”" "추~b") (merge-rule "ì¶•" "축") (merge-rule "ì¶–" "춖") (merge-rule "ì¶—" "춗") (merge-rule "춘" "춘") (merge-rule "ì¶™" "춙") (merge-rule "ì¶š" "춚") (merge-rule "ì¶›" "춛") (merge-rule "ì¶œ" "출") (merge-rule "ì¶" "춝") (merge-rule "ì¶ž" "춞") (merge-rule "ì¶Ÿ" "춟") (merge-rule "ì¶ " "춠") (merge-rule "ì¶¡" "춡") (merge-rule "ì¶¢" "춢") (merge-rule "ì¶£" "춣") (merge-rule "춤" "춤") (merge-rule "ì¶¥" "춥") (merge-rule "춦" "춦") (merge-rule "ì¶§" "춧") (merge-rule "춨" "춨") (merge-rule "ì¶©" "충") (merge-rule "춪" "춪") (merge-rule "ì¶«" "춫") (merge-rule "춬" "춬") (merge-rule "ì¶­" "춭") (merge-rule "ì¶®" "추á‡") (merge-rule "춯" "춯") (merge-rule "ì¶°" "춰~b") (merge-rule "ì¶±" "춱") (merge-rule "ì¶²" "춲") (merge-rule "ì¶³" "춳") (merge-rule "ì¶´" "춴") (merge-rule "ì¶µ" "춵") (merge-rule "ì¶¶" "춶") (merge-rule "ì¶·" "춷") (merge-rule "춸" "춸") (merge-rule "ì¶¹" "춹") (merge-rule "춺" "춺") (merge-rule "ì¶»" "춻") (merge-rule "ì¶¼" "춼") (merge-rule "ì¶½" "춽") (merge-rule "ì¶¾" "춾") (merge-rule "ì¶¿" "춿") (merge-rule "ì·€" "췀") (merge-rule "ì·" "췁") (merge-rule "ì·‚" "췂") (merge-rule "ì·ƒ" "췃") (merge-rule "ì·„" "췄") (merge-rule "ì·…" "췅") (merge-rule "ì·†" "췆") (merge-rule "ì·‡" "췇") (merge-rule "ì·ˆ" "췈") (merge-rule "ì·‰" "췉") (merge-rule "ì·Š" "춰á‡") (merge-rule "ì·‹" "췋") (merge-rule "ì·Œ" "췌~b") (merge-rule "ì·" "췍") (merge-rule "ì·Ž" "췎") (merge-rule "ì·" "췏") (merge-rule "ì·" "췐") (merge-rule "ì·‘" "췑") (merge-rule "ì·’" "췒") (merge-rule "ì·“" "췓") (merge-rule "ì·”" "췔") (merge-rule "ì·•" "췕") (merge-rule "ì·–" "췖") (merge-rule "ì·—" "췗") (merge-rule "ì·˜" "췘") (merge-rule "ì·™" "췙") (merge-rule "ì·š" "췚") (merge-rule "ì·›" "췛") (merge-rule "ì·œ" "췜") (merge-rule "ì·" "췝") (merge-rule "ì·ž" "췞") (merge-rule "ì·Ÿ" "췟") (merge-rule "ì· " "췠") (merge-rule "ì·¡" "췡") (merge-rule "ì·¢" "췢") (merge-rule "ì·£" "췣") (merge-rule "ì·¤" "췤") (merge-rule "ì·¥" "췥") (merge-rule "ì·¦" "췌á‡") (merge-rule "ì·§" "췧") (merge-rule "ì·¨" "취~b") (merge-rule "ì·©" "췩") (merge-rule "ì·ª" "췪") (merge-rule "ì·«" "췫") (merge-rule "ì·¬" "췬") (merge-rule "ì·­" "췭") (merge-rule "ì·®" "췮") (merge-rule "ì·¯" "췯") (merge-rule "ì·°" "췰") (merge-rule "ì·±" "췱") (merge-rule "ì·²" "췲") (merge-rule "ì·³" "췳") (merge-rule "ì·´" "췴") (merge-rule "ì·µ" "췵") (merge-rule "ì·¶" "췶") (merge-rule "ì··" "췷") (merge-rule "ì·¸" "췸") (merge-rule "ì·¹" "췹") (merge-rule "ì·º" "췺") (merge-rule "ì·»" "췻") (merge-rule "ì·¼" "췼") (merge-rule "ì·½" "췽") (merge-rule "ì·¾" "췾") (merge-rule "ì·¿" "췿") (merge-rule "츀" "츀") (merge-rule "ì¸" "츁") (merge-rule "츂" "취á‡") (merge-rule "츃" "츃") (merge-rule "츄" "츄~b") (merge-rule "츅" "츅") (merge-rule "츆" "츆") (merge-rule "츇" "츇") (merge-rule "츈" "츈") (merge-rule "츉" "츉") (merge-rule "츊" "츊") (merge-rule "츋" "츋") (merge-rule "츌" "츌") (merge-rule "ì¸" "츍") (merge-rule "츎" "츎") (merge-rule "ì¸" "츏") (merge-rule "ì¸" "츐") (merge-rule "츑" "츑") (merge-rule "츒" "츒") (merge-rule "츓" "츓") (merge-rule "츔" "츔") (merge-rule "츕" "츕") (merge-rule "츖" "츖") (merge-rule "츗" "츗") (merge-rule "츘" "츘") (merge-rule "츙" "츙") (merge-rule "츚" "츚") (merge-rule "츛" "츛") (merge-rule "츜" "츜") (merge-rule "ì¸" "츝") (merge-rule "츞" "츄á‡") (merge-rule "츟" "츟") (merge-rule "츠" "츠~b") (merge-rule "측" "측") (merge-rule "츢" "츢") (merge-rule "츣" "츣") (merge-rule "츤" "츤") (merge-rule "츥" "츥") (merge-rule "츦" "츦") (merge-rule "츧" "츧") (merge-rule "츨" "츨") (merge-rule "츩" "츩") (merge-rule "츪" "츪") (merge-rule "츫" "츫") (merge-rule "츬" "츬") (merge-rule "츭" "츭") (merge-rule "츮" "츮") (merge-rule "츯" "츯") (merge-rule "츰" "츰") (merge-rule "츱" "츱") (merge-rule "츲" "츲") (merge-rule "츳" "츳") (merge-rule "츴" "츴") (merge-rule "층" "층") (merge-rule "츶" "츶") (merge-rule "츷" "츷") (merge-rule "츸" "츸") (merge-rule "츹" "츹") (merge-rule "츺" "츠á‡") (merge-rule "츻" "츻") (merge-rule "츼" "츼~b") (merge-rule "츽" "츽") (merge-rule "츾" "츾") (merge-rule "츿" "츿") (merge-rule "ì¹€" "칀") (merge-rule "ì¹" "칁") (merge-rule "칂" "칂") (merge-rule "칃" "칃") (merge-rule "칄" "칄") (merge-rule "ì¹…" "칅") (merge-rule "칆" "칆") (merge-rule "칇" "칇") (merge-rule "칈" "칈") (merge-rule "칉" "칉") (merge-rule "칊" "칊") (merge-rule "칋" "칋") (merge-rule "칌" "칌") (merge-rule "ì¹" "칍") (merge-rule "칎" "칎") (merge-rule "ì¹" "칏") (merge-rule "ì¹" "칐") (merge-rule "칑" "칑") (merge-rule "ì¹’" "칒") (merge-rule "칓" "칓") (merge-rule "ì¹”" "칔") (merge-rule "칕" "칕") (merge-rule "ì¹–" "츼á‡") (merge-rule "ì¹—" "칗") (merge-rule "치" "치~b") (merge-rule "ì¹™" "칙") (merge-rule "칚" "칚") (merge-rule "ì¹›" "칛") (merge-rule "친" "친") (merge-rule "ì¹" "칝") (merge-rule "칞" "칞") (merge-rule "칟" "칟") (merge-rule "ì¹ " "칠") (merge-rule "칡" "칡") (merge-rule "ì¹¢" "칢") (merge-rule "ì¹£" "칣") (merge-rule "칤" "칤") (merge-rule "ì¹¥" "칥") (merge-rule "칦" "칦") (merge-rule "ì¹§" "칧") (merge-rule "침" "침") (merge-rule "칩" "칩") (merge-rule "칪" "칪") (merge-rule "칫" "칫") (merge-rule "칬" "칬") (merge-rule "ì¹­" "칭") (merge-rule "ì¹®" "칮") (merge-rule "칯" "칯") (merge-rule "ì¹°" "칰") (merge-rule "ì¹±" "칱") (merge-rule "ì¹²" "치á‡") (merge-rule "ì¹³" "칳") (merge-rule "ì¹´" "á„á…¡~b") (merge-rule "ì¹µ" "á„ᅡᆨ") (merge-rule "ì¹¶" "á„ᅡᆩ") (merge-rule "ì¹·" "á„ᅡᆪ") (merge-rule "칸" "á„ᅡᆫ") (merge-rule "ì¹¹" "á„ᅡᆬ") (merge-rule "칺" "á„ᅡᆭ") (merge-rule "ì¹»" "á„ᅡᆮ") (merge-rule "ì¹¼" "á„ᅡᆯ") (merge-rule "ì¹½" "á„ᅡᆰ") (merge-rule "ì¹¾" "á„ᅡᆱ") (merge-rule "칿" "á„ᅡᆲ") (merge-rule "캀" "á„ᅡᆳ") (merge-rule "ìº" "á„ᅡᆴ") (merge-rule "캂" "á„ᅡᆵ") (merge-rule "캃" "á„ᅡᆶ") (merge-rule "캄" "á„ᅡᆷ") (merge-rule "캅" "á„ᅡᆸ") (merge-rule "캆" "á„ᅡᆹ") (merge-rule "캇" "á„ᅡᆺ") (merge-rule "캈" "á„ᅡᆻ") (merge-rule "캉" "á„ᅡᆼ") (merge-rule "캊" "á„ᅡᆽ") (merge-rule "캋" "á„ᅡᆾ") (merge-rule "캌" "á„ᅡᆿ") (merge-rule "ìº" "á„ᅡᇀ") (merge-rule "캎" "á„á…¡á‡") (merge-rule "ìº" "á„ᅡᇂ") (merge-rule "ìº" "á„á…¢~b") (merge-rule "캑" "á„ᅢᆨ") (merge-rule "캒" "á„ᅢᆩ") (merge-rule "캓" "á„ᅢᆪ") (merge-rule "캔" "á„ᅢᆫ") (merge-rule "캕" "á„ᅢᆬ") (merge-rule "캖" "á„ᅢᆭ") (merge-rule "캗" "á„ᅢᆮ") (merge-rule "캘" "á„ᅢᆯ") (merge-rule "캙" "á„ᅢᆰ") (merge-rule "캚" "á„ᅢᆱ") (merge-rule "캛" "á„ᅢᆲ") (merge-rule "캜" "á„ᅢᆳ") (merge-rule "ìº" "á„ᅢᆴ") (merge-rule "캞" "á„ᅢᆵ") (merge-rule "캟" "á„ᅢᆶ") (merge-rule "캠" "á„ᅢᆷ") (merge-rule "캡" "á„ᅢᆸ") (merge-rule "캢" "á„ᅢᆹ") (merge-rule "캣" "á„ᅢᆺ") (merge-rule "캤" "á„ᅢᆻ") (merge-rule "캥" "á„ᅢᆼ") (merge-rule "캦" "á„ᅢᆽ") (merge-rule "캧" "á„ᅢᆾ") (merge-rule "캨" "á„ᅢᆿ") (merge-rule "캩" "á„ᅢᇀ") (merge-rule "캪" "á„á…¢á‡") (merge-rule "캫" "á„ᅢᇂ") (merge-rule "캬" "á„á…£~b") (merge-rule "캭" "á„ᅣᆨ") (merge-rule "캮" "á„ᅣᆩ") (merge-rule "캯" "á„ᅣᆪ") (merge-rule "캰" "á„ᅣᆫ") (merge-rule "캱" "á„ᅣᆬ") (merge-rule "캲" "á„ᅣᆭ") (merge-rule "캳" "á„ᅣᆮ") (merge-rule "캴" "á„ᅣᆯ") (merge-rule "캵" "á„ᅣᆰ") (merge-rule "캶" "á„ᅣᆱ") (merge-rule "캷" "á„ᅣᆲ") (merge-rule "캸" "á„ᅣᆳ") (merge-rule "캹" "á„ᅣᆴ") (merge-rule "캺" "á„ᅣᆵ") (merge-rule "캻" "á„ᅣᆶ") (merge-rule "캼" "á„ᅣᆷ") (merge-rule "캽" "á„ᅣᆸ") (merge-rule "캾" "á„ᅣᆹ") (merge-rule "캿" "á„ᅣᆺ") (merge-rule "컀" "á„ᅣᆻ") (merge-rule "ì»" "á„ᅣᆼ") (merge-rule "컂" "á„ᅣᆽ") (merge-rule "컃" "á„ᅣᆾ") (merge-rule "컄" "á„ᅣᆿ") (merge-rule "ì»…" "á„ᅣᇀ") (merge-rule "컆" "á„á…£á‡") (merge-rule "컇" "á„ᅣᇂ") (merge-rule "컈" "á„á…¤~b") (merge-rule "컉" "á„ᅤᆨ") (merge-rule "컊" "á„ᅤᆩ") (merge-rule "컋" "á„ᅤᆪ") (merge-rule "컌" "á„ᅤᆫ") (merge-rule "ì»" "á„ᅤᆬ") (merge-rule "컎" "á„ᅤᆭ") (merge-rule "ì»" "á„ᅤᆮ") (merge-rule "ì»" "á„ᅤᆯ") (merge-rule "컑" "á„ᅤᆰ") (merge-rule "ì»’" "á„ᅤᆱ") (merge-rule "컓" "á„ᅤᆲ") (merge-rule "ì»”" "á„ᅤᆳ") (merge-rule "컕" "á„ᅤᆴ") (merge-rule "ì»–" "á„ᅤᆵ") (merge-rule "ì»—" "á„ᅤᆶ") (merge-rule "컘" "á„ᅤᆷ") (merge-rule "ì»™" "á„ᅤᆸ") (merge-rule "컚" "á„ᅤᆹ") (merge-rule "ì»›" "á„ᅤᆺ") (merge-rule "컜" "á„ᅤᆻ") (merge-rule "ì»" "á„ᅤᆼ") (merge-rule "컞" "á„ᅤᆽ") (merge-rule "컟" "á„ᅤᆾ") (merge-rule "ì» " "á„ᅤᆿ") (merge-rule "컡" "á„ᅤᇀ") (merge-rule "컢" "á„á…¤á‡") (merge-rule "컣" "á„ᅤᇂ") (merge-rule "커" "á„á…¥~b") (merge-rule "컥" "á„ᅥᆨ") (merge-rule "컦" "á„ᅥᆩ") (merge-rule "ì»§" "á„ᅥᆪ") (merge-rule "컨" "á„ᅥᆫ") (merge-rule "컩" "á„ᅥᆬ") (merge-rule "컪" "á„ᅥᆭ") (merge-rule "컫" "á„ᅥᆮ") (merge-rule "컬" "á„ᅥᆯ") (merge-rule "ì»­" "á„ᅥᆰ") (merge-rule "ì»®" "á„ᅥᆱ") (merge-rule "컯" "á„ᅥᆲ") (merge-rule "ì»°" "á„ᅥᆳ") (merge-rule "ì»±" "á„ᅥᆴ") (merge-rule "컲" "á„ᅥᆵ") (merge-rule "컳" "á„ᅥᆶ") (merge-rule "ì»´" "á„ᅥᆷ") (merge-rule "컵" "á„ᅥᆸ") (merge-rule "ì»¶" "á„ᅥᆹ") (merge-rule "ì»·" "á„ᅥᆺ") (merge-rule "컸" "á„ᅥᆻ") (merge-rule "컹" "á„ᅥᆼ") (merge-rule "컺" "á„ᅥᆽ") (merge-rule "ì»»" "á„ᅥᆾ") (merge-rule "컼" "á„ᅥᆿ") (merge-rule "컽" "á„ᅥᇀ") (merge-rule "컾" "á„á…¥á‡") (merge-rule "컿" "á„ᅥᇂ") (merge-rule "ì¼€" "á„á…¦~b") (merge-rule "ì¼" "á„ᅦᆨ") (merge-rule "켂" "á„ᅦᆩ") (merge-rule "켃" "á„ᅦᆪ") (merge-rule "켄" "á„ᅦᆫ") (merge-rule "ì¼…" "á„ᅦᆬ") (merge-rule "켆" "á„ᅦᆭ") (merge-rule "켇" "á„ᅦᆮ") (merge-rule "켈" "á„ᅦᆯ") (merge-rule "켉" "á„ᅦᆰ") (merge-rule "켊" "á„ᅦᆱ") (merge-rule "켋" "á„ᅦᆲ") (merge-rule "켌" "á„ᅦᆳ") (merge-rule "ì¼" "á„ᅦᆴ") (merge-rule "켎" "á„ᅦᆵ") (merge-rule "ì¼" "á„ᅦᆶ") (merge-rule "ì¼" "á„ᅦᆷ") (merge-rule "켑" "á„ᅦᆸ") (merge-rule "ì¼’" "á„ᅦᆹ") (merge-rule "켓" "á„ᅦᆺ") (merge-rule "ì¼”" "á„ᅦᆻ") (merge-rule "켕" "á„ᅦᆼ") (merge-rule "ì¼–" "á„ᅦᆽ") (merge-rule "ì¼—" "á„ᅦᆾ") (merge-rule "켘" "á„ᅦᆿ") (merge-rule "ì¼™" "á„ᅦᇀ") (merge-rule "켚" "á„á…¦á‡") (merge-rule "ì¼›" "á„ᅦᇂ") (merge-rule "켜" "á„á…§~b") (merge-rule "ì¼" "á„ᅧᆨ") (merge-rule "켞" "á„ᅧᆩ") (merge-rule "켟" "á„ᅧᆪ") (merge-rule "ì¼ " "á„ᅧᆫ") (merge-rule "켡" "á„ᅧᆬ") (merge-rule "ì¼¢" "á„ᅧᆭ") (merge-rule "ì¼£" "á„ᅧᆮ") (merge-rule "켤" "á„ᅧᆯ") (merge-rule "ì¼¥" "á„ᅧᆰ") (merge-rule "켦" "á„ᅧᆱ") (merge-rule "ì¼§" "á„ᅧᆲ") (merge-rule "켨" "á„ᅧᆳ") (merge-rule "켩" "á„ᅧᆴ") (merge-rule "켪" "á„ᅧᆵ") (merge-rule "켫" "á„ᅧᆶ") (merge-rule "켬" "á„ᅧᆷ") (merge-rule "ì¼­" "á„ᅧᆸ") (merge-rule "ì¼®" "á„ᅧᆹ") (merge-rule "켯" "á„ᅧᆺ") (merge-rule "ì¼°" "á„ᅧᆻ") (merge-rule "ì¼±" "á„ᅧᆼ") (merge-rule "ì¼²" "á„ᅧᆽ") (merge-rule "ì¼³" "á„ᅧᆾ") (merge-rule "ì¼´" "á„ᅧᆿ") (merge-rule "ì¼µ" "á„ᅧᇀ") (merge-rule "ì¼¶" "á„á…§á‡") (merge-rule "ì¼·" "á„ᅧᇂ") (merge-rule "켸" "á„á…¨~b") (merge-rule "ì¼¹" "á„ᅨᆨ") (merge-rule "켺" "á„ᅨᆩ") (merge-rule "ì¼»" "á„ᅨᆪ") (merge-rule "ì¼¼" "á„ᅨᆫ") (merge-rule "ì¼½" "á„ᅨᆬ") (merge-rule "ì¼¾" "á„ᅨᆭ") (merge-rule "켿" "á„ᅨᆮ") (merge-rule "ì½€" "á„ᅨᆯ") (merge-rule "ì½" "á„ᅨᆰ") (merge-rule "콂" "á„ᅨᆱ") (merge-rule "콃" "á„ᅨᆲ") (merge-rule "콄" "á„ᅨᆳ") (merge-rule "ì½…" "á„ᅨᆴ") (merge-rule "콆" "á„ᅨᆵ") (merge-rule "콇" "á„ᅨᆶ") (merge-rule "콈" "á„ᅨᆷ") (merge-rule "콉" "á„ᅨᆸ") (merge-rule "콊" "á„ᅨᆹ") (merge-rule "콋" "á„ᅨᆺ") (merge-rule "콌" "á„ᅨᆻ") (merge-rule "ì½" "á„ᅨᆼ") (merge-rule "콎" "á„ᅨᆽ") (merge-rule "ì½" "á„ᅨᆾ") (merge-rule "ì½" "á„ᅨᆿ") (merge-rule "콑" "á„ᅨᇀ") (merge-rule "ì½’" "á„á…¨á‡") (merge-rule "콓" "á„ᅨᇂ") (merge-rule "ì½”" "á„á…©~b") (merge-rule "콕" "á„ᅩᆨ") (merge-rule "ì½–" "á„ᅩᆩ") (merge-rule "ì½—" "á„ᅩᆪ") (merge-rule "콘" "á„ᅩᆫ") (merge-rule "ì½™" "á„ᅩᆬ") (merge-rule "콚" "á„ᅩᆭ") (merge-rule "ì½›" "á„ᅩᆮ") (merge-rule "콜" "á„ᅩᆯ") (merge-rule "ì½" "á„ᅩᆰ") (merge-rule "콞" "á„ᅩᆱ") (merge-rule "콟" "á„ᅩᆲ") (merge-rule "ì½ " "á„ᅩᆳ") (merge-rule "콡" "á„ᅩᆴ") (merge-rule "ì½¢" "á„ᅩᆵ") (merge-rule "ì½£" "á„ᅩᆶ") (merge-rule "콤" "á„ᅩᆷ") (merge-rule "ì½¥" "á„ᅩᆸ") (merge-rule "콦" "á„ᅩᆹ") (merge-rule "ì½§" "á„ᅩᆺ") (merge-rule "콨" "á„ᅩᆻ") (merge-rule "콩" "á„ᅩᆼ") (merge-rule "콪" "á„ᅩᆽ") (merge-rule "콫" "á„ᅩᆾ") (merge-rule "콬" "á„ᅩᆿ") (merge-rule "ì½­" "á„ᅩᇀ") (merge-rule "ì½®" "á„á…©á‡") (merge-rule "콯" "á„ᅩᇂ") (merge-rule "ì½°" "á„á…ª~b") (merge-rule "ì½±" "á„ᅪᆨ") (merge-rule "ì½²" "á„ᅪᆩ") (merge-rule "ì½³" "á„ᅪᆪ") (merge-rule "ì½´" "á„ᅪᆫ") (merge-rule "ì½µ" "á„ᅪᆬ") (merge-rule "ì½¶" "á„ᅪᆭ") (merge-rule "ì½·" "á„ᅪᆮ") (merge-rule "콸" "á„ᅪᆯ") (merge-rule "ì½¹" "á„ᅪᆰ") (merge-rule "콺" "á„ᅪᆱ") (merge-rule "ì½»" "á„ᅪᆲ") (merge-rule "ì½¼" "á„ᅪᆳ") (merge-rule "ì½½" "á„ᅪᆴ") (merge-rule "ì½¾" "á„ᅪᆵ") (merge-rule "콿" "á„ᅪᆶ") (merge-rule "ì¾€" "á„ᅪᆷ") (merge-rule "ì¾" "á„ᅪᆸ") (merge-rule "쾂" "á„ᅪᆹ") (merge-rule "쾃" "á„ᅪᆺ") (merge-rule "쾄" "á„ᅪᆻ") (merge-rule "ì¾…" "á„ᅪᆼ") (merge-rule "쾆" "á„ᅪᆽ") (merge-rule "쾇" "á„ᅪᆾ") (merge-rule "쾈" "á„ᅪᆿ") (merge-rule "쾉" "á„ᅪᇀ") (merge-rule "쾊" "á„á…ªá‡") (merge-rule "쾋" "á„ᅪᇂ") (merge-rule "쾌" "á„á…«~b") (merge-rule "ì¾" "á„ᅫᆨ") (merge-rule "쾎" "á„ᅫᆩ") (merge-rule "ì¾" "á„ᅫᆪ") (merge-rule "ì¾" "á„ᅫᆫ") (merge-rule "쾑" "á„ᅫᆬ") (merge-rule "ì¾’" "á„ᅫᆭ") (merge-rule "쾓" "á„ᅫᆮ") (merge-rule "ì¾”" "á„ᅫᆯ") (merge-rule "쾕" "á„ᅫᆰ") (merge-rule "ì¾–" "á„ᅫᆱ") (merge-rule "ì¾—" "á„ᅫᆲ") (merge-rule "쾘" "á„ᅫᆳ") (merge-rule "ì¾™" "á„ᅫᆴ") (merge-rule "쾚" "á„ᅫᆵ") (merge-rule "ì¾›" "á„ᅫᆶ") (merge-rule "쾜" "á„ᅫᆷ") (merge-rule "ì¾" "á„ᅫᆸ") (merge-rule "쾞" "á„ᅫᆹ") (merge-rule "쾟" "á„ᅫᆺ") (merge-rule "ì¾ " "á„ᅫᆻ") (merge-rule "쾡" "á„ᅫᆼ") (merge-rule "ì¾¢" "á„ᅫᆽ") (merge-rule "ì¾£" "á„ᅫᆾ") (merge-rule "쾤" "á„ᅫᆿ") (merge-rule "ì¾¥" "á„ᅫᇀ") (merge-rule "쾦" "á„á…«á‡") (merge-rule "ì¾§" "á„ᅫᇂ") (merge-rule "쾨" "á„á…¬~b") (merge-rule "쾩" "á„ᅬᆨ") (merge-rule "쾪" "á„ᅬᆩ") (merge-rule "쾫" "á„ᅬᆪ") (merge-rule "쾬" "á„ᅬᆫ") (merge-rule "ì¾­" "á„ᅬᆬ") (merge-rule "ì¾®" "á„ᅬᆭ") (merge-rule "쾯" "á„ᅬᆮ") (merge-rule "ì¾°" "á„ᅬᆯ") (merge-rule "ì¾±" "á„ᅬᆰ") (merge-rule "ì¾²" "á„ᅬᆱ") (merge-rule "ì¾³" "á„ᅬᆲ") (merge-rule "ì¾´" "á„ᅬᆳ") (merge-rule "ì¾µ" "á„ᅬᆴ") (merge-rule "ì¾¶" "á„ᅬᆵ") (merge-rule "ì¾·" "á„ᅬᆶ") (merge-rule "쾸" "á„ᅬᆷ") (merge-rule "ì¾¹" "á„ᅬᆸ") (merge-rule "쾺" "á„ᅬᆹ") (merge-rule "ì¾»" "á„ᅬᆺ") (merge-rule "ì¾¼" "á„ᅬᆻ") (merge-rule "ì¾½" "á„ᅬᆼ") (merge-rule "ì¾¾" "á„ᅬᆽ") (merge-rule "쾿" "á„ᅬᆾ") (merge-rule "ì¿€" "á„ᅬᆿ") (merge-rule "ì¿" "á„ᅬᇀ") (merge-rule "ì¿‚" "á„á…¬á‡") (merge-rule "쿃" "á„ᅬᇂ") (merge-rule "ì¿„" "á„á…­~b") (merge-rule "ì¿…" "á„ᅭᆨ") (merge-rule "쿆" "á„ᅭᆩ") (merge-rule "쿇" "á„ᅭᆪ") (merge-rule "쿈" "á„ᅭᆫ") (merge-rule "쿉" "á„ᅭᆬ") (merge-rule "쿊" "á„ᅭᆭ") (merge-rule "ì¿‹" "á„ᅭᆮ") (merge-rule "쿌" "á„ᅭᆯ") (merge-rule "ì¿" "á„ᅭᆰ") (merge-rule "쿎" "á„ᅭᆱ") (merge-rule "ì¿" "á„ᅭᆲ") (merge-rule "ì¿" "á„ᅭᆳ") (merge-rule "ì¿‘" "á„ᅭᆴ") (merge-rule "ì¿’" "á„ᅭᆵ") (merge-rule "ì¿“" "á„ᅭᆶ") (merge-rule "ì¿”" "á„ᅭᆷ") (merge-rule "ì¿•" "á„ᅭᆸ") (merge-rule "ì¿–" "á„ᅭᆹ") (merge-rule "ì¿—" "á„ᅭᆺ") (merge-rule "쿘" "á„ᅭᆻ") (merge-rule "ì¿™" "á„ᅭᆼ") (merge-rule "쿚" "á„ᅭᆽ") (merge-rule "ì¿›" "á„ᅭᆾ") (merge-rule "쿜" "á„ᅭᆿ") (merge-rule "ì¿" "á„ᅭᇀ") (merge-rule "쿞" "á„á…­á‡") (merge-rule "쿟" "á„ᅭᇂ") (merge-rule "ì¿ " "á„á…®~b") (merge-rule "ì¿¡" "á„ᅮᆨ") (merge-rule "ì¿¢" "á„ᅮᆩ") (merge-rule "ì¿£" "á„ᅮᆪ") (merge-rule "쿤" "á„ᅮᆫ") (merge-rule "ì¿¥" "á„ᅮᆬ") (merge-rule "쿦" "á„ᅮᆭ") (merge-rule "ì¿§" "á„ᅮᆮ") (merge-rule "쿨" "á„ᅮᆯ") (merge-rule "ì¿©" "á„ᅮᆰ") (merge-rule "쿪" "á„ᅮᆱ") (merge-rule "ì¿«" "á„ᅮᆲ") (merge-rule "쿬" "á„ᅮᆳ") (merge-rule "ì¿­" "á„ᅮᆴ") (merge-rule "ì¿®" "á„ᅮᆵ") (merge-rule "쿯" "á„ᅮᆶ") (merge-rule "ì¿°" "á„ᅮᆷ") (merge-rule "쿱" "á„ᅮᆸ") (merge-rule "쿲" "á„ᅮᆹ") (merge-rule "쿳" "á„ᅮᆺ") (merge-rule "ì¿´" "á„ᅮᆻ") (merge-rule "쿵" "á„ᅮᆼ") (merge-rule "ì¿¶" "á„ᅮᆽ") (merge-rule "ì¿·" "á„ᅮᆾ") (merge-rule "쿸" "á„ᅮᆿ") (merge-rule "쿹" "á„ᅮᇀ") (merge-rule "쿺" "á„á…®á‡") (merge-rule "ì¿»" "á„ᅮᇂ") (merge-rule "쿼" "á„á…¯~b") (merge-rule "쿽" "á„ᅯᆨ") (merge-rule "쿾" "á„ᅯᆩ") (merge-rule "ì¿¿" "á„ᅯᆪ") (merge-rule "퀀" "á„ᅯᆫ") (merge-rule "í€" "á„ᅯᆬ") (merge-rule "퀂" "á„ᅯᆭ") (merge-rule "퀃" "á„ᅯᆮ") (merge-rule "퀄" "á„ᅯᆯ") (merge-rule "퀅" "á„ᅯᆰ") (merge-rule "퀆" "á„ᅯᆱ") (merge-rule "퀇" "á„ᅯᆲ") (merge-rule "퀈" "á„ᅯᆳ") (merge-rule "퀉" "á„ᅯᆴ") (merge-rule "퀊" "á„ᅯᆵ") (merge-rule "퀋" "á„ᅯᆶ") (merge-rule "퀌" "á„ᅯᆷ") (merge-rule "í€" "á„ᅯᆸ") (merge-rule "퀎" "á„ᅯᆹ") (merge-rule "í€" "á„ᅯᆺ") (merge-rule "í€" "á„ᅯᆻ") (merge-rule "퀑" "á„ᅯᆼ") (merge-rule "퀒" "á„ᅯᆽ") (merge-rule "퀓" "á„ᅯᆾ") (merge-rule "퀔" "á„ᅯᆿ") (merge-rule "퀕" "á„ᅯᇀ") (merge-rule "퀖" "á„á…¯á‡") (merge-rule "퀗" "á„ᅯᇂ") (merge-rule "퀘" "á„á…°~b") (merge-rule "퀙" "á„ᅰᆨ") (merge-rule "퀚" "á„ᅰᆩ") (merge-rule "퀛" "á„ᅰᆪ") (merge-rule "퀜" "á„ᅰᆫ") (merge-rule "í€" "á„ᅰᆬ") (merge-rule "퀞" "á„ᅰᆭ") (merge-rule "퀟" "á„ᅰᆮ") (merge-rule "퀠" "á„ᅰᆯ") (merge-rule "퀡" "á„ᅰᆰ") (merge-rule "퀢" "á„ᅰᆱ") (merge-rule "퀣" "á„ᅰᆲ") (merge-rule "퀤" "á„ᅰᆳ") (merge-rule "퀥" "á„ᅰᆴ") (merge-rule "퀦" "á„ᅰᆵ") (merge-rule "퀧" "á„ᅰᆶ") (merge-rule "퀨" "á„ᅰᆷ") (merge-rule "퀩" "á„ᅰᆸ") (merge-rule "퀪" "á„ᅰᆹ") (merge-rule "퀫" "á„ᅰᆺ") (merge-rule "퀬" "á„ᅰᆻ") (merge-rule "퀭" "á„ᅰᆼ") (merge-rule "퀮" "á„ᅰᆽ") (merge-rule "퀯" "á„ᅰᆾ") (merge-rule "퀰" "á„ᅰᆿ") (merge-rule "퀱" "á„ᅰᇀ") (merge-rule "퀲" "á„á…°á‡") (merge-rule "퀳" "á„ᅰᇂ") (merge-rule "퀴" "á„á…±~b") (merge-rule "퀵" "á„ᅱᆨ") (merge-rule "퀶" "á„ᅱᆩ") (merge-rule "퀷" "á„ᅱᆪ") (merge-rule "퀸" "á„ᅱᆫ") (merge-rule "퀹" "á„ᅱᆬ") (merge-rule "퀺" "á„ᅱᆭ") (merge-rule "퀻" "á„ᅱᆮ") (merge-rule "퀼" "á„ᅱᆯ") (merge-rule "퀽" "á„ᅱᆰ") (merge-rule "퀾" "á„ᅱᆱ") (merge-rule "퀿" "á„ᅱᆲ") (merge-rule "í€" "á„ᅱᆳ") (merge-rule "í" "á„ᅱᆴ") (merge-rule "í‚" "á„ᅱᆵ") (merge-rule "íƒ" "á„ᅱᆶ") (merge-rule "í„" "á„ᅱᆷ") (merge-rule "í…" "á„ᅱᆸ") (merge-rule "í†" "á„ᅱᆹ") (merge-rule "í‡" "á„ᅱᆺ") (merge-rule "íˆ" "á„ᅱᆻ") (merge-rule "í‰" "á„ᅱᆼ") (merge-rule "íŠ" "á„ᅱᆽ") (merge-rule "í‹" "á„ᅱᆾ") (merge-rule "íŒ" "á„ᅱᆿ") (merge-rule "í" "á„ᅱᇀ") (merge-rule "íŽ" "á„á…±á‡") (merge-rule "í" "á„ᅱᇂ") (merge-rule "í" "á„á…²~b") (merge-rule "í‘" "á„ᅲᆨ") (merge-rule "í’" "á„ᅲᆩ") (merge-rule "í“" "á„ᅲᆪ") (merge-rule "í”" "á„ᅲᆫ") (merge-rule "í•" "á„ᅲᆬ") (merge-rule "í–" "á„ᅲᆭ") (merge-rule "í—" "á„ᅲᆮ") (merge-rule "í˜" "á„ᅲᆯ") (merge-rule "í™" "á„ᅲᆰ") (merge-rule "íš" "á„ᅲᆱ") (merge-rule "í›" "á„ᅲᆲ") (merge-rule "íœ" "á„ᅲᆳ") (merge-rule "í" "á„ᅲᆴ") (merge-rule "íž" "á„ᅲᆵ") (merge-rule "íŸ" "á„ᅲᆶ") (merge-rule "í " "á„ᅲᆷ") (merge-rule "í¡" "á„ᅲᆸ") (merge-rule "í¢" "á„ᅲᆹ") (merge-rule "í£" "á„ᅲᆺ") (merge-rule "í¤" "á„ᅲᆻ") (merge-rule "í¥" "á„ᅲᆼ") (merge-rule "í¦" "á„ᅲᆽ") (merge-rule "í§" "á„ᅲᆾ") (merge-rule "í¨" "á„ᅲᆿ") (merge-rule "í©" "á„ᅲᇀ") (merge-rule "íª" "á„á…²á‡") (merge-rule "í«" "á„ᅲᇂ") (merge-rule "í¬" "á„á…³~b") (merge-rule "í­" "á„ᅳᆨ") (merge-rule "í®" "á„ᅳᆩ") (merge-rule "í¯" "á„ᅳᆪ") (merge-rule "í°" "á„ᅳᆫ") (merge-rule "í±" "á„ᅳᆬ") (merge-rule "í²" "á„ᅳᆭ") (merge-rule "í³" "á„ᅳᆮ") (merge-rule "í´" "á„ᅳᆯ") (merge-rule "íµ" "á„ᅳᆰ") (merge-rule "í¶" "á„ᅳᆱ") (merge-rule "í·" "á„ᅳᆲ") (merge-rule "í¸" "á„ᅳᆳ") (merge-rule "í¹" "á„ᅳᆴ") (merge-rule "íº" "á„ᅳᆵ") (merge-rule "í»" "á„ᅳᆶ") (merge-rule "í¼" "á„ᅳᆷ") (merge-rule "í½" "á„ᅳᆸ") (merge-rule "í¾" "á„ᅳᆹ") (merge-rule "í¿" "á„ᅳᆺ") (merge-rule "í‚€" "á„ᅳᆻ") (merge-rule "í‚" "á„ᅳᆼ") (merge-rule "í‚‚" "á„ᅳᆽ") (merge-rule "킃" "á„ᅳᆾ") (merge-rule "í‚„" "á„ᅳᆿ") (merge-rule "í‚…" "á„ᅳᇀ") (merge-rule "킆" "á„á…³á‡") (merge-rule "킇" "á„ᅳᇂ") (merge-rule "킈" "á„á…´~b") (merge-rule "킉" "á„ᅴᆨ") (merge-rule "킊" "á„ᅴᆩ") (merge-rule "í‚‹" "á„ᅴᆪ") (merge-rule "킌" "á„ᅴᆫ") (merge-rule "í‚" "á„ᅴᆬ") (merge-rule "킎" "á„ᅴᆭ") (merge-rule "í‚" "á„ᅴᆮ") (merge-rule "í‚" "á„ᅴᆯ") (merge-rule "í‚‘" "á„ᅴᆰ") (merge-rule "í‚’" "á„ᅴᆱ") (merge-rule "í‚“" "á„ᅴᆲ") (merge-rule "í‚”" "á„ᅴᆳ") (merge-rule "í‚•" "á„ᅴᆴ") (merge-rule "í‚–" "á„ᅴᆵ") (merge-rule "í‚—" "á„ᅴᆶ") (merge-rule "킘" "á„ᅴᆷ") (merge-rule "í‚™" "á„ᅴᆸ") (merge-rule "킚" "á„ᅴᆹ") (merge-rule "í‚›" "á„ᅴᆺ") (merge-rule "킜" "á„ᅴᆻ") (merge-rule "í‚" "á„ᅴᆼ") (merge-rule "킞" "á„ᅴᆽ") (merge-rule "킟" "á„ᅴᆾ") (merge-rule "í‚ " "á„ᅴᆿ") (merge-rule "í‚¡" "á„ᅴᇀ") (merge-rule "í‚¢" "á„á…´á‡") (merge-rule "í‚£" "á„ᅴᇂ") (merge-rule "키" "á„á…µ~b") (merge-rule "í‚¥" "á„ᅵᆨ") (merge-rule "킦" "á„ᅵᆩ") (merge-rule "í‚§" "á„ᅵᆪ") (merge-rule "킨" "á„ᅵᆫ") (merge-rule "í‚©" "á„ᅵᆬ") (merge-rule "킪" "á„ᅵᆭ") (merge-rule "í‚«" "á„ᅵᆮ") (merge-rule "킬" "á„ᅵᆯ") (merge-rule "í‚­" "á„ᅵᆰ") (merge-rule "í‚®" "á„ᅵᆱ") (merge-rule "킯" "á„ᅵᆲ") (merge-rule "í‚°" "á„ᅵᆳ") (merge-rule "킱" "á„ᅵᆴ") (merge-rule "킲" "á„ᅵᆵ") (merge-rule "킳" "á„ᅵᆶ") (merge-rule "í‚´" "á„ᅵᆷ") (merge-rule "킵" "á„ᅵᆸ") (merge-rule "í‚¶" "á„ᅵᆹ") (merge-rule "í‚·" "á„ᅵᆺ") (merge-rule "킸" "á„ᅵᆻ") (merge-rule "킹" "á„ᅵᆼ") (merge-rule "킺" "á„ᅵᆽ") (merge-rule "í‚»" "á„ᅵᆾ") (merge-rule "킼" "á„ᅵᆿ") (merge-rule "킽" "á„ᅵᇀ") (merge-rule "킾" "á„á…µá‡") (merge-rule "í‚¿" "á„ᅵᇂ") (merge-rule "타" "á„á…¡~b") (merge-rule "íƒ" "á„ᅡᆨ") (merge-rule "탂" "á„ᅡᆩ") (merge-rule "탃" "á„ᅡᆪ") (merge-rule "탄" "á„ᅡᆫ") (merge-rule "탅" "á„ᅡᆬ") (merge-rule "탆" "á„ᅡᆭ") (merge-rule "탇" "á„ᅡᆮ") (merge-rule "탈" "á„ᅡᆯ") (merge-rule "탉" "á„ᅡᆰ") (merge-rule "탊" "á„ᅡᆱ") (merge-rule "탋" "á„ᅡᆲ") (merge-rule "탌" "á„ᅡᆳ") (merge-rule "íƒ" "á„ᅡᆴ") (merge-rule "탎" "á„ᅡᆵ") (merge-rule "íƒ" "á„ᅡᆶ") (merge-rule "íƒ" "á„ᅡᆷ") (merge-rule "탑" "á„ᅡᆸ") (merge-rule "탒" "á„ᅡᆹ") (merge-rule "탓" "á„ᅡᆺ") (merge-rule "탔" "á„ᅡᆻ") (merge-rule "탕" "á„ᅡᆼ") (merge-rule "탖" "á„ᅡᆽ") (merge-rule "탗" "á„ᅡᆾ") (merge-rule "탘" "á„ᅡᆿ") (merge-rule "탙" "á„ᅡᇀ") (merge-rule "탚" "á„á…¡á‡") (merge-rule "탛" "á„ᅡᇂ") (merge-rule "태" "á„á…¢~b") (merge-rule "íƒ" "á„ᅢᆨ") (merge-rule "탞" "á„ᅢᆩ") (merge-rule "탟" "á„ᅢᆪ") (merge-rule "탠" "á„ᅢᆫ") (merge-rule "탡" "á„ᅢᆬ") (merge-rule "탢" "á„ᅢᆭ") (merge-rule "탣" "á„ᅢᆮ") (merge-rule "탤" "á„ᅢᆯ") (merge-rule "탥" "á„ᅢᆰ") (merge-rule "탦" "á„ᅢᆱ") (merge-rule "탧" "á„ᅢᆲ") (merge-rule "탨" "á„ᅢᆳ") (merge-rule "탩" "á„ᅢᆴ") (merge-rule "탪" "á„ᅢᆵ") (merge-rule "탫" "á„ᅢᆶ") (merge-rule "탬" "á„ᅢᆷ") (merge-rule "탭" "á„ᅢᆸ") (merge-rule "탮" "á„ᅢᆹ") (merge-rule "탯" "á„ᅢᆺ") (merge-rule "탰" "á„ᅢᆻ") (merge-rule "탱" "á„ᅢᆼ") (merge-rule "탲" "á„ᅢᆽ") (merge-rule "탳" "á„ᅢᆾ") (merge-rule "탴" "á„ᅢᆿ") (merge-rule "탵" "á„ᅢᇀ") (merge-rule "탶" "á„á…¢á‡") (merge-rule "탷" "á„ᅢᇂ") (merge-rule "탸" "á„á…£~b") (merge-rule "탹" "á„ᅣᆨ") (merge-rule "탺" "á„ᅣᆩ") (merge-rule "탻" "á„ᅣᆪ") (merge-rule "탼" "á„ᅣᆫ") (merge-rule "탽" "á„ᅣᆬ") (merge-rule "탾" "á„ᅣᆭ") (merge-rule "탿" "á„ᅣᆮ") (merge-rule "í„€" "á„ᅣᆯ") (merge-rule "í„" "á„ᅣᆰ") (merge-rule "í„‚" "á„ᅣᆱ") (merge-rule "턃" "á„ᅣᆲ") (merge-rule "í„„" "á„ᅣᆳ") (merge-rule "í„…" "á„ᅣᆴ") (merge-rule "턆" "á„ᅣᆵ") (merge-rule "턇" "á„ᅣᆶ") (merge-rule "턈" "á„ᅣᆷ") (merge-rule "턉" "á„ᅣᆸ") (merge-rule "턊" "á„ᅣᆹ") (merge-rule "í„‹" "á„ᅣᆺ") (merge-rule "턌" "á„ᅣᆻ") (merge-rule "í„" "á„ᅣᆼ") (merge-rule "턎" "á„ᅣᆽ") (merge-rule "í„" "á„ᅣᆾ") (merge-rule "í„" "á„ᅣᆿ") (merge-rule "í„‘" "á„ᅣᇀ") (merge-rule "í„’" "á„á…£á‡") (merge-rule "í„“" "á„ᅣᇂ") (merge-rule "í„”" "á„á…¤~b") (merge-rule "í„•" "á„ᅤᆨ") (merge-rule "í„–" "á„ᅤᆩ") (merge-rule "í„—" "á„ᅤᆪ") (merge-rule "턘" "á„ᅤᆫ") (merge-rule "í„™" "á„ᅤᆬ") (merge-rule "턚" "á„ᅤᆭ") (merge-rule "í„›" "á„ᅤᆮ") (merge-rule "턜" "á„ᅤᆯ") (merge-rule "í„" "á„ᅤᆰ") (merge-rule "턞" "á„ᅤᆱ") (merge-rule "턟" "á„ᅤᆲ") (merge-rule "í„ " "á„ᅤᆳ") (merge-rule "í„¡" "á„ᅤᆴ") (merge-rule "í„¢" "á„ᅤᆵ") (merge-rule "í„£" "á„ᅤᆶ") (merge-rule "턤" "á„ᅤᆷ") (merge-rule "í„¥" "á„ᅤᆸ") (merge-rule "턦" "á„ᅤᆹ") (merge-rule "í„§" "á„ᅤᆺ") (merge-rule "턨" "á„ᅤᆻ") (merge-rule "í„©" "á„ᅤᆼ") (merge-rule "턪" "á„ᅤᆽ") (merge-rule "í„«" "á„ᅤᆾ") (merge-rule "턬" "á„ᅤᆿ") (merge-rule "í„­" "á„ᅤᇀ") (merge-rule "í„®" "á„á…¤á‡") (merge-rule "턯" "á„ᅤᇂ") (merge-rule "í„°" "á„á…¥~b") (merge-rule "턱" "á„ᅥᆨ") (merge-rule "턲" "á„ᅥᆩ") (merge-rule "턳" "á„ᅥᆪ") (merge-rule "í„´" "á„ᅥᆫ") (merge-rule "턵" "á„ᅥᆬ") (merge-rule "í„¶" "á„ᅥᆭ") (merge-rule "í„·" "á„ᅥᆮ") (merge-rule "털" "á„ᅥᆯ") (merge-rule "턹" "á„ᅥᆰ") (merge-rule "턺" "á„ᅥᆱ") (merge-rule "í„»" "á„ᅥᆲ") (merge-rule "턼" "á„ᅥᆳ") (merge-rule "턽" "á„ᅥᆴ") (merge-rule "턾" "á„ᅥᆵ") (merge-rule "í„¿" "á„ᅥᆶ") (merge-rule "í…€" "á„ᅥᆷ") (merge-rule "í…" "á„ᅥᆸ") (merge-rule "í…‚" "á„ᅥᆹ") (merge-rule "í…ƒ" "á„ᅥᆺ") (merge-rule "í…„" "á„ᅥᆻ") (merge-rule "í……" "á„ᅥᆼ") (merge-rule "í…†" "á„ᅥᆽ") (merge-rule "í…‡" "á„ᅥᆾ") (merge-rule "í…ˆ" "á„ᅥᆿ") (merge-rule "í…‰" "á„ᅥᇀ") (merge-rule "í…Š" "á„á…¥á‡") (merge-rule "í…‹" "á„ᅥᇂ") (merge-rule "í…Œ" "á„á…¦~b") (merge-rule "í…" "á„ᅦᆨ") (merge-rule "í…Ž" "á„ᅦᆩ") (merge-rule "í…" "á„ᅦᆪ") (merge-rule "í…" "á„ᅦᆫ") (merge-rule "í…‘" "á„ᅦᆬ") (merge-rule "í…’" "á„ᅦᆭ") (merge-rule "í…“" "á„ᅦᆮ") (merge-rule "í…”" "á„ᅦᆯ") (merge-rule "í…•" "á„ᅦᆰ") (merge-rule "í…–" "á„ᅦᆱ") (merge-rule "í…—" "á„ᅦᆲ") (merge-rule "í…˜" "á„ᅦᆳ") (merge-rule "í…™" "á„ᅦᆴ") (merge-rule "í…š" "á„ᅦᆵ") (merge-rule "í…›" "á„ᅦᆶ") (merge-rule "í…œ" "á„ᅦᆷ") (merge-rule "í…" "á„ᅦᆸ") (merge-rule "í…ž" "á„ᅦᆹ") (merge-rule "í…Ÿ" "á„ᅦᆺ") (merge-rule "í… " "á„ᅦᆻ") (merge-rule "í…¡" "á„ᅦᆼ") (merge-rule "í…¢" "á„ᅦᆽ") (merge-rule "í…£" "á„ᅦᆾ") (merge-rule "í…¤" "á„ᅦᆿ") (merge-rule "í…¥" "á„ᅦᇀ") (merge-rule "í…¦" "á„á…¦á‡") (merge-rule "í…§" "á„ᅦᇂ") (merge-rule "í…¨" "á„á…§~b") (merge-rule "í…©" "á„ᅧᆨ") (merge-rule "í…ª" "á„ᅧᆩ") (merge-rule "í…«" "á„ᅧᆪ") (merge-rule "í…¬" "á„ᅧᆫ") (merge-rule "í…­" "á„ᅧᆬ") (merge-rule "í…®" "á„ᅧᆭ") (merge-rule "í…¯" "á„ᅧᆮ") (merge-rule "í…°" "á„ᅧᆯ") (merge-rule "í…±" "á„ᅧᆰ") (merge-rule "í…²" "á„ᅧᆱ") (merge-rule "í…³" "á„ᅧᆲ") (merge-rule "í…´" "á„ᅧᆳ") (merge-rule "í…µ" "á„ᅧᆴ") (merge-rule "í…¶" "á„ᅧᆵ") (merge-rule "í…·" "á„ᅧᆶ") (merge-rule "í…¸" "á„ᅧᆷ") (merge-rule "í…¹" "á„ᅧᆸ") (merge-rule "í…º" "á„ᅧᆹ") (merge-rule "í…»" "á„ᅧᆺ") (merge-rule "í…¼" "á„ᅧᆻ") (merge-rule "í…½" "á„ᅧᆼ") (merge-rule "í…¾" "á„ᅧᆽ") (merge-rule "í…¿" "á„ᅧᆾ") (merge-rule "톀" "á„ᅧᆿ") (merge-rule "í†" "á„ᅧᇀ") (merge-rule "톂" "á„á…§á‡") (merge-rule "톃" "á„ᅧᇂ") (merge-rule "톄" "á„á…¨~b") (merge-rule "톅" "á„ᅨᆨ") (merge-rule "톆" "á„ᅨᆩ") (merge-rule "톇" "á„ᅨᆪ") (merge-rule "톈" "á„ᅨᆫ") (merge-rule "톉" "á„ᅨᆬ") (merge-rule "톊" "á„ᅨᆭ") (merge-rule "톋" "á„ᅨᆮ") (merge-rule "톌" "á„ᅨᆯ") (merge-rule "í†" "á„ᅨᆰ") (merge-rule "톎" "á„ᅨᆱ") (merge-rule "í†" "á„ᅨᆲ") (merge-rule "í†" "á„ᅨᆳ") (merge-rule "톑" "á„ᅨᆴ") (merge-rule "톒" "á„ᅨᆵ") (merge-rule "톓" "á„ᅨᆶ") (merge-rule "톔" "á„ᅨᆷ") (merge-rule "톕" "á„ᅨᆸ") (merge-rule "톖" "á„ᅨᆹ") (merge-rule "톗" "á„ᅨᆺ") (merge-rule "톘" "á„ᅨᆻ") (merge-rule "톙" "á„ᅨᆼ") (merge-rule "톚" "á„ᅨᆽ") (merge-rule "톛" "á„ᅨᆾ") (merge-rule "톜" "á„ᅨᆿ") (merge-rule "í†" "á„ᅨᇀ") (merge-rule "톞" "á„á…¨á‡") (merge-rule "톟" "á„ᅨᇂ") (merge-rule "토" "á„á…©~b") (merge-rule "톡" "á„ᅩᆨ") (merge-rule "톢" "á„ᅩᆩ") (merge-rule "톣" "á„ᅩᆪ") (merge-rule "톤" "á„ᅩᆫ") (merge-rule "톥" "á„ᅩᆬ") (merge-rule "톦" "á„ᅩᆭ") (merge-rule "톧" "á„ᅩᆮ") (merge-rule "톨" "á„ᅩᆯ") (merge-rule "톩" "á„ᅩᆰ") (merge-rule "톪" "á„ᅩᆱ") (merge-rule "톫" "á„ᅩᆲ") (merge-rule "톬" "á„ᅩᆳ") (merge-rule "톭" "á„ᅩᆴ") (merge-rule "톮" "á„ᅩᆵ") (merge-rule "톯" "á„ᅩᆶ") (merge-rule "톰" "á„ᅩᆷ") (merge-rule "톱" "á„ᅩᆸ") (merge-rule "톲" "á„ᅩᆹ") (merge-rule "톳" "á„ᅩᆺ") (merge-rule "톴" "á„ᅩᆻ") (merge-rule "통" "á„ᅩᆼ") (merge-rule "톶" "á„ᅩᆽ") (merge-rule "톷" "á„ᅩᆾ") (merge-rule "톸" "á„ᅩᆿ") (merge-rule "톹" "á„ᅩᇀ") (merge-rule "톺" "á„á…©á‡") (merge-rule "톻" "á„ᅩᇂ") (merge-rule "톼" "á„á…ª~b") (merge-rule "톽" "á„ᅪᆨ") (merge-rule "톾" "á„ᅪᆩ") (merge-rule "톿" "á„ᅪᆪ") (merge-rule "퇀" "á„ᅪᆫ") (merge-rule "í‡" "á„ᅪᆬ") (merge-rule "퇂" "á„ᅪᆭ") (merge-rule "퇃" "á„ᅪᆮ") (merge-rule "퇄" "á„ᅪᆯ") (merge-rule "퇅" "á„ᅪᆰ") (merge-rule "퇆" "á„ᅪᆱ") (merge-rule "퇇" "á„ᅪᆲ") (merge-rule "퇈" "á„ᅪᆳ") (merge-rule "퇉" "á„ᅪᆴ") (merge-rule "퇊" "á„ᅪᆵ") (merge-rule "퇋" "á„ᅪᆶ") (merge-rule "퇌" "á„ᅪᆷ") (merge-rule "í‡" "á„ᅪᆸ") (merge-rule "퇎" "á„ᅪᆹ") (merge-rule "í‡" "á„ᅪᆺ") (merge-rule "í‡" "á„ᅪᆻ") (merge-rule "퇑" "á„ᅪᆼ") (merge-rule "퇒" "á„ᅪᆽ") (merge-rule "퇓" "á„ᅪᆾ") (merge-rule "퇔" "á„ᅪᆿ") (merge-rule "퇕" "á„ᅪᇀ") (merge-rule "퇖" "á„á…ªá‡") (merge-rule "퇗" "á„ᅪᇂ") (merge-rule "퇘" "á„á…«~b") (merge-rule "퇙" "á„ᅫᆨ") (merge-rule "퇚" "á„ᅫᆩ") (merge-rule "퇛" "á„ᅫᆪ") (merge-rule "퇜" "á„ᅫᆫ") (merge-rule "í‡" "á„ᅫᆬ") (merge-rule "퇞" "á„ᅫᆭ") (merge-rule "퇟" "á„ᅫᆮ") (merge-rule "퇠" "á„ᅫᆯ") (merge-rule "퇡" "á„ᅫᆰ") (merge-rule "퇢" "á„ᅫᆱ") (merge-rule "퇣" "á„ᅫᆲ") (merge-rule "퇤" "á„ᅫᆳ") (merge-rule "퇥" "á„ᅫᆴ") (merge-rule "퇦" "á„ᅫᆵ") (merge-rule "퇧" "á„ᅫᆶ") (merge-rule "퇨" "á„ᅫᆷ") (merge-rule "퇩" "á„ᅫᆸ") (merge-rule "퇪" "á„ᅫᆹ") (merge-rule "퇫" "á„ᅫᆺ") (merge-rule "퇬" "á„ᅫᆻ") (merge-rule "퇭" "á„ᅫᆼ") (merge-rule "퇮" "á„ᅫᆽ") (merge-rule "퇯" "á„ᅫᆾ") (merge-rule "퇰" "á„ᅫᆿ") (merge-rule "퇱" "á„ᅫᇀ") (merge-rule "퇲" "á„á…«á‡") (merge-rule "퇳" "á„ᅫᇂ") (merge-rule "퇴" "á„á…¬~b") (merge-rule "퇵" "á„ᅬᆨ") (merge-rule "퇶" "á„ᅬᆩ") (merge-rule "퇷" "á„ᅬᆪ") (merge-rule "퇸" "á„ᅬᆫ") (merge-rule "퇹" "á„ᅬᆬ") (merge-rule "퇺" "á„ᅬᆭ") (merge-rule "퇻" "á„ᅬᆮ") (merge-rule "퇼" "á„ᅬᆯ") (merge-rule "퇽" "á„ᅬᆰ") (merge-rule "퇾" "á„ᅬᆱ") (merge-rule "퇿" "á„ᅬᆲ") (merge-rule "툀" "á„ᅬᆳ") (merge-rule "íˆ" "á„ᅬᆴ") (merge-rule "툂" "á„ᅬᆵ") (merge-rule "툃" "á„ᅬᆶ") (merge-rule "툄" "á„ᅬᆷ") (merge-rule "툅" "á„ᅬᆸ") (merge-rule "툆" "á„ᅬᆹ") (merge-rule "툇" "á„ᅬᆺ") (merge-rule "툈" "á„ᅬᆻ") (merge-rule "툉" "á„ᅬᆼ") (merge-rule "툊" "á„ᅬᆽ") (merge-rule "툋" "á„ᅬᆾ") (merge-rule "툌" "á„ᅬᆿ") (merge-rule "íˆ" "á„ᅬᇀ") (merge-rule "툎" "á„á…¬á‡") (merge-rule "íˆ" "á„ᅬᇂ") (merge-rule "íˆ" "á„á…­~b") (merge-rule "툑" "á„ᅭᆨ") (merge-rule "툒" "á„ᅭᆩ") (merge-rule "툓" "á„ᅭᆪ") (merge-rule "툔" "á„ᅭᆫ") (merge-rule "툕" "á„ᅭᆬ") (merge-rule "툖" "á„ᅭᆭ") (merge-rule "툗" "á„ᅭᆮ") (merge-rule "툘" "á„ᅭᆯ") (merge-rule "툙" "á„ᅭᆰ") (merge-rule "툚" "á„ᅭᆱ") (merge-rule "툛" "á„ᅭᆲ") (merge-rule "툜" "á„ᅭᆳ") (merge-rule "íˆ" "á„ᅭᆴ") (merge-rule "툞" "á„ᅭᆵ") (merge-rule "툟" "á„ᅭᆶ") (merge-rule "툠" "á„ᅭᆷ") (merge-rule "툡" "á„ᅭᆸ") (merge-rule "툢" "á„ᅭᆹ") (merge-rule "툣" "á„ᅭᆺ") (merge-rule "툤" "á„ᅭᆻ") (merge-rule "툥" "á„ᅭᆼ") (merge-rule "툦" "á„ᅭᆽ") (merge-rule "툧" "á„ᅭᆾ") (merge-rule "툨" "á„ᅭᆿ") (merge-rule "툩" "á„ᅭᇀ") (merge-rule "툪" "á„á…­á‡") (merge-rule "툫" "á„ᅭᇂ") (merge-rule "투" "á„á…®~b") (merge-rule "툭" "á„ᅮᆨ") (merge-rule "툮" "á„ᅮᆩ") (merge-rule "툯" "á„ᅮᆪ") (merge-rule "툰" "á„ᅮᆫ") (merge-rule "툱" "á„ᅮᆬ") (merge-rule "툲" "á„ᅮᆭ") (merge-rule "툳" "á„ᅮᆮ") (merge-rule "툴" "á„ᅮᆯ") (merge-rule "툵" "á„ᅮᆰ") (merge-rule "툶" "á„ᅮᆱ") (merge-rule "툷" "á„ᅮᆲ") (merge-rule "툸" "á„ᅮᆳ") (merge-rule "툹" "á„ᅮᆴ") (merge-rule "툺" "á„ᅮᆵ") (merge-rule "툻" "á„ᅮᆶ") (merge-rule "툼" "á„ᅮᆷ") (merge-rule "툽" "á„ᅮᆸ") (merge-rule "툾" "á„ᅮᆹ") (merge-rule "툿" "á„ᅮᆺ") (merge-rule "퉀" "á„ᅮᆻ") (merge-rule "í‰" "á„ᅮᆼ") (merge-rule "퉂" "á„ᅮᆽ") (merge-rule "퉃" "á„ᅮᆾ") (merge-rule "퉄" "á„ᅮᆿ") (merge-rule "퉅" "á„ᅮᇀ") (merge-rule "퉆" "á„á…®á‡") (merge-rule "퉇" "á„ᅮᇂ") (merge-rule "퉈" "á„á…¯~b") (merge-rule "퉉" "á„ᅯᆨ") (merge-rule "퉊" "á„ᅯᆩ") (merge-rule "퉋" "á„ᅯᆪ") (merge-rule "퉌" "á„ᅯᆫ") (merge-rule "í‰" "á„ᅯᆬ") (merge-rule "퉎" "á„ᅯᆭ") (merge-rule "í‰" "á„ᅯᆮ") (merge-rule "í‰" "á„ᅯᆯ") (merge-rule "퉑" "á„ᅯᆰ") (merge-rule "퉒" "á„ᅯᆱ") (merge-rule "퉓" "á„ᅯᆲ") (merge-rule "퉔" "á„ᅯᆳ") (merge-rule "퉕" "á„ᅯᆴ") (merge-rule "퉖" "á„ᅯᆵ") (merge-rule "퉗" "á„ᅯᆶ") (merge-rule "퉘" "á„ᅯᆷ") (merge-rule "퉙" "á„ᅯᆸ") (merge-rule "퉚" "á„ᅯᆹ") (merge-rule "퉛" "á„ᅯᆺ") (merge-rule "퉜" "á„ᅯᆻ") (merge-rule "í‰" "á„ᅯᆼ") (merge-rule "퉞" "á„ᅯᆽ") (merge-rule "퉟" "á„ᅯᆾ") (merge-rule "퉠" "á„ᅯᆿ") (merge-rule "퉡" "á„ᅯᇀ") (merge-rule "퉢" "á„á…¯á‡") (merge-rule "퉣" "á„ᅯᇂ") (merge-rule "퉤" "á„á…°~b") (merge-rule "퉥" "á„ᅰᆨ") (merge-rule "퉦" "á„ᅰᆩ") (merge-rule "퉧" "á„ᅰᆪ") (merge-rule "퉨" "á„ᅰᆫ") (merge-rule "퉩" "á„ᅰᆬ") (merge-rule "퉪" "á„ᅰᆭ") (merge-rule "퉫" "á„ᅰᆮ") (merge-rule "퉬" "á„ᅰᆯ") (merge-rule "퉭" "á„ᅰᆰ") (merge-rule "퉮" "á„ᅰᆱ") (merge-rule "퉯" "á„ᅰᆲ") (merge-rule "퉰" "á„ᅰᆳ") (merge-rule "퉱" "á„ᅰᆴ") (merge-rule "퉲" "á„ᅰᆵ") (merge-rule "퉳" "á„ᅰᆶ") (merge-rule "퉴" "á„ᅰᆷ") (merge-rule "퉵" "á„ᅰᆸ") (merge-rule "퉶" "á„ᅰᆹ") (merge-rule "퉷" "á„ᅰᆺ") (merge-rule "퉸" "á„ᅰᆻ") (merge-rule "퉹" "á„ᅰᆼ") (merge-rule "퉺" "á„ᅰᆽ") (merge-rule "퉻" "á„ᅰᆾ") (merge-rule "퉼" "á„ᅰᆿ") (merge-rule "퉽" "á„ᅰᇀ") (merge-rule "퉾" "á„á…°á‡") (merge-rule "퉿" "á„ᅰᇂ") (merge-rule "튀" "á„á…±~b") (merge-rule "íŠ" "á„ᅱᆨ") (merge-rule "튂" "á„ᅱᆩ") (merge-rule "튃" "á„ᅱᆪ") (merge-rule "튄" "á„ᅱᆫ") (merge-rule "튅" "á„ᅱᆬ") (merge-rule "튆" "á„ᅱᆭ") (merge-rule "튇" "á„ᅱᆮ") (merge-rule "튈" "á„ᅱᆯ") (merge-rule "튉" "á„ᅱᆰ") (merge-rule "튊" "á„ᅱᆱ") (merge-rule "튋" "á„ᅱᆲ") (merge-rule "튌" "á„ᅱᆳ") (merge-rule "íŠ" "á„ᅱᆴ") (merge-rule "튎" "á„ᅱᆵ") (merge-rule "íŠ" "á„ᅱᆶ") (merge-rule "íŠ" "á„ᅱᆷ") (merge-rule "튑" "á„ᅱᆸ") (merge-rule "튒" "á„ᅱᆹ") (merge-rule "튓" "á„ᅱᆺ") (merge-rule "튔" "á„ᅱᆻ") (merge-rule "튕" "á„ᅱᆼ") (merge-rule "튖" "á„ᅱᆽ") (merge-rule "튗" "á„ᅱᆾ") (merge-rule "튘" "á„ᅱᆿ") (merge-rule "튙" "á„ᅱᇀ") (merge-rule "튚" "á„á…±á‡") (merge-rule "튛" "á„ᅱᇂ") (merge-rule "튜" "á„á…²~b") (merge-rule "íŠ" "á„ᅲᆨ") (merge-rule "튞" "á„ᅲᆩ") (merge-rule "튟" "á„ᅲᆪ") (merge-rule "튠" "á„ᅲᆫ") (merge-rule "튡" "á„ᅲᆬ") (merge-rule "튢" "á„ᅲᆭ") (merge-rule "튣" "á„ᅲᆮ") (merge-rule "튤" "á„ᅲᆯ") (merge-rule "튥" "á„ᅲᆰ") (merge-rule "튦" "á„ᅲᆱ") (merge-rule "튧" "á„ᅲᆲ") (merge-rule "튨" "á„ᅲᆳ") (merge-rule "튩" "á„ᅲᆴ") (merge-rule "튪" "á„ᅲᆵ") (merge-rule "튫" "á„ᅲᆶ") (merge-rule "튬" "á„ᅲᆷ") (merge-rule "튭" "á„ᅲᆸ") (merge-rule "튮" "á„ᅲᆹ") (merge-rule "튯" "á„ᅲᆺ") (merge-rule "튰" "á„ᅲᆻ") (merge-rule "튱" "á„ᅲᆼ") (merge-rule "튲" "á„ᅲᆽ") (merge-rule "튳" "á„ᅲᆾ") (merge-rule "튴" "á„ᅲᆿ") (merge-rule "튵" "á„ᅲᇀ") (merge-rule "튶" "á„á…²á‡") (merge-rule "튷" "á„ᅲᇂ") (merge-rule "트" "á„á…³~b") (merge-rule "특" "á„ᅳᆨ") (merge-rule "튺" "á„ᅳᆩ") (merge-rule "튻" "á„ᅳᆪ") (merge-rule "튼" "á„ᅳᆫ") (merge-rule "튽" "á„ᅳᆬ") (merge-rule "튾" "á„ᅳᆭ") (merge-rule "튿" "á„ᅳᆮ") (merge-rule "í‹€" "á„ᅳᆯ") (merge-rule "í‹" "á„ᅳᆰ") (merge-rule "í‹‚" "á„ᅳᆱ") (merge-rule "틃" "á„ᅳᆲ") (merge-rule "í‹„" "á„ᅳᆳ") (merge-rule "í‹…" "á„ᅳᆴ") (merge-rule "틆" "á„ᅳᆵ") (merge-rule "틇" "á„ᅳᆶ") (merge-rule "틈" "á„ᅳᆷ") (merge-rule "틉" "á„ᅳᆸ") (merge-rule "틊" "á„ᅳᆹ") (merge-rule "í‹‹" "á„ᅳᆺ") (merge-rule "틌" "á„ᅳᆻ") (merge-rule "í‹" "á„ᅳᆼ") (merge-rule "틎" "á„ᅳᆽ") (merge-rule "í‹" "á„ᅳᆾ") (merge-rule "í‹" "á„ᅳᆿ") (merge-rule "í‹‘" "á„ᅳᇀ") (merge-rule "í‹’" "á„á…³á‡") (merge-rule "í‹“" "á„ᅳᇂ") (merge-rule "í‹”" "á„á…´~b") (merge-rule "í‹•" "á„ᅴᆨ") (merge-rule "í‹–" "á„ᅴᆩ") (merge-rule "í‹—" "á„ᅴᆪ") (merge-rule "틘" "á„ᅴᆫ") (merge-rule "í‹™" "á„ᅴᆬ") (merge-rule "틚" "á„ᅴᆭ") (merge-rule "í‹›" "á„ᅴᆮ") (merge-rule "틜" "á„ᅴᆯ") (merge-rule "í‹" "á„ᅴᆰ") (merge-rule "틞" "á„ᅴᆱ") (merge-rule "틟" "á„ᅴᆲ") (merge-rule "í‹ " "á„ᅴᆳ") (merge-rule "í‹¡" "á„ᅴᆴ") (merge-rule "í‹¢" "á„ᅴᆵ") (merge-rule "í‹£" "á„ᅴᆶ") (merge-rule "틤" "á„ᅴᆷ") (merge-rule "í‹¥" "á„ᅴᆸ") (merge-rule "틦" "á„ᅴᆹ") (merge-rule "í‹§" "á„ᅴᆺ") (merge-rule "틨" "á„ᅴᆻ") (merge-rule "í‹©" "á„ᅴᆼ") (merge-rule "틪" "á„ᅴᆽ") (merge-rule "í‹«" "á„ᅴᆾ") (merge-rule "틬" "á„ᅴᆿ") (merge-rule "í‹­" "á„ᅴᇀ") (merge-rule "í‹®" "á„á…´á‡") (merge-rule "틯" "á„ᅴᇂ") (merge-rule "í‹°" "á„á…µ~b") (merge-rule "틱" "á„ᅵᆨ") (merge-rule "틲" "á„ᅵᆩ") (merge-rule "틳" "á„ᅵᆪ") (merge-rule "í‹´" "á„ᅵᆫ") (merge-rule "틵" "á„ᅵᆬ") (merge-rule "í‹¶" "á„ᅵᆭ") (merge-rule "í‹·" "á„ᅵᆮ") (merge-rule "틸" "á„ᅵᆯ") (merge-rule "틹" "á„ᅵᆰ") (merge-rule "틺" "á„ᅵᆱ") (merge-rule "í‹»" "á„ᅵᆲ") (merge-rule "틼" "á„ᅵᆳ") (merge-rule "틽" "á„ᅵᆴ") (merge-rule "틾" "á„ᅵᆵ") (merge-rule "í‹¿" "á„ᅵᆶ") (merge-rule "팀" "á„ᅵᆷ") (merge-rule "íŒ" "á„ᅵᆸ") (merge-rule "팂" "á„ᅵᆹ") (merge-rule "팃" "á„ᅵᆺ") (merge-rule "팄" "á„ᅵᆻ") (merge-rule "팅" "á„ᅵᆼ") (merge-rule "팆" "á„ᅵᆽ") (merge-rule "팇" "á„ᅵᆾ") (merge-rule "팈" "á„ᅵᆿ") (merge-rule "팉" "á„ᅵᇀ") (merge-rule "팊" "á„á…µá‡") (merge-rule "팋" "á„ᅵᇂ") (merge-rule "파" "á„‘á…¡~b") (merge-rule "íŒ" "팍") (merge-rule "팎" "팎") (merge-rule "íŒ" "팏") (merge-rule "íŒ" "판") (merge-rule "팑" "팑") (merge-rule "팒" "팒") (merge-rule "팓" "팓") (merge-rule "팔" "팔") (merge-rule "팕" "팕") (merge-rule "팖" "팖") (merge-rule "팗" "팗") (merge-rule "팘" "팘") (merge-rule "팙" "팙") (merge-rule "팚" "팚") (merge-rule "팛" "팛") (merge-rule "팜" "팜") (merge-rule "íŒ" "팝") (merge-rule "팞" "팞") (merge-rule "팟" "팟") (merge-rule "팠" "팠") (merge-rule "팡" "팡") (merge-rule "팢" "팢") (merge-rule "팣" "팣") (merge-rule "팤" "팤") (merge-rule "팥" "팥") (merge-rule "팦" "á„‘á…¡á‡") (merge-rule "팧" "팧") (merge-rule "패" "á„‘á…¢~b") (merge-rule "팩" "팩") (merge-rule "팪" "팪") (merge-rule "팫" "팫") (merge-rule "팬" "팬") (merge-rule "팭" "팭") (merge-rule "팮" "팮") (merge-rule "팯" "팯") (merge-rule "팰" "팰") (merge-rule "팱" "팱") (merge-rule "팲" "팲") (merge-rule "팳" "팳") (merge-rule "팴" "팴") (merge-rule "팵" "팵") (merge-rule "팶" "팶") (merge-rule "팷" "팷") (merge-rule "팸" "팸") (merge-rule "팹" "팹") (merge-rule "팺" "팺") (merge-rule "팻" "팻") (merge-rule "팼" "팼") (merge-rule "팽" "팽") (merge-rule "팾" "팾") (merge-rule "팿" "팿") (merge-rule "í€" "퍀") (merge-rule "í" "퍁") (merge-rule "í‚" "á„‘á…¢á‡") (merge-rule "íƒ" "퍃") (merge-rule "í„" "á„‘á…£~b") (merge-rule "í…" "퍅") (merge-rule "í†" "퍆") (merge-rule "í‡" "퍇") (merge-rule "íˆ" "퍈") (merge-rule "í‰" "퍉") (merge-rule "íŠ" "퍊") (merge-rule "í‹" "퍋") (merge-rule "íŒ" "퍌") (merge-rule "í" "퍍") (merge-rule "íŽ" "퍎") (merge-rule "í" "퍏") (merge-rule "í" "퍐") (merge-rule "í‘" "퍑") (merge-rule "í’" "퍒") (merge-rule "í“" "퍓") (merge-rule "í”" "퍔") (merge-rule "í•" "퍕") (merge-rule "í–" "퍖") (merge-rule "í—" "퍗") (merge-rule "í˜" "퍘") (merge-rule "í™" "퍙") (merge-rule "íš" "퍚") (merge-rule "í›" "퍛") (merge-rule "íœ" "퍜") (merge-rule "í" "퍝") (merge-rule "íž" "á„‘á…£á‡") (merge-rule "íŸ" "퍟") (merge-rule "í " "á„‘á…¤~b") (merge-rule "í¡" "퍡") (merge-rule "í¢" "퍢") (merge-rule "í£" "퍣") (merge-rule "í¤" "퍤") (merge-rule "í¥" "퍥") (merge-rule "í¦" "퍦") (merge-rule "í§" "퍧") (merge-rule "í¨" "퍨") (merge-rule "í©" "퍩") (merge-rule "íª" "퍪") (merge-rule "í«" "퍫") (merge-rule "í¬" "퍬") (merge-rule "í­" "퍭") (merge-rule "í®" "퍮") (merge-rule "í¯" "퍯") (merge-rule "í°" "퍰") (merge-rule "í±" "퍱") (merge-rule "í²" "퍲") (merge-rule "í³" "퍳") (merge-rule "í´" "퍴") (merge-rule "íµ" "퍵") (merge-rule "í¶" "퍶") (merge-rule "í·" "퍷") (merge-rule "í¸" "퍸") (merge-rule "í¹" "퍹") (merge-rule "íº" "á„‘á…¤á‡") (merge-rule "í»" "퍻") (merge-rule "í¼" "á„‘á…¥~b") (merge-rule "í½" "퍽") (merge-rule "í¾" "퍾") (merge-rule "í¿" "퍿") (merge-rule "펀" "펀") (merge-rule "íŽ" "펁") (merge-rule "펂" "펂") (merge-rule "펃" "펃") (merge-rule "펄" "펄") (merge-rule "펅" "펅") (merge-rule "펆" "펆") (merge-rule "펇" "펇") (merge-rule "펈" "펈") (merge-rule "펉" "펉") (merge-rule "펊" "펊") (merge-rule "펋" "펋") (merge-rule "펌" "펌") (merge-rule "íŽ" "펍") (merge-rule "펎" "펎") (merge-rule "íŽ" "펏") (merge-rule "íŽ" "펐") (merge-rule "펑" "펑") (merge-rule "펒" "펒") (merge-rule "펓" "펓") (merge-rule "펔" "펔") (merge-rule "펕" "펕") (merge-rule "펖" "á„‘á…¥á‡") (merge-rule "펗" "펗") (merge-rule "페" "á„‘á…¦~b") (merge-rule "펙" "펙") (merge-rule "펚" "펚") (merge-rule "펛" "펛") (merge-rule "펜" "펜") (merge-rule "íŽ" "펝") (merge-rule "펞" "펞") (merge-rule "펟" "펟") (merge-rule "펠" "펠") (merge-rule "펡" "펡") (merge-rule "펢" "펢") (merge-rule "펣" "펣") (merge-rule "펤" "펤") (merge-rule "펥" "펥") (merge-rule "펦" "펦") (merge-rule "펧" "펧") (merge-rule "펨" "펨") (merge-rule "펩" "펩") (merge-rule "펪" "펪") (merge-rule "펫" "펫") (merge-rule "펬" "펬") (merge-rule "펭" "펭") (merge-rule "펮" "펮") (merge-rule "펯" "펯") (merge-rule "펰" "펰") (merge-rule "펱" "펱") (merge-rule "펲" "á„‘á…¦á‡") (merge-rule "펳" "펳") (merge-rule "펴" "á„‘á…§~b") (merge-rule "펵" "펵") (merge-rule "펶" "펶") (merge-rule "펷" "펷") (merge-rule "편" "편") (merge-rule "펹" "펹") (merge-rule "펺" "펺") (merge-rule "펻" "펻") (merge-rule "펼" "펼") (merge-rule "펽" "펽") (merge-rule "펾" "펾") (merge-rule "펿" "펿") (merge-rule "í€" "폀") (merge-rule "í" "폁") (merge-rule "í‚" "폂") (merge-rule "íƒ" "폃") (merge-rule "í„" "폄") (merge-rule "í…" "폅") (merge-rule "í†" "폆") (merge-rule "í‡" "폇") (merge-rule "íˆ" "폈") (merge-rule "í‰" "평") (merge-rule "íŠ" "폊") (merge-rule "í‹" "폋") (merge-rule "íŒ" "폌") (merge-rule "í" "폍") (merge-rule "íŽ" "á„‘á…§á‡") (merge-rule "í" "폏") (merge-rule "í" "á„‘á…¨~b") (merge-rule "í‘" "폑") (merge-rule "í’" "폒") (merge-rule "í“" "폓") (merge-rule "í”" "폔") (merge-rule "í•" "폕") (merge-rule "í–" "폖") (merge-rule "í—" "폗") (merge-rule "í˜" "폘") (merge-rule "í™" "폙") (merge-rule "íš" "폚") (merge-rule "í›" "폛") (merge-rule "íœ" "폜") (merge-rule "í" "폝") (merge-rule "íž" "폞") (merge-rule "íŸ" "폟") (merge-rule "í " "폠") (merge-rule "í¡" "폡") (merge-rule "í¢" "폢") (merge-rule "í£" "폣") (merge-rule "í¤" "폤") (merge-rule "í¥" "폥") (merge-rule "í¦" "폦") (merge-rule "í§" "폧") (merge-rule "í¨" "폨") (merge-rule "í©" "폩") (merge-rule "íª" "á„‘á…¨á‡") (merge-rule "í«" "폫") (merge-rule "í¬" "á„‘á…©~b") (merge-rule "í­" "폭") (merge-rule "í®" "폮") (merge-rule "í¯" "폯") (merge-rule "í°" "폰") (merge-rule "í±" "폱") (merge-rule "í²" "폲") (merge-rule "í³" "폳") (merge-rule "í´" "폴") (merge-rule "íµ" "폵") (merge-rule "í¶" "폶") (merge-rule "í·" "폷") (merge-rule "í¸" "폸") (merge-rule "í¹" "폹") (merge-rule "íº" "폺") (merge-rule "í»" "폻") (merge-rule "í¼" "폼") (merge-rule "í½" "폽") (merge-rule "í¾" "폾") (merge-rule "í¿" "폿") (merge-rule "í€" "퐀") (merge-rule "í" "퐁") (merge-rule "í‚" "퐂") (merge-rule "íƒ" "퐃") (merge-rule "í„" "퐄") (merge-rule "í…" "퐅") (merge-rule "í†" "á„‘á…©á‡") (merge-rule "í‡" "퐇") (merge-rule "íˆ" "á„‘á…ª~b") (merge-rule "í‰" "퐉") (merge-rule "íŠ" "퐊") (merge-rule "í‹" "퐋") (merge-rule "íŒ" "퐌") (merge-rule "í" "퐍") (merge-rule "íŽ" "퐎") (merge-rule "í" "퐏") (merge-rule "í" "퐐") (merge-rule "í‘" "퐑") (merge-rule "í’" "퐒") (merge-rule "í“" "퐓") (merge-rule "í”" "퐔") (merge-rule "í•" "퐕") (merge-rule "í–" "퐖") (merge-rule "í—" "퐗") (merge-rule "í˜" "퐘") (merge-rule "í™" "퐙") (merge-rule "íš" "퐚") (merge-rule "í›" "퐛") (merge-rule "íœ" "퐜") (merge-rule "í" "퐝") (merge-rule "íž" "퐞") (merge-rule "íŸ" "퐟") (merge-rule "í " "퐠") (merge-rule "í¡" "퐡") (merge-rule "í¢" "á„‘á…ªá‡") (merge-rule "í£" "퐣") (merge-rule "í¤" "á„‘á…«~b") (merge-rule "í¥" "퐥") (merge-rule "í¦" "퐦") (merge-rule "í§" "퐧") (merge-rule "í¨" "퐨") (merge-rule "í©" "퐩") (merge-rule "íª" "퐪") (merge-rule "í«" "퐫") (merge-rule "í¬" "퐬") (merge-rule "í­" "퐭") (merge-rule "í®" "퐮") (merge-rule "í¯" "퐯") (merge-rule "í°" "퐰") (merge-rule "í±" "퐱") (merge-rule "í²" "퐲") (merge-rule "í³" "퐳") (merge-rule "í´" "퐴") (merge-rule "íµ" "퐵") (merge-rule "í¶" "퐶") (merge-rule "í·" "퐷") (merge-rule "í¸" "퐸") (merge-rule "í¹" "퐹") (merge-rule "íº" "퐺") (merge-rule "í»" "퐻") (merge-rule "í¼" "퐼") (merge-rule "í½" "퐽") (merge-rule "í¾" "á„‘á…«á‡") (merge-rule "í¿" "퐿") (merge-rule "í‘€" "á„‘á…¬~b") (merge-rule "í‘" "푁") (merge-rule "í‘‚" "푂") (merge-rule "푃" "푃") (merge-rule "í‘„" "푄") (merge-rule "í‘…" "푅") (merge-rule "푆" "푆") (merge-rule "푇" "푇") (merge-rule "푈" "푈") (merge-rule "푉" "푉") (merge-rule "푊" "푊") (merge-rule "í‘‹" "푋") (merge-rule "푌" "푌") (merge-rule "í‘" "푍") (merge-rule "푎" "푎") (merge-rule "í‘" "푏") (merge-rule "í‘" "푐") (merge-rule "í‘‘" "푑") (merge-rule "í‘’" "푒") (merge-rule "í‘“" "푓") (merge-rule "í‘”" "푔") (merge-rule "í‘•" "푕") (merge-rule "í‘–" "푖") (merge-rule "í‘—" "푗") (merge-rule "푘" "푘") (merge-rule "í‘™" "푙") (merge-rule "푚" "á„‘á…¬á‡") (merge-rule "í‘›" "푛") (merge-rule "표" "á„‘á…­~b") (merge-rule "í‘" "푝") (merge-rule "푞" "푞") (merge-rule "푟" "푟") (merge-rule "í‘ " "푠") (merge-rule "í‘¡" "푡") (merge-rule "í‘¢" "푢") (merge-rule "í‘£" "푣") (merge-rule "푤" "푤") (merge-rule "í‘¥" "푥") (merge-rule "푦" "푦") (merge-rule "í‘§" "푧") (merge-rule "푨" "푨") (merge-rule "í‘©" "푩") (merge-rule "푪" "푪") (merge-rule "í‘«" "푫") (merge-rule "푬" "푬") (merge-rule "í‘­" "푭") (merge-rule "í‘®" "푮") (merge-rule "푯" "푯") (merge-rule "í‘°" "푰") (merge-rule "푱" "푱") (merge-rule "푲" "푲") (merge-rule "푳" "푳") (merge-rule "í‘´" "푴") (merge-rule "푵" "푵") (merge-rule "í‘¶" "á„‘á…­á‡") (merge-rule "í‘·" "푷") (merge-rule "푸" "á„‘á…®~b") (merge-rule "푹" "푹") (merge-rule "푺" "푺") (merge-rule "í‘»" "푻") (merge-rule "푼" "푼") (merge-rule "푽" "푽") (merge-rule "푾" "푾") (merge-rule "í‘¿" "푿") (merge-rule "í’€" "풀") (merge-rule "í’" "풁") (merge-rule "í’‚" "풂") (merge-rule "í’ƒ" "풃") (merge-rule "í’„" "풄") (merge-rule "í’…" "풅") (merge-rule "í’†" "풆") (merge-rule "í’‡" "풇") (merge-rule "í’ˆ" "품") (merge-rule "í’‰" "풉") (merge-rule "í’Š" "풊") (merge-rule "í’‹" "풋") (merge-rule "í’Œ" "풌") (merge-rule "í’" "풍") (merge-rule "í’Ž" "풎") (merge-rule "í’" "풏") (merge-rule "í’" "풐") (merge-rule "í’‘" "풑") (merge-rule "í’’" "á„‘á…®á‡") (merge-rule "í’“" "풓") (merge-rule "í’”" "á„‘á…¯~b") (merge-rule "í’•" "풕") (merge-rule "í’–" "풖") (merge-rule "í’—" "풗") (merge-rule "í’˜" "풘") (merge-rule "í’™" "풙") (merge-rule "í’š" "풚") (merge-rule "í’›" "풛") (merge-rule "í’œ" "풜") (merge-rule "í’" "풝") (merge-rule "í’ž" "풞") (merge-rule "í’Ÿ" "풟") (merge-rule "í’ " "풠") (merge-rule "í’¡" "풡") (merge-rule "í’¢" "풢") (merge-rule "í’£" "풣") (merge-rule "í’¤" "풤") (merge-rule "í’¥" "풥") (merge-rule "í’¦" "풦") (merge-rule "í’§" "풧") (merge-rule "í’¨" "풨") (merge-rule "í’©" "풩") (merge-rule "í’ª" "풪") (merge-rule "í’«" "풫") (merge-rule "í’¬" "풬") (merge-rule "í’­" "풭") (merge-rule "í’®" "á„‘á…¯á‡") (merge-rule "í’¯" "풯") (merge-rule "í’°" "á„‘á…°~b") (merge-rule "í’±" "풱") (merge-rule "í’²" "풲") (merge-rule "í’³" "풳") (merge-rule "í’´" "풴") (merge-rule "í’µ" "풵") (merge-rule "í’¶" "풶") (merge-rule "í’·" "풷") (merge-rule "í’¸" "풸") (merge-rule "í’¹" "풹") (merge-rule "í’º" "풺") (merge-rule "í’»" "풻") (merge-rule "í’¼" "풼") (merge-rule "í’½" "풽") (merge-rule "í’¾" "풾") (merge-rule "í’¿" "풿") (merge-rule "í“€" "퓀") (merge-rule "í“" "퓁") (merge-rule "í“‚" "퓂") (merge-rule "퓃" "퓃") (merge-rule "í“„" "퓄") (merge-rule "í“…" "퓅") (merge-rule "퓆" "퓆") (merge-rule "퓇" "퓇") (merge-rule "퓈" "퓈") (merge-rule "퓉" "퓉") (merge-rule "퓊" "á„‘á…°á‡") (merge-rule "í“‹" "퓋") (merge-rule "퓌" "á„‘á…±~b") (merge-rule "í“" "퓍") (merge-rule "퓎" "퓎") (merge-rule "í“" "퓏") (merge-rule "í“" "퓐") (merge-rule "í“‘" "퓑") (merge-rule "í“’" "퓒") (merge-rule "í““" "퓓") (merge-rule "í“”" "퓔") (merge-rule "í“•" "퓕") (merge-rule "í“–" "퓖") (merge-rule "í“—" "퓗") (merge-rule "퓘" "퓘") (merge-rule "í“™" "퓙") (merge-rule "퓚" "퓚") (merge-rule "í“›" "퓛") (merge-rule "퓜" "퓜") (merge-rule "í“" "퓝") (merge-rule "퓞" "퓞") (merge-rule "퓟" "퓟") (merge-rule "í“ " "퓠") (merge-rule "í“¡" "퓡") (merge-rule "í“¢" "퓢") (merge-rule "í“£" "퓣") (merge-rule "퓤" "퓤") (merge-rule "í“¥" "퓥") (merge-rule "퓦" "á„‘á…±á‡") (merge-rule "í“§" "퓧") (merge-rule "퓨" "á„‘á…²~b") (merge-rule "í“©" "퓩") (merge-rule "퓪" "퓪") (merge-rule "í“«" "퓫") (merge-rule "퓬" "퓬") (merge-rule "í“­" "퓭") (merge-rule "í“®" "퓮") (merge-rule "퓯" "퓯") (merge-rule "í“°" "퓰") (merge-rule "퓱" "퓱") (merge-rule "퓲" "퓲") (merge-rule "퓳" "퓳") (merge-rule "í“´" "퓴") (merge-rule "퓵" "퓵") (merge-rule "í“¶" "퓶") (merge-rule "í“·" "퓷") (merge-rule "퓸" "퓸") (merge-rule "퓹" "퓹") (merge-rule "퓺" "퓺") (merge-rule "í“»" "퓻") (merge-rule "퓼" "퓼") (merge-rule "퓽" "퓽") (merge-rule "퓾" "퓾") (merge-rule "í“¿" "퓿") (merge-rule "픀" "픀") (merge-rule "í”" "픁") (merge-rule "픂" "á„‘á…²á‡") (merge-rule "픃" "픃") (merge-rule "프" "á„‘á…³~b") (merge-rule "í”…" "픅") (merge-rule "픆" "픆") (merge-rule "픇" "픇") (merge-rule "픈" "픈") (merge-rule "픉" "픉") (merge-rule "픊" "픊") (merge-rule "픋" "픋") (merge-rule "플" "플") (merge-rule "í”" "픍") (merge-rule "픎" "픎") (merge-rule "í”" "픏") (merge-rule "í”" "픐") (merge-rule "픑" "픑") (merge-rule "í”’" "픒") (merge-rule "픓" "픓") (merge-rule "í””" "픔") (merge-rule "픕" "픕") (merge-rule "í”–" "픖") (merge-rule "í”—" "픗") (merge-rule "픘" "픘") (merge-rule "í”™" "픙") (merge-rule "픚" "픚") (merge-rule "í”›" "픛") (merge-rule "픜" "픜") (merge-rule "í”" "픝") (merge-rule "픞" "á„‘á…³á‡") (merge-rule "픟" "픟") (merge-rule "í” " "á„‘á…´~b") (merge-rule "픡" "픡") (merge-rule "픢" "픢") (merge-rule "픣" "픣") (merge-rule "픤" "픤") (merge-rule "픥" "픥") (merge-rule "픦" "픦") (merge-rule "í”§" "픧") (merge-rule "픨" "픨") (merge-rule "픩" "픩") (merge-rule "픪" "픪") (merge-rule "픫" "픫") (merge-rule "픬" "픬") (merge-rule "í”­" "픭") (merge-rule "í”®" "픮") (merge-rule "픯" "픯") (merge-rule "í”°" "픰") (merge-rule "í”±" "픱") (merge-rule "픲" "픲") (merge-rule "픳" "픳") (merge-rule "í”´" "픴") (merge-rule "픵" "픵") (merge-rule "í”¶" "픶") (merge-rule "í”·" "픷") (merge-rule "픸" "픸") (merge-rule "픹" "픹") (merge-rule "픺" "á„‘á…´á‡") (merge-rule "í”»" "픻") (merge-rule "피" "á„‘á…µ~b") (merge-rule "픽" "픽") (merge-rule "픾" "픾") (merge-rule "픿" "픿") (merge-rule "í•€" "핀") (merge-rule "í•" "핁") (merge-rule "í•‚" "핂") (merge-rule "핃" "핃") (merge-rule "í•„" "필") (merge-rule "í•…" "핅") (merge-rule "핆" "핆") (merge-rule "핇" "핇") (merge-rule "핈" "핈") (merge-rule "핉" "핉") (merge-rule "핊" "핊") (merge-rule "í•‹" "핋") (merge-rule "핌" "핌") (merge-rule "í•" "핍") (merge-rule "핎" "핎") (merge-rule "í•" "핏") (merge-rule "í•" "핐") (merge-rule "í•‘" "핑") (merge-rule "í•’" "핒") (merge-rule "í•“" "핓") (merge-rule "í•”" "핔") (merge-rule "í••" "핕") (merge-rule "í•–" "á„‘á…µá‡") (merge-rule "í•—" "핗") (merge-rule "하" "á„’á…¡~b") (merge-rule "í•™" "학") (merge-rule "핚" "핚") (merge-rule "í•›" "핛") (merge-rule "한" "한") (merge-rule "í•" "핝") (merge-rule "핞" "핞") (merge-rule "핟" "핟") (merge-rule "í• " "할") (merge-rule "í•¡" "핡") (merge-rule "í•¢" "핢") (merge-rule "í•£" "핣") (merge-rule "핤" "핤") (merge-rule "í•¥" "핥") (merge-rule "핦" "핦") (merge-rule "í•§" "핧") (merge-rule "함" "함") (merge-rule "í•©" "합") (merge-rule "핪" "핪") (merge-rule "í•«" "핫") (merge-rule "핬" "핬") (merge-rule "í•­" "항") (merge-rule "í•®" "핮") (merge-rule "핯" "핯") (merge-rule "í•°" "핰") (merge-rule "핱" "핱") (merge-rule "핲" "á„’á…¡á‡") (merge-rule "핳" "핳") (merge-rule "í•´" "á„’á…¢~b") (merge-rule "핵" "핵") (merge-rule "í•¶" "핶") (merge-rule "í•·" "핷") (merge-rule "핸" "핸") (merge-rule "핹" "핹") (merge-rule "핺" "핺") (merge-rule "í•»" "핻") (merge-rule "핼" "핼") (merge-rule "핽" "핽") (merge-rule "핾" "핾") (merge-rule "í•¿" "핿") (merge-rule "í–€" "햀") (merge-rule "í–" "햁") (merge-rule "í–‚" "햂") (merge-rule "í–ƒ" "햃") (merge-rule "í–„" "햄") (merge-rule "í–…" "햅") (merge-rule "í–†" "햆") (merge-rule "í–‡" "햇") (merge-rule "í–ˆ" "했") (merge-rule "í–‰" "행") (merge-rule "í–Š" "햊") (merge-rule "í–‹" "햋") (merge-rule "í–Œ" "햌") (merge-rule "í–" "햍") (merge-rule "í–Ž" "á„’á…¢á‡") (merge-rule "í–" "햏") (merge-rule "í–" "á„’á…£~b") (merge-rule "í–‘" "햑") (merge-rule "í–’" "햒") (merge-rule "í–“" "햓") (merge-rule "í–”" "햔") (merge-rule "í–•" "햕") (merge-rule "í––" "햖") (merge-rule "í–—" "햗") (merge-rule "í–˜" "햘") (merge-rule "í–™" "햙") (merge-rule "í–š" "햚") (merge-rule "í–›" "햛") (merge-rule "í–œ" "햜") (merge-rule "í–" "햝") (merge-rule "í–ž" "햞") (merge-rule "í–Ÿ" "햟") (merge-rule "í– " "햠") (merge-rule "í–¡" "햡") (merge-rule "í–¢" "햢") (merge-rule "í–£" "햣") (merge-rule "í–¤" "햤") (merge-rule "í–¥" "향") (merge-rule "í–¦" "햦") (merge-rule "í–§" "햧") (merge-rule "í–¨" "햨") (merge-rule "í–©" "햩") (merge-rule "í–ª" "á„’á…£á‡") (merge-rule "í–«" "햫") (merge-rule "í–¬" "á„’á…¤~b") (merge-rule "í–­" "햭") (merge-rule "í–®" "햮") (merge-rule "í–¯" "햯") (merge-rule "í–°" "햰") (merge-rule "í–±" "햱") (merge-rule "í–²" "햲") (merge-rule "í–³" "햳") (merge-rule "í–´" "햴") (merge-rule "í–µ" "햵") (merge-rule "í–¶" "햶") (merge-rule "í–·" "햷") (merge-rule "í–¸" "햸") (merge-rule "í–¹" "햹") (merge-rule "í–º" "햺") (merge-rule "í–»" "햻") (merge-rule "í–¼" "햼") (merge-rule "í–½" "햽") (merge-rule "í–¾" "햾") (merge-rule "í–¿" "햿") (merge-rule "í—€" "헀") (merge-rule "í—" "헁") (merge-rule "í—‚" "헂") (merge-rule "í—ƒ" "헃") (merge-rule "í—„" "헄") (merge-rule "í—…" "헅") (merge-rule "í—†" "á„’á…¤á‡") (merge-rule "í—‡" "헇") (merge-rule "í—ˆ" "á„’á…¥~b") (merge-rule "í—‰" "헉") (merge-rule "í—Š" "헊") (merge-rule "í—‹" "헋") (merge-rule "í—Œ" "헌") (merge-rule "í—" "헍") (merge-rule "í—Ž" "헎") (merge-rule "í—" "헏") (merge-rule "í—" "헐") (merge-rule "í—‘" "헑") (merge-rule "í—’" "헒") (merge-rule "í—“" "헓") (merge-rule "í—”" "헔") (merge-rule "í—•" "헕") (merge-rule "í—–" "헖") (merge-rule "í——" "헗") (merge-rule "í—˜" "험") (merge-rule "í—™" "헙") (merge-rule "í—š" "헚") (merge-rule "í—›" "헛") (merge-rule "í—œ" "헜") (merge-rule "í—" "헝") (merge-rule "í—ž" "헞") (merge-rule "í—Ÿ" "헟") (merge-rule "í— " "헠") (merge-rule "í—¡" "헡") (merge-rule "í—¢" "á„’á…¥á‡") (merge-rule "í—£" "헣") (merge-rule "í—¤" "á„’á…¦~b") (merge-rule "í—¥" "헥") (merge-rule "í—¦" "헦") (merge-rule "í—§" "헧") (merge-rule "í—¨" "헨") (merge-rule "í—©" "헩") (merge-rule "í—ª" "헪") (merge-rule "í—«" "헫") (merge-rule "í—¬" "헬") (merge-rule "í—­" "헭") (merge-rule "í—®" "헮") (merge-rule "í—¯" "헯") (merge-rule "í—°" "헰") (merge-rule "í—±" "헱") (merge-rule "í—²" "헲") (merge-rule "í—³" "헳") (merge-rule "í—´" "헴") (merge-rule "í—µ" "헵") (merge-rule "í—¶" "헶") (merge-rule "í—·" "헷") (merge-rule "í—¸" "헸") (merge-rule "í—¹" "헹") (merge-rule "í—º" "헺") (merge-rule "í—»" "헻") (merge-rule "í—¼" "헼") (merge-rule "í—½" "헽") (merge-rule "í—¾" "á„’á…¦á‡") (merge-rule "í—¿" "헿") (merge-rule "혀" "á„’á…§~b") (merge-rule "í˜" "혁") (merge-rule "혂" "혂") (merge-rule "혃" "혃") (merge-rule "현" "현") (merge-rule "혅" "혅") (merge-rule "혆" "혆") (merge-rule "혇" "혇") (merge-rule "혈" "혈") (merge-rule "혉" "혉") (merge-rule "혊" "혊") (merge-rule "혋" "혋") (merge-rule "혌" "혌") (merge-rule "í˜" "혍") (merge-rule "혎" "혎") (merge-rule "í˜" "혏") (merge-rule "í˜" "혐") (merge-rule "협" "협") (merge-rule "혒" "혒") (merge-rule "혓" "혓") (merge-rule "혔" "혔") (merge-rule "형" "형") (merge-rule "혖" "혖") (merge-rule "혗" "혗") (merge-rule "혘" "혘") (merge-rule "혙" "혙") (merge-rule "혚" "á„’á…§á‡") (merge-rule "혛" "혛") (merge-rule "혜" "á„’á…¨~b") (merge-rule "í˜" "혝") (merge-rule "혞" "혞") (merge-rule "혟" "혟") (merge-rule "혠" "혠") (merge-rule "혡" "혡") (merge-rule "혢" "혢") (merge-rule "혣" "혣") (merge-rule "혤" "혤") (merge-rule "혥" "혥") (merge-rule "혦" "혦") (merge-rule "혧" "혧") (merge-rule "혨" "혨") (merge-rule "혩" "혩") (merge-rule "혪" "혪") (merge-rule "혫" "혫") (merge-rule "혬" "혬") (merge-rule "혭" "혭") (merge-rule "혮" "혮") (merge-rule "혯" "혯") (merge-rule "혰" "혰") (merge-rule "혱" "혱") (merge-rule "혲" "혲") (merge-rule "혳" "혳") (merge-rule "혴" "혴") (merge-rule "혵" "혵") (merge-rule "혶" "á„’á…¨á‡") (merge-rule "혷" "혷") (merge-rule "호" "á„’á…©~b") (merge-rule "혹" "혹") (merge-rule "혺" "혺") (merge-rule "혻" "혻") (merge-rule "혼" "혼") (merge-rule "혽" "혽") (merge-rule "혾" "혾") (merge-rule "혿" "혿") (merge-rule "홀" "홀") (merge-rule "í™" "홁") (merge-rule "홂" "홂") (merge-rule "홃" "홃") (merge-rule "홄" "홄") (merge-rule "í™…" "홅") (merge-rule "홆" "홆") (merge-rule "홇" "홇") (merge-rule "홈" "홈") (merge-rule "홉" "홉") (merge-rule "홊" "홊") (merge-rule "홋" "홋") (merge-rule "홌" "홌") (merge-rule "í™" "홍") (merge-rule "홎" "홎") (merge-rule "í™" "홏") (merge-rule "í™" "홐") (merge-rule "홑" "홑") (merge-rule "í™’" "á„’á…©á‡") (merge-rule "홓" "홓") (merge-rule "í™”" "á„’á…ª~b") (merge-rule "확" "확") (merge-rule "í™–" "홖") (merge-rule "í™—" "홗") (merge-rule "환" "환") (merge-rule "í™™" "홙") (merge-rule "홚" "홚") (merge-rule "í™›" "홛") (merge-rule "활" "활") (merge-rule "í™" "홝") (merge-rule "홞" "홞") (merge-rule "홟" "홟") (merge-rule "í™ " "홠") (merge-rule "홡" "홡") (merge-rule "홢" "홢") (merge-rule "홣" "홣") (merge-rule "홤" "홤") (merge-rule "홥" "홥") (merge-rule "홦" "홦") (merge-rule "í™§" "홧") (merge-rule "홨" "홨") (merge-rule "황" "황") (merge-rule "홪" "홪") (merge-rule "홫" "홫") (merge-rule "홬" "홬") (merge-rule "í™­" "홭") (merge-rule "í™®" "á„’á…ªá‡") (merge-rule "홯" "홯") (merge-rule "í™°" "á„’á…«~b") (merge-rule "í™±" "홱") (merge-rule "홲" "홲") (merge-rule "홳" "홳") (merge-rule "í™´" "홴") (merge-rule "홵" "홵") (merge-rule "í™¶" "홶") (merge-rule "í™·" "홷") (merge-rule "홸" "홸") (merge-rule "홹" "홹") (merge-rule "홺" "홺") (merge-rule "í™»" "홻") (merge-rule "홼" "홼") (merge-rule "홽" "홽") (merge-rule "홾" "홾") (merge-rule "홿" "홿") (merge-rule "횀" "횀") (merge-rule "íš" "횁") (merge-rule "íš‚" "횂") (merge-rule "횃" "횃") (merge-rule "íš„" "횄") (merge-rule "íš…" "횅") (merge-rule "횆" "횆") (merge-rule "횇" "횇") (merge-rule "횈" "횈") (merge-rule "횉" "횉") (merge-rule "횊" "á„’á…«á‡") (merge-rule "íš‹" "횋") (merge-rule "회" "á„’á…¬~b") (merge-rule "íš" "획") (merge-rule "횎" "횎") (merge-rule "íš" "횏") (merge-rule "íš" "횐") (merge-rule "íš‘" "횑") (merge-rule "íš’" "횒") (merge-rule "íš“" "횓") (merge-rule "íš”" "횔") (merge-rule "íš•" "횕") (merge-rule "íš–" "횖") (merge-rule "íš—" "횗") (merge-rule "횘" "횘") (merge-rule "íš™" "횙") (merge-rule "íšš" "횚") (merge-rule "íš›" "횛") (merge-rule "íšœ" "횜") (merge-rule "íš" "횝") (merge-rule "íšž" "횞") (merge-rule "횟" "횟") (merge-rule "íš " "횠") (merge-rule "íš¡" "횡") (merge-rule "횢" "횢") (merge-rule "횣" "횣") (merge-rule "횤" "횤") (merge-rule "횥" "횥") (merge-rule "횦" "á„’á…¬á‡") (merge-rule "íš§" "횧") (merge-rule "효" "á„’á…­~b") (merge-rule "íš©" "횩") (merge-rule "횪" "횪") (merge-rule "íš«" "횫") (merge-rule "횬" "횬") (merge-rule "íš­" "횭") (merge-rule "íš®" "횮") (merge-rule "횯" "횯") (merge-rule "íš°" "횰") (merge-rule "íš±" "횱") (merge-rule "íš²" "횲") (merge-rule "íš³" "횳") (merge-rule "íš´" "횴") (merge-rule "íšµ" "횵") (merge-rule "íš¶" "횶") (merge-rule "íš·" "횷") (merge-rule "횸" "횸") (merge-rule "íš¹" "횹") (merge-rule "횺" "횺") (merge-rule "íš»" "횻") (merge-rule "íš¼" "횼") (merge-rule "íš½" "횽") (merge-rule "íš¾" "횾") (merge-rule "íš¿" "횿") (merge-rule "훀" "훀") (merge-rule "í›" "훁") (merge-rule "훂" "á„’á…­á‡") (merge-rule "훃" "훃") (merge-rule "후" "á„’á…®~b") (merge-rule "í›…" "훅") (merge-rule "훆" "훆") (merge-rule "훇" "훇") (merge-rule "훈" "훈") (merge-rule "훉" "훉") (merge-rule "훊" "훊") (merge-rule "훋" "훋") (merge-rule "훌" "훌") (merge-rule "í›" "훍") (merge-rule "훎" "훎") (merge-rule "í›" "훏") (merge-rule "í›" "훐") (merge-rule "훑" "훑") (merge-rule "í›’" "훒") (merge-rule "훓" "훓") (merge-rule "í›”" "훔") (merge-rule "훕" "훕") (merge-rule "í›–" "훖") (merge-rule "í›—" "훗") (merge-rule "훘" "훘") (merge-rule "í›™" "훙") (merge-rule "훚" "훚") (merge-rule "í››" "훛") (merge-rule "훜" "훜") (merge-rule "í›" "훝") (merge-rule "훞" "á„’á…®á‡") (merge-rule "훟" "훟") (merge-rule "í› " "á„’á…¯~b") (merge-rule "훡" "훡") (merge-rule "훢" "훢") (merge-rule "훣" "훣") (merge-rule "훤" "훤") (merge-rule "훥" "훥") (merge-rule "훦" "훦") (merge-rule "í›§" "훧") (merge-rule "훨" "훨") (merge-rule "훩" "훩") (merge-rule "훪" "훪") (merge-rule "훫" "훫") (merge-rule "훬" "훬") (merge-rule "í›­" "훭") (merge-rule "í›®" "훮") (merge-rule "훯" "훯") (merge-rule "í›°" "훰") (merge-rule "í›±" "훱") (merge-rule "훲" "훲") (merge-rule "훳" "훳") (merge-rule "í›´" "훴") (merge-rule "훵" "훵") (merge-rule "í›¶" "훶") (merge-rule "í›·" "훷") (merge-rule "훸" "훸") (merge-rule "훹" "훹") (merge-rule "훺" "á„’á…¯á‡") (merge-rule "í›»" "훻") (merge-rule "훼" "á„’á…°~b") (merge-rule "훽" "훽") (merge-rule "훾" "훾") (merge-rule "훿" "훿") (merge-rule "휀" "휀") (merge-rule "íœ" "휁") (merge-rule "휂" "휂") (merge-rule "휃" "휃") (merge-rule "휄" "휄") (merge-rule "휅" "휅") (merge-rule "휆" "휆") (merge-rule "휇" "휇") (merge-rule "휈" "휈") (merge-rule "휉" "휉") (merge-rule "휊" "휊") (merge-rule "휋" "휋") (merge-rule "휌" "휌") (merge-rule "íœ" "휍") (merge-rule "휎" "휎") (merge-rule "íœ" "휏") (merge-rule "íœ" "휐") (merge-rule "휑" "휑") (merge-rule "휒" "휒") (merge-rule "휓" "휓") (merge-rule "휔" "휔") (merge-rule "휕" "휕") (merge-rule "휖" "á„’á…°á‡") (merge-rule "휗" "휗") (merge-rule "휘" "á„’á…±~b") (merge-rule "휙" "휙") (merge-rule "휚" "휚") (merge-rule "휛" "휛") (merge-rule "휜" "휜") (merge-rule "íœ" "휝") (merge-rule "휞" "휞") (merge-rule "휟" "휟") (merge-rule "휠" "휠") (merge-rule "휡" "휡") (merge-rule "휢" "휢") (merge-rule "휣" "휣") (merge-rule "휤" "휤") (merge-rule "휥" "휥") (merge-rule "휦" "휦") (merge-rule "휧" "휧") (merge-rule "휨" "휨") (merge-rule "휩" "휩") (merge-rule "휪" "휪") (merge-rule "휫" "휫") (merge-rule "휬" "휬") (merge-rule "휭" "휭") (merge-rule "휮" "휮") (merge-rule "휯" "휯") (merge-rule "휰" "휰") (merge-rule "휱" "휱") (merge-rule "휲" "á„’á…±á‡") (merge-rule "휳" "휳") (merge-rule "휴" "á„’á…²~b") (merge-rule "휵" "휵") (merge-rule "휶" "휶") (merge-rule "휷" "휷") (merge-rule "휸" "휸") (merge-rule "휹" "휹") (merge-rule "휺" "휺") (merge-rule "휻" "휻") (merge-rule "휼" "휼") (merge-rule "휽" "휽") (merge-rule "휾" "휾") (merge-rule "휿" "휿") (merge-rule "í€" "흀") (merge-rule "í" "흁") (merge-rule "í‚" "흂") (merge-rule "íƒ" "흃") (merge-rule "í„" "흄") (merge-rule "í…" "흅") (merge-rule "í†" "흆") (merge-rule "í‡" "흇") (merge-rule "íˆ" "흈") (merge-rule "í‰" "흉") (merge-rule "íŠ" "흊") (merge-rule "í‹" "흋") (merge-rule "íŒ" "흌") (merge-rule "í" "흍") (merge-rule "íŽ" "á„’á…²á‡") (merge-rule "í" "흏") (merge-rule "í" "á„’á…³~b") (merge-rule "í‘" "흑") (merge-rule "í’" "흒") (merge-rule "í“" "흓") (merge-rule "í”" "흔") (merge-rule "í•" "흕") (merge-rule "í–" "흖") (merge-rule "í—" "흗") (merge-rule "í˜" "흘") (merge-rule "í™" "흙") (merge-rule "íš" "흚") (merge-rule "í›" "흛") (merge-rule "íœ" "흜") (merge-rule "í" "흝") (merge-rule "íž" "흞") (merge-rule "íŸ" "흟") (merge-rule "í " "흠") (merge-rule "í¡" "흡") (merge-rule "í¢" "흢") (merge-rule "í£" "흣") (merge-rule "í¤" "흤") (merge-rule "í¥" "흥") (merge-rule "í¦" "흦") (merge-rule "í§" "흧") (merge-rule "í¨" "흨") (merge-rule "í©" "흩") (merge-rule "íª" "á„’á…³á‡") (merge-rule "í«" "흫") (merge-rule "í¬" "á„’á…´~b") (merge-rule "í­" "흭") (merge-rule "í®" "흮") (merge-rule "í¯" "흯") (merge-rule "í°" "흰") (merge-rule "í±" "흱") (merge-rule "í²" "흲") (merge-rule "í³" "흳") (merge-rule "í´" "흴") (merge-rule "íµ" "흵") (merge-rule "í¶" "흶") (merge-rule "í·" "흷") (merge-rule "í¸" "흸") (merge-rule "í¹" "흹") (merge-rule "íº" "흺") (merge-rule "í»" "흻") (merge-rule "í¼" "흼") (merge-rule "í½" "흽") (merge-rule "í¾" "흾") (merge-rule "í¿" "흿") (merge-rule "힀" "힀") (merge-rule "íž" "힁") (merge-rule "íž‚" "힂") (merge-rule "힃" "힃") (merge-rule "íž„" "힄") (merge-rule "íž…" "힅") (merge-rule "힆" "á„’á…´á‡") (merge-rule "힇" "힇") (merge-rule "히" "á„’á…µ~b") (merge-rule "힉" "힉") (merge-rule "힊" "힊") (merge-rule "íž‹" "힋") (merge-rule "힌" "힌") (merge-rule "íž" "힍") (merge-rule "힎" "힎") (merge-rule "íž" "힏") (merge-rule "íž" "힐") (merge-rule "íž‘" "힑") (merge-rule "íž’" "힒") (merge-rule "íž“" "힓") (merge-rule "íž”" "힔") (merge-rule "íž•" "힕") (merge-rule "íž–" "힖") (merge-rule "íž—" "힗") (merge-rule "힘" "힘") (merge-rule "íž™" "힙") (merge-rule "ížš" "힚") (merge-rule "íž›" "힛") (merge-rule "ížœ" "힜") (merge-rule "íž" "힝") (merge-rule "ížž" "힞") (merge-rule "힟" "힟") (merge-rule "íž " "힠") (merge-rule "íž¡" "힡") (merge-rule "힢" "á„’á…µá‡") (merge-rule "힣" "힣") (merge-rule "一" "일") (merge-rule "ä¸" "정") (merge-rule "七" "칠") (merge-rule "万" "만") (merge-rule "丈" "장") (merge-rule "三" "삼") (merge-rule "上" "상") (merge-rule "下" "á„’á…¡~b") (merge-rule "ä¸" "부~b") (merge-rule "丑" "축") (merge-rule "且" "차~b") (merge-rule "丕" "비~b") (merge-rule "世" "세~b") (merge-rule "丘" "구~b") (merge-rule "丙" "병") (merge-rule "丞" "승") (merge-rule "丟" "주~b") (merge-rule "並" "병") (merge-rule "丫" "á„‹á…¡~b") (merge-rule "中" "중") (merge-rule "丰" "봉") (merge-rule "丱" "관") (merge-rule "串" "곶") (merge-rule "丸" "환") (merge-rule "丹" "단") (merge-rule "主" "주~b") (merge-rule "乂" "á„‹á…¨~b") (merge-rule "乃" "á„‚á…¢~b") (merge-rule "ä¹…" "구~b") (merge-rule "之" "지~b") (merge-rule "ä¹" "사~b") (merge-rule "乎" "á„’á…©~b") (merge-rule "ä¹" "핍") (merge-rule "ä¹–" "괴~b") (merge-rule "乘" "승") (merge-rule "ä¹™" "을") (merge-rule "ä¹" "구~b") (merge-rule "乞" "걸") (merge-rule "也" "á„‹á…£~b") (merge-rule "ä¹§" "둘") (merge-rule "乫" "갈") (merge-rule "乬" "걸") (merge-rule "ä¹­" "돌") (merge-rule "ä¹³" "á„‹á…²~b") (merge-rule "ä¹¶" "볼") (merge-rule "ä¹·" "살") (merge-rule "ä¹¼" "줄") (merge-rule "ä¹¾" "건") (merge-rule "亂" "난") (merge-rule "了" "á„…á…­~b") (merge-rule "予" "á„‹á…§~b") (merge-rule "事" "사~b") (merge-rule "二" "á„‹á…µ~b") (merge-rule "于" "á„‹á…®~b") (merge-rule "äº" "á„‹á…®~b") (merge-rule "äº" "울") (merge-rule "云" "운") (merge-rule "互" "á„’á…©~b") (merge-rule "五" "á„‹á…©~b") (merge-rule "井" "정") (merge-rule "亘" "긍") (merge-rule "亙" "긍") (merge-rule "些" "사~b") (merge-rule "亞" "á„‹á…¡~b") (merge-rule "亟" "극") (merge-rule "亡" "망") (merge-rule "亢" "항") (merge-rule "交" "교~b") (merge-rule "亥" "á„’á…¢~b") (merge-rule "亦" "역") (merge-rule "亨" "형") (merge-rule "享" "향") (merge-rule "京" "경") (merge-rule "亭" "정") (merge-rule "亮" "량") (merge-rule "亳" "박") (merge-rule "亴" "á„‹á…®~b") (merge-rule "亶" "단") (merge-rule "亹" "미~b") (merge-rule "人" "인") (merge-rule "什" "십") (merge-rule "ä»" "인") (merge-rule "仄" "측") (merge-rule "仆" "부~b") (merge-rule "仇" "구~b") (merge-rule "今" "금") (merge-rule "介" "개~b") (merge-rule "ä»" "잉") (merge-rule "ä»”" "자~b") (merge-rule "仕" "사~b") (merge-rule "ä»–" "á„á…¡~b") (merge-rule "ä»—" "장") (merge-rule "付" "부~b") (merge-rule "ä»™" "선") (merge-rule "ä»" "동") (merge-rule "仞" "인") (merge-rule "仟" "천") (merge-rule "仡" "흘") (merge-rule "代" "대~b") (merge-rule "令" "령") (merge-rule "以" "á„‹á…µ~b") (merge-rule "ä»®" "가~b") (merge-rule "ä»°" "앙") (merge-rule "仲" "중") (merge-rule "仳" "비~b") (merge-rule "仵" "á„‹á…©~b") (merge-rule "ä»¶" "건") (merge-rule "ä»·" "개~b") (merge-rule "ä»»" "임") (merge-rule "仿" "방") (merge-rule "ä¼€" "종") (merge-rule "ä¼" "기~b") (merge-rule "伉" "항") (merge-rule "伊" "á„‹á…µ~b") (merge-rule "伋" "급") (merge-rule "ä¼" "á„‹á…©~b") (merge-rule "伎" "기~b") (merge-rule "ä¼" "복") (merge-rule "ä¼" "벌") (merge-rule "休" "á„’á…²~b") (merge-rule "伯" "백") (merge-rule "ä¼°" "고~b") (merge-rule "ä¼´" "반") (merge-rule "ä¼¶" "령") (merge-rule "伸" "신") (merge-rule "伺" "사~b") (merge-rule "ä¼¼" "사~b") (merge-rule "ä¼½" "가~b") (merge-rule "佂" "정") (merge-rule "佃" "전") (merge-rule "但" "단") (merge-rule "佇" "저~b") (merge-rule "佈" "á„‘á…©~b") (merge-rule "佉" "구~b") (merge-rule "佋" "소~b") (merge-rule "ä½" "á„‹á…±~b") (merge-rule "低" "저~b") (merge-rule "ä½" "주~b") (merge-rule "ä½" "좌~b") (merge-rule "佑" "á„‹á…®~b") (merge-rule "体" "분") (merge-rule "ä½”" "점") (merge-rule "何" "á„’á…¡~b") (merge-rule "ä½–" "필") (merge-rule "ä½—" "á„á…¡~b") (merge-rule "ä½™" "á„‹á…§~b") (merge-rule "佚" "일") (merge-rule "ä½›" "불") (merge-rule "作" "작") (merge-rule "ä½" "구~b") (merge-rule "佞" "녕") (merge-rule "佟" "á„ᅮᆼ") (merge-rule "佩" "á„‘á…¢~b") (merge-rule "佪" "á„’á…¬~b") (merge-rule "佯" "양") (merge-rule "ä½°" "백") (merge-rule "ä½³" "가~b") (merge-rule "ä½¶" "길") (merge-rule "佸" "괄") (merge-rule "ä½¹" "궤~b") (merge-rule "佺" "전") (merge-rule "ä½»" "조~b") (merge-rule "ä½¼" "교~b") (merge-rule "ä½½" "차~b") (merge-rule "ä½¾" "일") (merge-rule "使" "사~b") (merge-rule "ä¾" "신") (merge-rule "侃" "간") (merge-rule "侄" "질") (merge-rule "來" "á„‚á…¢~b") (merge-rule "侈" "치~b") (merge-rule "侉" "과~b") (merge-rule "侊" "광") (merge-rule "例" "á„…á…¨~b") (merge-rule "ä¾" "시~b") (merge-rule "ä¾" "주~b") (merge-rule "侑" "á„‹á…²~b") (merge-rule "ä¾”" "모~b") (merge-rule "ä¾–" "륜") (merge-rule "ä¾—" "동") (merge-rule "侘" "차~b") (merge-rule "侚" "순") (merge-rule "ä¾›" "공") (merge-rule "侜" "주~b") (merge-rule "ä¾" "á„‹á…´~b") (merge-rule "ä¾®" "모~b") (merge-rule "侯" "á„’á…®~b") (merge-rule "ä¾²" "진") (merge-rule "ä¾µ" "침") (merge-rule "ä¾¶" "á„…á…§~b") (merge-rule "ä¾»" "á„ᅡᆯ") (merge-rule "便" "변") (merge-rule "ä¿" "á„‹á…®~b") (merge-rule "ä¿‚" "계~b") (merge-rule "促" "촉") (merge-rule "ä¿„" "á„‹á…¡~b") (merge-rule "ä¿…" "구~b") (merge-rule "俉" "á„‹á…©~b") (merge-rule "俊" "준") (merge-rule "俌" "보~b") (merge-rule "俎" "조~b") (merge-rule "ä¿" "소~b") (merge-rule "ä¿" "á„…á…µ~b") (merge-rule "ä¿‘" "용") (merge-rule "ä¿“" "경") (merge-rule "ä¿”" "현") (merge-rule "ä¿—" "속") (merge-rule "俘" "부~b") (merge-rule "俚" "á„…á…µ~b") (merge-rule "ä¿›" "면") (merge-rule "ä¿" "보~b") (merge-rule "俟" "사~b") (merge-rule "ä¿ " "협") (merge-rule "ä¿¡" "신") (merge-rule "ä¿£" "á„‹á…©~b") (merge-rule "ä¿®" "수~b") (merge-rule "俯" "부~b") (merge-rule "ä¿°" "á„’á…ª~b") (merge-rule "俱" "구~b") (merge-rule "俳" "배~b") (merge-rule "ä¿´" "천") (merge-rule "俵" "á„‘á…­~b") (merge-rule "ä¿¶" "숙") (merge-rule "俸" "봉") (merge-rule "俺" "엄") (merge-rule "俾" "비~b") (merge-rule "倀" "창") (merge-rule "倂" "병") (merge-rule "倅" "쉬~b") (merge-rule "倆" "량") (merge-rule "倉" "창") (merge-rule "個" "개~b") (merge-rule "å€" "배~b") (merge-rule "å€" "숙") (merge-rule "們" "문") (merge-rule "倒" "도~b") (merge-rule "倔" "굴") (merge-rule "倖" "행") (merge-rule "倘" "당") (merge-rule "候" "á„’á…®~b") (merge-rule "倚" "á„‹á…´~b") (merge-rule "倜" "척") (merge-rule "倞" "경") (merge-rule "借" "차~b") (merge-rule "倡" "창") (merge-rule "倢" "첩") (merge-rule "倣" "방") (merge-rule "値" "치~b") (merge-rule "倥" "공") (merge-rule "倦" "권") (merge-rule "倧" "종") (merge-rule "倨" "거~b") (merge-rule "倩" "천") (merge-rule "倪" "á„‹á…¨~b") (merge-rule "倫" "륜") (merge-rule "倬" "á„ᅡᆨ") (merge-rule "倭" "á„‹á…«~b") (merge-rule "倮" "á„…á…¡~b") (merge-rule "倰" "릉") (merge-rule "倻" "á„‹á…£~b") (merge-rule "åƒ" "언") (merge-rule "å„" "난") (merge-rule "å‡" "가~b") (merge-rule "åˆ" "게~b") (merge-rule "å‰" "á„‹á…±~b") (merge-rule "åŠ" "á„‹á…®~b") (merge-rule "åŽ" "á„‹á…¬~b") (merge-rule "å" "편") (merge-rule "å“" "악") (merge-rule "å•" "á„’á…¢~b") (merge-rule "å–" "차~b") (merge-rule "å˜" "간") (merge-rule "åš" "주~b") (merge-rule "åœ" "정") (merge-rule "å " "á„‹á…­~b") (merge-rule "å¢" "초~b") (merge-rule "å¥" "건") (merge-rule "åª" "핍") (merge-rule "å°" "설") (merge-rule "å²" "시~b") (merge-rule "å´" "측") (merge-rule "åµ" "정") (merge-rule "å¶" "á„‹á…®~b") (merge-rule "å¸" "á„á…®~b") (merge-rule "å‚€" "괴~b") (merge-rule "å‚…" "부~b") (merge-rule "å‚‹" "강") (merge-rule "å‚" "방") (merge-rule "å‚‘" "걸") (merge-rule "å‚’" "á„’á…¨~b") (merge-rule "å‚”" "겸") (merge-rule "å‚–" "창") (merge-rule "傘" "산") (merge-rule "å‚™" "비~b") (merge-rule "傚" "á„’á…­~b") (merge-rule "å‚›" "용") (merge-rule "å‚" "á„ᅡᆸ") (merge-rule "傞" "사~b") (merge-rule "å‚¢" "가~b") (merge-rule "催" "최~b") (merge-rule "å‚­" "용") (merge-rule "å‚®" "조~b") (merge-rule "傲" "á„‹á…©~b") (merge-rule "傳" "전") (merge-rule "å‚´" "구~b") (merge-rule "債" "채~b") (merge-rule "å‚·" "상") (merge-rule "傽" "장") (merge-rule "傾" "경") (merge-rule "å‚¿" "언") (merge-rule "僂" "á„…á…®~b") (merge-rule "僄" "á„‘á…­~b") (merge-rule "僅" "근") (merge-rule "僉" "첨") (merge-rule "僊" "선") (merge-rule "åƒ" "상") (merge-rule "僑" "교~b") (merge-rule "僕" "복") (merge-rule "僖" "á„’á…´~b") (merge-rule "僚" "á„…á…­~b") (merge-rule "僛" "기~b") (merge-rule "僞" "á„‹á…±~b") (merge-rule "僢" "천") (merge-rule "僥" "á„‹á…­~b") (merge-rule "僦" "추~b") (merge-rule "僧" "승") (merge-rule "僩" "한") (merge-rule "僬" "초~b") (merge-rule "僭" "참") (merge-rule "僮" "동") (merge-rule "僵" "강") (merge-rule "價" "가~b") (merge-rule "僻" "벽") (merge-rule "僾" "á„‹á…¢~b") (merge-rule "僿" "사~b") (merge-rule "å„€" "á„‹á…´~b") (merge-rule "å„" "준") (merge-rule "å„‚" "농") (merge-rule "儃" "천") (merge-rule "å„„" "억") (merge-rule "儆" "경") (merge-rule "儇" "현") (merge-rule "儉" "검") (merge-rule "å„‹" "담") (merge-rule "å„" "빈") (merge-rule "å„’" "á„‹á…²~b") (merge-rule "å„“" "대~b") (merge-rule "å„”" "주~b") (merge-rule "å„•" "제~b") (merge-rule "å„—" "á„‹á…´~b") (merge-rule "儘" "진") (merge-rule "儚" "맹") (merge-rule "å„›" "무~b") (merge-rule "儜" "녕") (merge-rule "償" "상") (merge-rule "å„¡" "á„…á…¬~b") (merge-rule "å„¢" "á„…á…§~b") (merge-rule "儤" "á„‘á…©~b") (merge-rule "å„¥" "육") (merge-rule "å„§" "찬") (merge-rule "優" "á„‹á…®~b") (merge-rule "å„«" "á„’á…©~b") (merge-rule "儱" "롱") (merge-rule "儲" "저~b") (merge-rule "儳" "참") (merge-rule "儵" "숙") (merge-rule "å„·" "á„…á…§~b") (merge-rule "儹" "찬") (merge-rule "儺" "á„‚á…¡~b") (merge-rule "å„»" "당") (merge-rule "儼" "엄") (merge-rule "å…€" "올") (merge-rule "å…" "윤") (merge-rule "å…ƒ" "원") (merge-rule "å…„" "형") (merge-rule "å……" "충") (merge-rule "å…†" "조~b") (merge-rule "å…‡" "흉") (merge-rule "å…ˆ" "선") (merge-rule "å…‰" "광") (merge-rule "å…‹" "극") (merge-rule "å…Œ" "á„á…¢~b") (merge-rule "å…" "면") (merge-rule "å…Ž" "á„á…©~b") (merge-rule "å…’" "á„‹á…¡~b") (merge-rule "å…•" "시~b") (merge-rule "å…—" "연") (merge-rule "å…š" "당") (merge-rule "å…œ" "두~b") (merge-rule "å…¢" "긍") (merge-rule "å…¥" "입") (merge-rule "å…§" "á„‚á…¢~b") (merge-rule "å…¨" "전") (merge-rule "å…©" "량") (merge-rule "å…ª" "á„‹á…²~b") (merge-rule "å…«" "팔") (merge-rule "å…¬" "공") (merge-rule "å…­" "륙") (merge-rule "å…®" "á„’á…¨~b") (merge-rule "å…±" "공") (merge-rule "å…µ" "병") (merge-rule "å…¶" "기~b") (merge-rule "å…·" "구~b") (merge-rule "å…¸" "전") (merge-rule "å…¼" "겸") (merge-rule "冀" "기~b") (merge-rule "円" "엔") (merge-rule "冉" "염") (merge-rule "冊" "책") (merge-rule "å†" "재~b") (merge-rule "å†" "경") (merge-rule "冒" "모~b") (merge-rule "冓" "구~b") (merge-rule "冕" "면") (merge-rule "冗" "용") (merge-rule "冘" "á„‹á…²~b") (merge-rule "冠" "관") (merge-rule "冣" "취~b") (merge-rule "冤" "원") (merge-rule "冥" "명") (merge-rule "冪" "멱") (merge-rule "冬" "동") (merge-rule "冰" "빙") (merge-rule "冱" "á„’á…©~b") (merge-rule "冲" "충") (merge-rule "冶" "á„‹á…£~b") (merge-rule "冷" "냉") (merge-rule "冽" "렬") (merge-rule "凄" "처~b") (merge-rule "凅" "고~b") (merge-rule "准" "준") (merge-rule "凉" "량") (merge-rule "凊" "청") (merge-rule "凋" "조~b") (merge-rule "凌" "능") (merge-rule "å‡" "동") (merge-rule "凒" "á„‹á…´~b") (merge-rule "凔" "창") (merge-rule "凛" "름") (merge-rule "凜" "늠") (merge-rule "å‡" "응") (merge-rule "凞" "á„’á…´~b") (merge-rule "几" "궤~b") (merge-rule "凡" "범") (merge-rule "凩" "목") (merge-rule "凭" "빙") (merge-rule "凰" "황") (merge-rule "凱" "개~b") (merge-rule "凳" "등") (merge-rule "凴" "빙") (merge-rule "凶" "흉") (merge-rule "凸" "철") (merge-rule "凹" "á„‹á…­~b") (merge-rule "出" "출") (merge-rule "函" "함") (merge-rule "刀" "도~b") (merge-rule "åˆ" "조~b") (merge-rule "刃" "인") (merge-rule "分" "분") (merge-rule "切" "절") (merge-rule "刈" "á„‹á…¨~b") (merge-rule "刊" "간") (merge-rule "刎" "문") (merge-rule "刑" "형") (merge-rule "刓" "완") (merge-rule "刖" "월") (merge-rule "列" "렬") (merge-rule "åˆ" "초~b") (merge-rule "判" "판") (merge-rule "別" "별") (merge-rule "刦" "겁") (merge-rule "刧" "겁") (merge-rule "利" "á„…á…µ~b") (merge-rule "刪" "산") (merge-rule "刮" "괄") (merge-rule "到" "도~b") (merge-rule "刱" "창") (merge-rule "刲" "규~b") (merge-rule "刳" "고~b") (merge-rule "制" "제~b") (merge-rule "刷" "쇄~b") (merge-rule "券" "권") (merge-rule "刹" "찰") (merge-rule "刺" "자~b") (merge-rule "刻" "각") (merge-rule "剃" "체~b") (merge-rule "剄" "경") (merge-rule "則" "칙") (merge-rule "剉" "좌~b") (merge-rule "削" "삭") (merge-rule "剋" "극") (merge-rule "剌" "랄") (merge-rule "å‰" "전") (merge-rule "剔" "척") (merge-rule "剕" "비~b") (merge-rule "剖" "부~b") (merge-rule "剗" "잔") (merge-rule "剚" "사~b") (merge-rule "剛" "강") (merge-rule "å‰" "박") (merge-rule "剞" "기~b") (merge-rule "剟" "철") (merge-rule "剡" "섬") (merge-rule "剩" "잉") (merge-rule "剪" "전") (merge-rule "副" "부~b") (merge-rule "割" "할") (merge-rule "剴" "개~b") (merge-rule "創" "창") (merge-rule "剷" "산") (merge-rule "剺" "á„…á…µ~b") (merge-rule "剽" "á„‘á…­~b") (merge-rule "剿" "초~b") (merge-rule "劂" "궤~b") (merge-rule "劃" "획") (merge-rule "劇" "극") (merge-rule "劈" "벽") (merge-rule "劉" "á„…á…²~b") (merge-rule "åŠ" "검") (merge-rule "劑" "제~b") (merge-rule "劒" "검") (merge-rule "劓" "á„‹á…´~b") (merge-rule "劗" "찬") (merge-rule "劘" "마~b") (merge-rule "力" "력") (merge-rule "功" "공") (merge-rule "加" "가~b") (merge-rule "劣" "렬") (merge-rule "劤" "근") (merge-rule "助" "조~b") (merge-rule "努" "á„‚á…©~b") (merge-rule "劫" "겁") (merge-rule "劬" "구~b") (merge-rule "劭" "초~b") (merge-rule "劾" "핵") (merge-rule "å‹" "경") (merge-rule "勃" "발") (merge-rule "å‹…" "칙") (merge-rule "勇" "용") (merge-rule "勉" "면") (merge-rule "勌" "권") (merge-rule "å‹" "경") (merge-rule "å‹’" "늑") (merge-rule "å‹•" "동") (merge-rule "å‹–" "욱") (merge-rule "勘" "감") (merge-rule "å‹™" "무~b") (merge-rule "å‹›" "훈") (merge-rule "å‹" "승") (merge-rule "勞" "á„‚á…©~b") (merge-rule "募" "모~b") (merge-rule "å‹ " "륙") (merge-rule "å‹¡" "á„‘á…­~b") (merge-rule "å‹¢" "세~b") (merge-rule "å‹£" "적") (merge-rule "勤" "근") (merge-rule "勦" "초~b") (merge-rule "勳" "훈") (merge-rule "勵" "á„…á…§~b") (merge-rule "勸" "권") (merge-rule "勺" "작") (merge-rule "å‹»" "균") (merge-rule "勾" "구~b") (merge-rule "å‹¿" "물") (merge-rule "åŒ" "문") (merge-rule "匂" "á„‚á…¢~b") (merge-rule "匃" "개~b") (merge-rule "包" "á„‘á…©~b") (merge-rule "匈" "흉") (merge-rule "匊" "국") (merge-rule "匌" "합") (merge-rule "åŒ" "á„‘á…©~b") (merge-rule "åŒ" "á„‘á…©~b") (merge-rule "åŒ" "복") (merge-rule "匕" "비~b") (merge-rule "化" "á„’á…ª~b") (merge-rule "北" "배~b") (merge-rule "匙" "시~b") (merge-rule "匠" "장") (merge-rule "匡" "광") (merge-rule "匣" "갑") (merge-rule "匧" "협") (merge-rule "匪" "비~b") (merge-rule "匯" "á„’á…¬~b") (merge-rule "匱" "궤~b") (merge-rule "匶" "구~b") (merge-rule "匹" "필") (merge-rule "匽" "언") (merge-rule "匾" "편") (merge-rule "匿" "닉") (merge-rule "å€" "구~b") (merge-rule "å" "십") (merge-rule "åƒ" "천") (merge-rule "å„" "입") (merge-rule "å…" "삽") (merge-rule "å‡" "승") (merge-rule "åˆ" "á„‹á…©~b") (merge-rule "å‰" "á„’á…°~b") (merge-rule "åŠ" "반") (merge-rule "å" "만") (merge-rule "å‘" "비~b") (merge-rule "å’" "졸") (merge-rule "å“" "á„ᅡᆨ") (merge-rule "å”" "협") (merge-rule "å—" "남") (merge-rule "åš" "박") (merge-rule "åœ" "복") (merge-rule "åž" "변") (merge-rule "å " "점") (merge-rule "å¡" "잡") (merge-rule "å¦" "괘~b") (merge-rule "å¨" "설") (merge-rule "å¬" "앙") (merge-rule "å®" "치~b") (merge-rule "å¯" "묘~b") (merge-rule "å°" "인") (merge-rule "å±" "á„‹á…±~b") (merge-rule "å²" "소~b") (merge-rule "å³" "즉") (merge-rule "å´" "각") (merge-rule "åµ" "난") (merge-rule "å·" "권") (merge-rule "å¸" "사~b") (merge-rule "å¹" "휼") (merge-rule "åº" "근") (merge-rule "å»" "각") (merge-rule "å½" "즉") (merge-rule "å¾" "악") (merge-rule "å¿" "경") (merge-rule "厄" "액") (merge-rule "厓" "á„‹á…¢~b") (merge-rule "厖" "방") (merge-rule "厘" "á„…á…µ~b") (merge-rule "厚" "á„’á…®~b") (merge-rule "åŽ" "조~b") (merge-rule "原" "원") (merge-rule "厠" "측") (merge-rule "厥" "궐") (merge-rule "厦" "á„’á…¡~b") (merge-rule "厪" "근") (merge-rule "厭" "염") (merge-rule "厮" "시~b") (merge-rule "厲" "á„…á…§~b") (merge-rule "厹" "구~b") (merge-rule "去" "거~b") (merge-rule "åƒ" "삼") (merge-rule "å…" "참") (merge-rule "åˆ" "á„‹á…®~b") (merge-rule "å‰" "차~b") (merge-rule "åŠ" "급") (merge-rule "å‹" "á„‹á…®~b") (merge-rule "å" "반") (merge-rule "å”" "숙") (merge-rule "å–" "취~b") (merge-rule "å—" "수~b") (merge-rule "å›" "반") (merge-rule "åŸ" "수~b") (merge-rule "å¡" "á„‹á…¨~b") (merge-rule "å¢" "총") (merge-rule "å£" "구~b") (merge-rule "å¤" "고~b") (merge-rule "å¥" "구~b") (merge-rule "å¦" "령") (merge-rule "å¨" "도~b") (merge-rule "å©" "고~b") (merge-rule "åª" "지~b") (merge-rule "å«" "규~b") (merge-rule "å¬" "소~b") (merge-rule "å­" "팔") (merge-rule "å®" "정") (merge-rule "å¯" "가~b") (merge-rule "å°" "á„á…¢~b") (merge-rule "å±" "질") (merge-rule "å²" "사~b") (merge-rule "å³" "á„‹á…®~b") (merge-rule "å´" "구~b") (merge-rule "åµ" "á„‘á…¡~b") (merge-rule "å¶" "협") (merge-rule "å¸" "사~b") (merge-rule "å" "á„‹á…®~b") (merge-rule "åƒ" "흘") (merge-rule "å„" "각") (merge-rule "åˆ" "합") (merge-rule "å‰" "길") (merge-rule "åŠ" "적") (merge-rule "å‹" "촌") (merge-rule "åŒ" "동") (merge-rule "å" "명") (merge-rule "åŽ" "á„’á…®~b") (merge-rule "å" "á„…á…µ~b") (merge-rule "å" "á„á…©~b") (merge-rule "å‘" "향") (merge-rule "å›" "군") (merge-rule "å" "린") (merge-rule "åŸ" "음") (merge-rule "å " "á„‘á…¨~b") (merge-rule "å¦" "부~b") (merge-rule "å©" "분") (merge-rule "å«" "함") (merge-rule "å¬" "은") (merge-rule "å®" "전") (merge-rule "å³" "á„‹á…©~b") (merge-rule "å¶" "눌") (merge-rule "å¸" "흡") (merge-rule "å¹" "취~b") (merge-rule "å»" "문") (merge-rule "å¼" "á„’á…®~b") (merge-rule "å½" "á„’á…®~b") (merge-rule "å¾" "á„‹á…©~b") (merge-rule "å‘€" "á„’á…¡~b") (merge-rule "å‘‚" "á„…á…§~b") (merge-rule "呆" "매~b") (merge-rule "呈" "정") (merge-rule "告" "고~b") (merge-rule "呎" "척") (merge-rule "å‘‘" "á„ᅡᆫ") (merge-rule "å‘" "액") (merge-rule "å‘¢" "á„‚á…µ~b") (merge-rule "呤" "령") (merge-rule "呦" "á„‹á…²~b") (merge-rule "周" "주~b") (merge-rule "呪" "주~b") (merge-rule "å‘«" "첩") (merge-rule "å‘°" "자~b") (merge-rule "呱" "고~b") (merge-rule "味" "미~b") (merge-rule "呵" "가~b") (merge-rule "å‘¶" "á„‚á…©~b") (merge-rule "å‘»" "신") (merge-rule "呼" "á„’á…©~b") (merge-rule "命" "명") (merge-rule "å‘¿" "거~b") (merge-rule "å’€" "저~b") (merge-rule "å’„" "돌") (merge-rule "å’†" "á„‘á…©~b") (merge-rule "å’‡" "필") (merge-rule "å’‹" "사~b") (merge-rule "å’Œ" "á„’á…ª~b") (merge-rule "å’" "á„’á…¢~b") (merge-rule "å’Ž" "구~b") (merge-rule "å’" "영") (merge-rule "å’" "부~b") (merge-rule "å’–" "가~b") (merge-rule "å’ " "집") (merge-rule "å’¢" "악") (merge-rule "å’¤" "á„á…¡~b") (merge-rule "å’¥" "á„’á…´~b") (merge-rule "å’¨" "자~b") (merge-rule "å’«" "지~b") (merge-rule "å’¬" "교~b") (merge-rule "å’¯" "각") (merge-rule "å’³" "á„’á…¢~b") (merge-rule "å’¸" "함") (merge-rule "å’»" "á„’á…²~b") (merge-rule "å’¼" "괘~b") (merge-rule "å’½" "열") (merge-rule "å’¿" "á„‹á…µ~b") (merge-rule "å“€" "á„‹á…¢~b") (merge-rule "å“" "품") (merge-rule "å“‚" "신") (merge-rule "哃" "동") (merge-rule "å“„" "홍") (merge-rule "哆" "치~b") (merge-rule "哇" "á„‹á…ª~b") (merge-rule "哈" "합") (merge-rule "哉" "재~b") (merge-rule "å“¡" "원") (merge-rule "å“¥" "가~b") (merge-rule "哦" "á„‹á…¡~b") (merge-rule "哨" "초~b") (merge-rule "å“©" "á„…á…µ~b") (merge-rule "å“­" "곡") (merge-rule "å“®" "á„’á…­~b") (merge-rule "哱" "발") (merge-rule "哲" "철") (merge-rule "哺" "á„‘á…©~b") (merge-rule "哽" "경") (merge-rule "å“¿" "가~b") (merge-rule "唄" "á„‘á…¢~b") (merge-rule "唆" "사~b") (merge-rule "唇" "진") (merge-rule "唉" "á„‹á…¢~b") (merge-rule "唎" "á„…á…µ~b") (merge-rule "å”" "á„’á…´~b") (merge-rule "å”" "당") (merge-rule "å””" "á„‹á…©~b") (merge-rule "唜" "말") (merge-rule "唫" "금") (merge-rule "å”®" "수~b") (merge-rule "唯" "á„‹á…²~b") (merge-rule "å”±" "창") (merge-rule "唳" "á„…á…§~b") (merge-rule "唵" "암") (merge-rule "唼" "삽") (merge-rule "唾" "á„á…¡~b") (merge-rule "å•€" "á„‹á…¢~b") (merge-rule "å•‚" "á„‚á…®~b") (merge-rule "å•„" "á„ᅡᆨ") (merge-rule "商" "상") (merge-rule "å•" "문") (merge-rule "å•“" "계~b") (merge-rule "å•–" "담") (merge-rule "å•—" "담") (merge-rule "啜" "철") (merge-rule "啞" "á„‹á…¡~b") (merge-rule "å•£" "함") (merge-rule "å•»" "시~b") (merge-rule "啼" "제~b") (merge-rule "啽" "암") (merge-rule "啾" "추~b") (merge-rule "å–€" "객") (merge-rule "å–" "옹") (merge-rule "å–ƒ" "남") (merge-rule "å–„" "선") (merge-rule "å–†" "철") (merge-rule "å–‡" "á„‚á…¡~b") (merge-rule "å–‰" "á„’á…®~b") (merge-rule "å–Š" "함") (merge-rule "å–‹" "첩") (merge-rule "å–‘" "음") (merge-rule "å–“" "á„‹á…­~b") (merge-rule "å–”" "악") (merge-rule "å–˜" "천") (merge-rule "å–™" "á„’á…°~b") (merge-rule "å–š" "환") (merge-rule "å–œ" "á„’á…´~b") (merge-rule "å–" "갈") (merge-rule "å–ž" "즉") (merge-rule "å–Ÿ" "á„‹á…±~b") (merge-rule "å–£" "á„’á…®~b") (merge-rule "å–¤" "황") (merge-rule "å–§" "훤") (merge-rule "å–¨" "량") (merge-rule "å–©" "á„‹á…²~b") (merge-rule "å–ª" "상") (merge-rule "å–«" "á„ᅵᆨ") (merge-rule "å–¬" "교~b") (merge-rule "å–®" "단") (merge-rule "å–°" "식") (merge-rule "å—…" "á„’á…®~b") (merge-rule "å—‡" "색") (merge-rule "å—‰" "소~b") (merge-rule "å—‘" "합") (merge-rule "å—”" "진") (merge-rule "å—š" "á„‹á…©~b") (merge-rule "å—›" "겸") (merge-rule "å—œ" "기~b") (merge-rule "å—Ÿ" "차~b") (merge-rule "å— " "락") (merge-rule "å—¢" "올") (merge-rule "å—£" "사~b") (merge-rule "å—¤" "치~b") (merge-rule "å—·" "á„‹á…©~b") (merge-rule "å—½" "수~b") (merge-rule "å—¾" "주~b") (merge-rule "å—¿" "á„ᅡᆷ") (merge-rule "嘄" "교~b") (merge-rule "嘆" "á„ᅡᆫ") (merge-rule "嘈" "조~b") (merge-rule "嘉" "가~b") (merge-rule "嘌" "á„‘á…­~b") (merge-rule "å˜" "á„…á…®~b") (merge-rule "嘎" "알") (merge-rule "å˜" "교~b") (merge-rule "嘒" "á„’á…¨~b") (merge-rule "嘔" "구~b") (merge-rule "嘖" "책") (merge-rule "嘗" "상") (merge-rule "嘩" "á„’á…ª~b") (merge-rule "嘬" "최~b") (merge-rule "嘯" "소~b") (merge-rule "嘲" "조~b") (merge-rule "嘴" "취~b") (merge-rule "嘶" "시~b") (merge-rule "嘷" "á„’á…©~b") (merge-rule "嘸" "무~b") (merge-rule "嘹" "á„…á…­~b") (merge-rule "嘻" "á„’á…´~b") (merge-rule "嘿" "묵") (merge-rule "å™" "á„‹á…©~b") (merge-rule "噂" "준") (merge-rule "噉" "담") (merge-rule "噋" "á„ᅩᆫ") (merge-rule "å™" "초~b") (merge-rule "噎" "열") (merge-rule "å™" "흡") (merge-rule "噓" "á„’á…¥~b") (merge-rule "噤" "금") (merge-rule "噥" "농") (merge-rule "器" "기~b") (merge-rule "噩" "악") (merge-rule "噪" "조~b") (merge-rule "噫" "á„’á…´~b") (merge-rule "噬" "서~b") (merge-rule "å™­" "교~b") (merge-rule "噯" "á„‹á…¢~b") (merge-rule "噲" "á„á…«~b") (merge-rule "å™´" "분") (merge-rule "å™¶" "갈") (merge-rule "噸" "á„ᅩᆫ") (merge-rule "噺" "신") (merge-rule "嚀" "녕") (merge-rule "åš„" "획") (merge-rule "嚆" "á„’á…­~b") (merge-rule "嚇" "á„’á…¡~b") (merge-rule "åš" "체~b") (merge-rule "åš™" "교~b") (merge-rule "åšš" "은") (merge-rule "嚥" "연") (merge-rule "嚬" "빈") (merge-rule "åš®" "향") (merge-rule "åš³" "곡") (merge-rule "åš´" "엄") (merge-rule "åš¶" "앵") (merge-rule "åš¼" "작") (merge-rule "囀" "전") (merge-rule "å›" "섭") (merge-rule "囂" "á„’á…­~b") (merge-rule "囃" "잡") (merge-rule "囈" "á„‹á…¨~b") (merge-rule "囉" "á„…á…¡~b") (merge-rule "囊" "낭") (merge-rule "å›" "á„’á…´~b") (merge-rule "囑" "촉") (merge-rule "囚" "수~b") (merge-rule "å››" "사~b") (merge-rule "回" "á„’á…¬~b") (merge-rule "囟" "신") (merge-rule "å› " "인") (merge-rule "囦" "연") (merge-rule "囫" "홀") (merge-rule "å›®" "á„‹á…ª~b") (merge-rule "å›°" "곤") (merge-rule "å›·" "균") (merge-rule "囹" "령") (merge-rule "固" "고~b") (merge-rule "囿" "á„‹á…²~b") (merge-rule "åœ" "은") (merge-rule "圂" "혼") (merge-rule "圃" "á„‘á…©~b") (merge-rule "圄" "á„‹á…¥~b") (merge-rule "圈" "권") (merge-rule "圉" "á„‹á…¥~b") (merge-rule "圊" "청") (merge-rule "國" "국") (merge-rule "åœ" "á„‹á…±~b") (merge-rule "園" "원") (merge-rule "圓" "원") (merge-rule "圖" "도~b") (merge-rule "團" "단") (merge-rule "圜" "원") (merge-rule "土" "á„á…©~b") (merge-rule "圥" "록") (merge-rule "在" "재~b") (merge-rule "圬" "á„‹á…©~b") (merge-rule "圭" "규~b") (merge-rule "圮" "비~b") (merge-rule "地" "지~b") (merge-rule "圻" "기~b") (merge-rule "圾" "급") (merge-rule "å€" "지~b") (merge-rule "å‚" "판") (merge-rule "å‡" "균") (merge-rule "åŠ" "방") (merge-rule "åŒ" "분") (merge-rule "å" "담") (merge-rule "åŽ" "감") (merge-rule "å" "배~b") (merge-rule "å" "좌~b") (merge-rule "å‘" "갱") (merge-rule "å¡" "á„‘á…¡~b") (merge-rule "å¤" "곤") (merge-rule "å¦" "á„ᅡᆫ") (merge-rule "å§" "척") (merge-rule "å¨" "á„‹á…µ~b") (merge-rule "å©" "감") (merge-rule "åª" "평") (merge-rule "å®" "대~b") (merge-rule "å¯" "배~b") (merge-rule "å°" "경") (merge-rule "å±" "앙") (merge-rule "å³" "á„‹á…­~b") (merge-rule "åµ" "구~b") (merge-rule "å·" "가~b") (merge-rule "å¸" "구~b") (merge-rule "å»" "지~b") (merge-rule "å¼" "á„ᅡᆨ") (merge-rule "åž‚" "수~b") (merge-rule "垈" "대~b") (merge-rule "åž‹" "형") (merge-rule "垌" "동") (merge-rule "åž“" "á„’á…¢~b") (merge-rule "åž•" "á„’á…®~b") (merge-rule "åžž" "á„á…¡~b") (merge-rule "åž " "은") (merge-rule "垢" "구~b") (merge-rule "垣" "원") (merge-rule "垤" "질") (merge-rule "垸" "완") (merge-rule "åž½" "은") (merge-rule "埃" "á„‹á…¢~b") (merge-rule "埆" "각") (merge-rule "埇" "용") (merge-rule "埈" "준") (merge-rule "埉" "협") (merge-rule "埋" "매~b") (merge-rule "城" "성") (merge-rule "åŸ" "연") (merge-rule "埑" "철") (merge-rule "埒" "랄") (merge-rule "埜" "á„‹á…£~b") (merge-rule "域" "역") (merge-rule "埠" "부~b") (merge-rule "埤" "비~b") (merge-rule "埭" "á„á…¢~b") (merge-rule "埰" "채~b") (merge-rule "埳" "감") (merge-rule "埴" "식") (merge-rule "執" "집") (merge-rule "培" "배~b") (merge-rule "基" "기~b") (merge-rule "埻" "준") (merge-rule "埼" "기~b") (merge-rule "埽" "소~b") (merge-rule "å €" "굴") (merge-rule "å ‚" "당") (merge-rule "å ƒ" "곤") (merge-rule "å …" "견") (merge-rule "å †" "á„á…¬~b") (merge-rule "å ˆ" "강") (merge-rule "å ‰" "육") (merge-rule "å Š" "악") (merge-rule "å ‹" "붕") (merge-rule "å —" "돌") (merge-rule "å ™" "인") (merge-rule "å " "과~b") (merge-rule "å ž" "첩") (merge-rule "å  " "á„’á…®~b") (merge-rule "å ¡" "보~b") (merge-rule "å £" "á„‹á…®~b") (merge-rule "å ¤" "제~b") (merge-rule "å ¦" "계~b") (merge-rule "å §" "연") (merge-rule "å ª" "감") (merge-rule "å ¯" "á„‹á…­~b") (merge-rule "å °" "언") (merge-rule "å ±" "보~b") (merge-rule "å ´" "장") (merge-rule "å µ" "도~b") (merge-rule "å º" "계~b") (merge-rule "å¡€" "병") (merge-rule "塉" "척") (merge-rule "塊" "괴~b") (merge-rule "å¡‹" "영") (merge-rule "塌" "á„ᅡᆸ") (merge-rule "å¡" "승") (merge-rule "å¡" "개~b") (merge-rule "å¡" "소~b") (merge-rule "å¡‘" "소~b") (merge-rule "å¡’" "시~b") (merge-rule "å¡”" "á„ᅡᆸ") (merge-rule "å¡—" "도~b") (merge-rule "塘" "당") (merge-rule "å¡™" "고~b") (merge-rule "塚" "총") (merge-rule "塞" "새~b") (merge-rule "å¡¡" "전") (merge-rule "å¡¢" "á„‹á…©~b") (merge-rule "塤" "훈") (merge-rule "å¡©" "염") (merge-rule "塵" "진") (merge-rule "塹" "참") (merge-rule "塼" "전") (merge-rule "塽" "상") (merge-rule "塾" "숙") (merge-rule "墀" "지~b") (merge-rule "å¢" "만") (merge-rule "境" "경") (merge-rule "墅" "서~b") (merge-rule "墉" "용") (merge-rule "墊" "점") (merge-rule "å¢" "기~b") (merge-rule "å¢" "근") (merge-rule "墓" "묘~b") (merge-rule "墜" "추~b") (merge-rule "å¢" "á„‹á…­~b") (merge-rule "增" "증") (merge-rule "墟" "á„’á…¥~b") (merge-rule "墡" "선") (merge-rule "墣" "복") (merge-rule "墨" "묵") (merge-rule "墩" "돈") (merge-rule "墫" "준") (merge-rule "墮" "á„á…¡~b") (merge-rule "墰" "담") (merge-rule "墱" "등") (merge-rule "墳" "분") (merge-rule "墺" "á„‹á…©~b") (merge-rule "墻" "장") (merge-rule "墾" "간") (merge-rule "å£" "벽") (merge-rule "壃" "강") (merge-rule "壅" "옹") (merge-rule "壇" "단") (merge-rule "壎" "훈") (merge-rule "壑" "학") (merge-rule "壓" "압") (merge-rule "壔" "도~b") (merge-rule "壕" "á„’á…©~b") (merge-rule "壘" "á„‚á…®~b") (merge-rule "壙" "광") (merge-rule "壚" "á„…á…©~b") (merge-rule "壜" "담") (merge-rule "å£" "á„‹á…²~b") (merge-rule "壞" "괴~b") (merge-rule "壟" "농") (merge-rule "壤" "양") (merge-rule "士" "사~b") (merge-rule "壬" "임") (merge-rule "壯" "장") (merge-rule "壹" "일") (merge-rule "壺" "á„’á…©~b") (merge-rule "壻" "서~b") (merge-rule "壽" "수~b") (merge-rule "夆" "봉") (merge-rule "夈" "재~b") (merge-rule "å¤" "á„’á…¡~b") (merge-rule "å¤" "형") (merge-rule "夔" "기~b") (merge-rule "夕" "석") (merge-rule "外" "á„‹á…¬~b") (merge-rule "夙" "숙") (merge-rule "多" "다~b") (merge-rule "夜" "á„‹á…£~b") (merge-rule "夢" "몽") (merge-rule "夤" "인") (merge-rule "夥" "과~b") (merge-rule "大" "대~b") (merge-rule "天" "천") (merge-rule "太" "á„á…¢~b") (merge-rule "夫" "부~b") (merge-rule "夬" "á„á…«~b") (merge-rule "夭" "á„‹á…­~b") (merge-rule "央" "앙") (merge-rule "夯" "항") (merge-rule "失" "실") (merge-rule "夷" "á„‹á…µ~b") (merge-rule "夸" "과~b") (merge-rule "夾" "협") (merge-rule "奄" "엄") (merge-rule "奇" "기~b") (merge-rule "奈" "á„‚á…¡~b") (merge-rule "奉" "봉") (merge-rule "奎" "규~b") (merge-rule "å¥" "주~b") (merge-rule "å¥" "환") (merge-rule "契" "계~b") (merge-rule "奓" "차~b") (merge-rule "奔" "분") (merge-rule "奕" "혁") (merge-rule "套" "á„á…®~b") (merge-rule "奘" "장") (merge-rule "奚" "á„’á…¢~b") (merge-rule "奠" "전") (merge-rule "奢" "사~b") (merge-rule "奧" "á„‹á…©~b") (merge-rule "奩" "렴") (merge-rule "奪" "á„ᅡᆯ") (merge-rule "奫" "윤") (merge-rule "奬" "장") (merge-rule "奭" "석") (merge-rule "奮" "분") (merge-rule "女" "á„‚á…§~b") (merge-rule "奴" "á„‚á…©~b") (merge-rule "奶" "á„‚á…¢~b") (merge-rule "奸" "간") (merge-rule "好" "á„’á…©~b") (merge-rule "如" "á„‹á…§~b") (merge-rule "妃" "비~b") (merge-rule "妄" "망") (merge-rule "妊" "임") (merge-rule "妑" "á„‘á…¡~b") (merge-rule "妒" "á„á…®~b") (merge-rule "妓" "기~b") (merge-rule "妖" "á„‹á…­~b") (merge-rule "妗" "금") (merge-rule "妙" "묘~b") (merge-rule "å¦" "장") (merge-rule "妣" "비~b") (merge-rule "妥" "á„á…¡~b") (merge-rule "妧" "완") (merge-rule "妨" "방") (merge-rule "妬" "á„á…®~b") (merge-rule "妯" "축") (merge-rule "妲" "달") (merge-rule "妹" "매~b") (merge-rule "妻" "처~b") (merge-rule "妾" "첩") (merge-rule "姃" "정") (merge-rule "姆" "모~b") (merge-rule "姈" "령") (merge-rule "姉" "자~b") (merge-rule "å§‹" "시~b") (merge-rule "å§" "산") (merge-rule "å§" "저~b") (merge-rule "å§‘" "고~b") (merge-rule "å§’" "사~b") (merge-rule "å§“" "성") (merge-rule "å§”" "á„‹á…±~b") (merge-rule "å§™" "임") (merge-rule "å§š" "á„‹á…­~b") (merge-rule "å§œ" "강") (merge-rule "å§" "주~b") (merge-rule "å§ž" "길") (merge-rule "å§£" "교~b") (merge-rule "姤" "구~b") (merge-rule "å§¥" "모~b") (merge-rule "姦" "간") (merge-rule "姨" "á„‹á…µ~b") (merge-rule "姪" "질") (merge-rule "姬" "á„’á…´~b") (merge-rule "å§®" "항") (merge-rule "姸" "연") (merge-rule "姺" "신") (merge-rule "å§»" "인") (merge-rule "å§¿" "자~b") (merge-rule "å¨" "á„‹á…±~b") (merge-rule "娃" "á„‹á…«~b") (merge-rule "娉" "빙") (merge-rule "娑" "사~b") (merge-rule "娓" "미~b") (merge-rule "娘" "낭") (merge-rule "娙" "형") (merge-rule "娛" "á„‹á…©~b") (merge-rule "娜" "á„‚á…¡~b") (merge-rule "娟" "연") (merge-rule "娠" "신") (merge-rule "娣" "제~b") (merge-rule "娥" "á„‹á…¡~b") (merge-rule "娧" "á„á…¢~b") (merge-rule "娩" "만") (merge-rule "娭" "á„‹á…¢~b") (merge-rule "娵" "추~b") (merge-rule "娶" "취~b") (merge-rule "娼" "창") (merge-rule "娿" "á„‹á…¡~b") (merge-rule "å©€" "á„‹á…¡~b") (merge-rule "å©" "á„…á…®~b") (merge-rule "婆" "á„‘á…¡~b") (merge-rule "婉" "완") (merge-rule "婌" "숙") (merge-rule "å©" "á„‹á…ª~b") (merge-rule "婚" "혼") (merge-rule "å©¢" "비~b") (merge-rule "å©£" "인") (merge-rule "婦" "부~b") (merge-rule "å©§" "정") (merge-rule "婪" "람") (merge-rule "婲" "á„’á…ª~b") (merge-rule "å©·" "정") (merge-rule "å©¿" "서~b") (merge-rule "媄" "미~b") (merge-rule "åª" "부~b") (merge-rule "媒" "매~b") (merge-rule "媓" "황") (merge-rule "媕" "암") (merge-rule "媚" "미~b") (merge-rule "媛" "원") (merge-rule "媟" "설") (merge-rule "媢" "모~b") (merge-rule "媤" "시~b") (merge-rule "媧" "á„‹á…«~b") (merge-rule "媪" "á„‹á…©~b") (merge-rule "媳" "식") (merge-rule "媵" "잉") (merge-rule "媺" "미~b") (merge-rule "媻" "반") (merge-rule "媼" "온") (merge-rule "媽" "마~b") (merge-rule "媾" "구~b") (merge-rule "媿" "괴~b") (merge-rule "å«" "가~b") (merge-rule "å«‚" "수~b") (merge-rule "å«„" "원") (merge-rule "嫈" "앵") (merge-rule "嫉" "질") (merge-rule "å«‹" "á„‚á…­~b") (merge-rule "嫌" "혐") (merge-rule "å«–" "á„‘á…­~b") (merge-rule "å«—" "구~b") (merge-rule "å«™" "선") (merge-rule "嫚" "만") (merge-rule "å«›" "á„‹á…¨~b") (merge-rule "å« " "á„…á…µ~b") (merge-rule "å«¡" "적") (merge-rule "å«¢" "규~b") (merge-rule "å«£" "언") (merge-rule "å«¥" "전") (merge-rule "嫦" "항") (merge-rule "å«©" "눈") (merge-rule "å««" "모~b") (merge-rule "å«­" "á„’á…©~b") (merge-rule "å«®" "á„’á…©~b") (merge-rule "嫯" "á„‹á…©~b") (merge-rule "å«¶" "초~b") (merge-rule "嫺" "한") (merge-rule "å«»" "한") (merge-rule "嫽" "á„…á…­~b") (merge-rule "嬀" "규~b") (merge-rule "嬅" "á„’á…ª~b") (merge-rule "嬈" "á„‹á…­~b") (merge-rule "嬉" "á„’á…´~b") (merge-rule "嬋" "선") (merge-rule "嬌" "교~b") (merge-rule "嬖" "á„‘á…¨~b") (merge-rule "嬙" "장") (merge-rule "嬛" "현") (merge-rule "嬥" "조~b") (merge-rule "嬨" "자~b") (merge-rule "嬪" "빈") (merge-rule "嬭" "á„‚á…¢~b") (merge-rule "嬰" "영") (merge-rule "嬲" "á„‚á…­~b") (merge-rule "嬴" "영") (merge-rule "嬾" "란") (merge-rule "嬿" "연") (merge-rule "å­€" "상") (merge-rule "å­ƒ" "양") (merge-rule "å­…" "섬") (merge-rule "å­Œ" "련") (merge-rule "å­" "자~b") (merge-rule "å­‘" "혈") (merge-rule "å­”" "공") (merge-rule "å­•" "잉") (merge-rule "å­–" "자~b") (merge-rule "å­—" "자~b") (merge-rule "å­˜" "존") (merge-rule "å­š" "부~b") (merge-rule "å­›" "á„‘á…¢~b") (merge-rule "å­œ" "자~b") (merge-rule "å­" "á„’á…­~b") (merge-rule "å­Ÿ" "맹") (merge-rule "å­¡" "á„á…¢~b") (merge-rule "å­£" "계~b") (merge-rule "å­¤" "고~b") (merge-rule "å­¥" "á„‚á…©~b") (merge-rule "å­©" "á„’á…¢~b") (merge-rule "å­«" "손") (merge-rule "å­°" "숙") (merge-rule "å­±" "잔") (merge-rule "å­µ" "부~b") (merge-rule "å­¶" "자~b") (merge-rule "å­¸" "학") (merge-rule "å­º" "á„‹á…²~b") (merge-rule "å­¼" "얼") (merge-rule "å­¿" "산") (merge-rule "å®" "저~b") (merge-rule "宂" "용") (merge-rule "å®…" "댁") (merge-rule "宇" "á„‹á…®~b") (merge-rule "守" "수~b") (merge-rule "安" "안") (merge-rule "宊" "가~b") (merge-rule "宋" "송") (merge-rule "完" "완") (merge-rule "å®" "굉") (merge-rule "宓" "복") (merge-rule "宕" "á„ᅡᆼ") (merge-rule "å®–" "횡") (merge-rule "å®—" "종") (merge-rule "官" "관") (merge-rule "å®™" "주~b") (merge-rule "定" "정") (merge-rule "å®›" "완") (merge-rule "宜" "á„‹á…´~b") (merge-rule "客" "객") (merge-rule "宣" "선") (merge-rule "室" "실") (merge-rule "宥" "á„‹á…²~b") (merge-rule "宦" "환") (merge-rule "宬" "성") (merge-rule "å®®" "궁") (merge-rule "å®°" "재~b") (merge-rule "害" "á„’á…¢~b") (merge-rule "å®´" "연") (merge-rule "宵" "소~b") (merge-rule "å®¶" "가~b") (merge-rule "宸" "신") (merge-rule "容" "용") (merge-rule "宿" "숙") (merge-rule "寀" "채~b") (merge-rule "寂" "적") (merge-rule "寃" "원") (merge-rule "寄" "기~b") (merge-rule "寅" "인") (merge-rule "密" "밀") (merge-rule "寇" "구~b") (merge-rule "富" "부~b") (merge-rule "å¯" "매~b") (merge-rule "寒" "한") (merge-rule "寓" "á„‹á…®~b") (merge-rule "寔" "식") (merge-rule "寖" "침") (merge-rule "寗" "녕") (merge-rule "寘" "치~b") (merge-rule "寞" "막") (merge-rule "察" "찰") (merge-rule "寡" "과~b") (merge-rule "寢" "침") (merge-rule "寤" "á„‹á…©~b") (merge-rule "寥" "á„‹á…­~b") (merge-rule "實" "실") (merge-rule "寧" "녕") (merge-rule "寨" "채~b") (merge-rule "審" "심") (merge-rule "寫" "사~b") (merge-rule "寬" "관") (merge-rule "寭" "á„’á…¨~b") (merge-rule "寮" "á„…á…­~b") (merge-rule "寯" "준") (merge-rule "寰" "환") (merge-rule "寵" "총") (merge-rule "寶" "보~b") (merge-rule "寸" "촌") (merge-rule "寺" "사~b") (merge-rule "å°" "봉") (merge-rule "å°„" "사~b") (merge-rule "å°…" "극") (merge-rule "å°‡" "장") (merge-rule "å°ˆ" "전") (merge-rule "å°‰" "á„‹á…±~b") (merge-rule "å°Š" "존") (merge-rule "å°‹" "심") (merge-rule "å°Œ" "주~b") (merge-rule "å°" "대~b") (merge-rule "å°Ž" "도~b") (merge-rule "å°" "소~b") (merge-rule "å°‘" "소~b") (merge-rule "å°”" "á„‹á…µ~b") (merge-rule "å°–" "첨") (merge-rule "å°™" "상") (merge-rule "å°Ÿ" "선") (merge-rule "å° " "선") (merge-rule "å°¤" "á„‹á…®~b") (merge-rule "å°¨" "방") (merge-rule "å°«" "왕") (merge-rule "å°±" "취~b") (merge-rule "å°¸" "시~b") (merge-rule "å°¹" "윤") (merge-rule "å°º" "척") (merge-rule "å°»" "고~b") (merge-rule "å°¼" "á„‚á…µ~b") (merge-rule "å°¾" "미~b") (merge-rule "å°¿" "á„‚á…­~b") (merge-rule "å±€" "국") (merge-rule "å±" "비~b") (merge-rule "å±…" "거~b") (merge-rule "屆" "계~b") (merge-rule "屇" "전") (merge-rule "屈" "굴") (merge-rule "屋" "옥") (merge-rule "å±" "시~b") (merge-rule "屎" "시~b") (merge-rule "å±" "극") (merge-rule "屑" "설") (merge-rule "展" "전") (merge-rule "å±›" "병") (merge-rule "å± " "도~b") (merge-rule "å±¢" "á„‚á…®~b") (merge-rule "層" "층") (merge-rule "å±¥" "á„…á…µ~b") (merge-rule "屨" "구~b") (merge-rule "屬" "속") (merge-rule "屯" "둔") (merge-rule "å±±" "산") (merge-rule "å±³" "선") (merge-rule "å±¹" "흘") (merge-rule "屺" "기~b") (merge-rule "岈" "á„’á…¡~b") (merge-rule "岊" "절") (merge-rule "岌" "급") (merge-rule "å²" "완") (merge-rule "å²" "기~b") (merge-rule "岑" "잠") (merge-rule "å²’" "겸") (merge-rule "å²”" "차~b") (merge-rule "å²" "작") (merge-rule "岡" "강") (merge-rule "å²£" "구~b") (merge-rule "å²¥" "á„‘á…¡~b") (merge-rule "岦" "립") (merge-rule "å²§" "초~b") (merge-rule "岨" "저~b") (merge-rule "岩" "암") (merge-rule "岪" "불") (merge-rule "岫" "수~b") (merge-rule "岬" "갑") (merge-rule "å²­" "령") (merge-rule "å²±" "대~b") (merge-rule "å²³" "악") (merge-rule "å²µ" "á„’á…©~b") (merge-rule "å²·" "민") (merge-rule "岸" "안") (merge-rule "岺" "령") (merge-rule "å²¾" "점") (merge-rule "å³€" "수~b") (merge-rule "å³’" "동") (merge-rule "å³™" "치~b") (merge-rule "å³ " "상") (merge-rule "峨" "á„‹á…¡~b") (merge-rule "峩" "á„‹á…¡~b") (merge-rule "å³­" "초~b") (merge-rule "峯" "봉") (merge-rule "å³°" "봉") (merge-rule "å³±" "á„‚á…©~b") (merge-rule "å³´" "현") (merge-rule "å³¶" "도~b") (merge-rule "å³»" "준") (merge-rule "å³½" "협") (merge-rule "å´†" "공") (merge-rule "å´‡" "숭") (merge-rule "å´" "á„…á…¢~b") (merge-rule "å´Ž" "기~b") (merge-rule "å´" "곤") (merge-rule "å´‘" "곤") (merge-rule "å´”" "최~b") (merge-rule "å´•" "á„‹á…¢~b") (merge-rule "å´–" "á„‹á…¢~b") (merge-rule "å´—" "강") (merge-rule "å´™" "륜") (merge-rule "å´›" "굴") (merge-rule "å´Ÿ" "음") (merge-rule "å´¢" "쟁") (merge-rule "å´¤" "á„’á…­~b") (merge-rule "å´¦" "엄") (merge-rule "å´§" "숭") (merge-rule "å´©" "붕") (merge-rule "å´´" "á„‹á…¬~b") (merge-rule "å´½" "재~b") (merge-rule "åµ" "감") (merge-rule "嵂" "률") (merge-rule "嵋" "미~b") (merge-rule "嵌" "감") (merge-rule "嵎" "á„‹á…®~b") (merge-rule "åµ" "남") (merge-rule "嵓" "암") (merge-rule "åµ”" "á„‹á…¬~b") (merge-rule "嵩" "숭") (merge-rule "嵬" "á„‹á…¬~b") (merge-rule "嵯" "차~b") (merge-rule "åµ±" "용") (merge-rule "å¶" "á„…á…®~b") (merge-rule "å¶‚" "장") (merge-rule "å¶„" "참") (merge-rule "嶇" "구~b") (merge-rule "å¶‹" "도~b") (merge-rule "å¶’" "증") (merge-rule "å¶”" "금") (merge-rule "å¶•" "초~b") (merge-rule "å¶™" "린") (merge-rule "å¶" "등") (merge-rule "å¶ " "교~b") (merge-rule "å¶¢" "á„‹á…­~b") (merge-rule "å¶§" "역") (merge-rule "嶪" "업") (merge-rule "å¶«" "업") (merge-rule "å¶®" "험") (merge-rule "å¶°" "á„’á…¢~b") (merge-rule "å¶·" "á„‹á…´~b") (merge-rule "嶸" "영") (merge-rule "嶺" "령") (merge-rule "å¶¼" "서~b") (merge-rule "å¶½" "악") (merge-rule "å·‰" "참") (merge-rule "å·‹" "규~b") (merge-rule "å·" "á„‹á…¬~b") (merge-rule "å·‘" "찬") (merge-rule "å·’" "만") (merge-rule "å·“" "전") (merge-rule "å·–" "암") (merge-rule "å·š" "헌") (merge-rule "å·" "천") (merge-rule "å·ž" "주~b") (merge-rule "å·¡" "순") (merge-rule "å·¢" "소~b") (merge-rule "å·¥" "공") (merge-rule "å·¦" "좌~b") (merge-rule "å·§" "교~b") (merge-rule "å·¨" "거~b") (merge-rule "å·«" "무~b") (merge-rule "å·®" "차~b") (merge-rule "å·±" "기~b") (merge-rule "å·²" "á„‹á…µ~b") (merge-rule "å·³" "사~b") (merge-rule "å·´" "á„‘á…¡~b") (merge-rule "å·µ" "치~b") (merge-rule "å··" "항") (merge-rule "å·¹" "근") (merge-rule "å·½" "손") (merge-rule "å·¾" "건") (merge-rule "市" "시~b") (merge-rule "布" "á„‘á…©~b") (merge-rule "帆" "범") (merge-rule "帉" "분") (merge-rule "希" "á„’á…´~b") (merge-rule "帑" "á„ᅡᆼ") (merge-rule "帕" "말") (merge-rule "帖" "첩") (merge-rule "帙" "질") (merge-rule "帚" "추~b") (merge-rule "帛" "백") (merge-rule "å¸" "제~b") (merge-rule "帥" "수~b") (merge-rule "帨" "세~b") (merge-rule "師" "사~b") (merge-rule "席" "석") (merge-rule "帳" "장") (merge-rule "帶" "대~b") (merge-rule "帷" "á„‹á…²~b") (merge-rule "常" "상") (merge-rule "帽" "모~b") (merge-rule "帿" "á„’á…®~b") (merge-rule "å¹€" "정") (merge-rule "幃" "á„‹á…±~b") (merge-rule "幄" "악") (merge-rule "å¹…" "폭") (merge-rule "幇" "방") (merge-rule "幌" "황") (merge-rule "幎" "멱") (merge-rule "å¹”" "만") (merge-rule "幕" "막") (merge-rule "幘" "책") (merge-rule "幞" "복") (merge-rule "幟" "치~b") (merge-rule "幡" "번") (merge-rule "å¹¢" "당") (merge-rule "å¹£" "á„‘á…¨~b") (merge-rule "幨" "첨") (merge-rule "幪" "몽") (merge-rule "幫" "방") (merge-rule "幬" "주~b") (merge-rule "å¹°" "헌") (merge-rule "å¹±" "란") (merge-rule "å¹²" "간") (merge-rule "å¹³" "평") (merge-rule "å¹´" "년") (merge-rule "å¹·" "병") (merge-rule "幸" "행") (merge-rule "å¹¹" "간") (merge-rule "幺" "á„‹á…­~b") (merge-rule "å¹»" "환") (merge-rule "å¹¼" "á„‹á…²~b") (merge-rule "å¹½" "á„‹á…²~b") (merge-rule "å¹¾" "기~b") (merge-rule "广" "엄") (merge-rule "庄" "장") (merge-rule "庇" "비~b") (merge-rule "床" "상") (merge-rule "庋" "기~b") (merge-rule "åº" "서~b") (merge-rule "底" "저~b") (merge-rule "庖" "á„‘á…©~b") (merge-rule "店" "점") (merge-rule "庚" "경") (merge-rule "府" "부~b") (merge-rule "庠" "상") (merge-rule "度" "도~b") (merge-rule "座" "좌~b") (merge-rule "庫" "고~b") (merge-rule "庭" "정") (merge-rule "庳" "비~b") (merge-rule "庵" "암") (merge-rule "庶" "서~b") (merge-rule "康" "강") (merge-rule "庸" "용") (merge-rule "庽" "á„‹á…®~b") (merge-rule "庾" "á„‹á…²~b") (merge-rule "å»" "측") (merge-rule "廂" "상") (merge-rule "廈" "á„’á…¡~b") (merge-rule "廉" "렴") (merge-rule "廊" "낭") (merge-rule "廋" "수~b") (merge-rule "å»" "구~b") (merge-rule "廑" "근") (merge-rule "廓" "곽") (merge-rule "廕" "음") (merge-rule "å»–" "á„…á…­~b") (merge-rule "廚" "주~b") (merge-rule "å»›" "전") (merge-rule "å»" "시~b") (merge-rule "廞" "흠") (merge-rule "廟" "묘~b") (merge-rule "å» " "창") (merge-rule "廡" "무~b") (merge-rule "廢" "á„‘á…¨~b") (merge-rule "廣" "광") (merge-rule "廥" "괴~b") (merge-rule "å»§" "장") (merge-rule "廨" "á„’á…¢~b") (merge-rule "廩" "름") (merge-rule "廬" "á„…á…§~b") (merge-rule "å»±" "옹") (merge-rule "廳" "청") (merge-rule "å»¶" "연") (merge-rule "å»·" "정") (merge-rule "建" "건") (merge-rule "å»»" "á„’á…¬~b") (merge-rule "廿" "입") (merge-rule "å¼" "변") (merge-rule "弃" "기~b") (merge-rule "弄" "농") (merge-rule "弇" "감") (merge-rule "弈" "혁") (merge-rule "弊" "á„‘á…¨~b") (merge-rule "弋" "익") (merge-rule "å¼" "식") (merge-rule "弑" "시~b") (merge-rule "弓" "궁") (merge-rule "å¼”" "조~b") (merge-rule "引" "인") (merge-rule "å¼—" "불") (merge-rule "弘" "홍") (merge-rule "å¼›" "á„‹á…µ~b") (merge-rule "弟" "제~b") (merge-rule "å¼¢" "도~b") (merge-rule "å¼¥" "미~b") (merge-rule "弦" "현") (merge-rule "å¼§" "á„’á…©~b") (merge-rule "弩" "á„‚á…©~b") (merge-rule "å¼­" "미~b") (merge-rule "å¼±" "약") (merge-rule "å¼´" "돈") (merge-rule "å¼µ" "장") (merge-rule "强" "강") (merge-rule "å¼¼" "필") (merge-rule "å½€" "구~b") (merge-rule "彆" "별") (merge-rule "彈" "á„ᅡᆫ") (merge-rule "彊" "강") (merge-rule "彌" "미~b") (merge-rule "彎" "만") (merge-rule "å½”" "록") (merge-rule "å½–" "단") (merge-rule "å½—" "á„’á…¨~b") (merge-rule "彘" "체~b") (merge-rule "å½™" "á„’á…±~b") (merge-rule "å½›" "á„‹á…µ~b") (merge-rule "å½" "á„‹á…µ~b") (merge-rule "å½¢" "형") (merge-rule "彤" "동") (merge-rule "彦" "언") (merge-rule "å½§" "욱") (merge-rule "彩" "채~b") (merge-rule "彪" "á„‘á…­~b") (merge-rule "彫" "조~b") (merge-rule "彬" "빈") (merge-rule "å½­" "팽") (merge-rule "å½°" "창") (merge-rule "å½±" "영") (merge-rule "å½·" "방") (merge-rule "å½¹" "역") (merge-rule "å½¼" "á„‘á…µ~b") (merge-rule "彿" "불") (merge-rule "å¾€" "왕") (merge-rule "å¾" "정") (merge-rule "徂" "조~b") (merge-rule "å¾…" "대~b") (merge-rule "徇" "순") (merge-rule "很" "흔") (merge-rule "徉" "양") (merge-rule "徊" "á„’á…¬~b") (merge-rule "律" "률") (merge-rule "後" "á„’á…®~b") (merge-rule "å¾" "서~b") (merge-rule "徑" "경") (merge-rule "å¾’" "도~b") (merge-rule "å¾—" "득") (merge-rule "徘" "배~b") (merge-rule "å¾™" "사~b") (merge-rule "徜" "상") (merge-rule "從" "종") (merge-rule "å¾ " "á„…á…¢~b") (merge-rule "御" "á„‹á…¥~b") (merge-rule "å¾£" "차~b") (merge-rule "å¾§" "편") (merge-rule "徨" "황") (merge-rule "復" "복") (merge-rule "循" "순") (merge-rule "徬" "방") (merge-rule "å¾­" "á„‹á…­~b") (merge-rule "å¾®" "미~b") (merge-rule "徯" "á„’á…¨~b") (merge-rule "å¾µ" "징") (merge-rule "å¾·" "덕") (merge-rule "å¾¹" "철") (merge-rule "å¾¼" "á„‹á…­~b") (merge-rule "å¾½" "á„’á…±~b") (merge-rule "心" "심") (merge-rule "å¿…" "필") (merge-rule "忉" "도~b") (merge-rule "忌" "기~b") (merge-rule "å¿" "인") (merge-rule "å¿" "á„ᅡᆷ") (merge-rule "å¿’" "á„ᅳᆨ") (merge-rule "å¿–" "촌") (merge-rule "å¿—" "지~b") (merge-rule "忘" "망") (merge-rule "å¿™" "망") (merge-rule "å¿" "첨") (merge-rule "忞" "민") (merge-rule "忟" "민") (merge-rule "å¿ " "충") (merge-rule "å¿¡" "충") (merge-rule "忤" "á„‹á…©~b") (merge-rule "忨" "완") (merge-rule "å¿«" "á„á…«~b") (merge-rule "å¿­" "변") (merge-rule "å¿®" "기~b") (merge-rule "忱" "침") (merge-rule "念" "념") (merge-rule "忸" "á„‚á…²~b") (merge-rule "å¿»" "흔") (merge-rule "忼" "강") (merge-rule "忽" "홀") (merge-rule "å¿¿" "분") (merge-rule "怊" "초~b") (merge-rule "æ€" "작") (merge-rule "æ€" "앙") (merge-rule "怒" "á„‚á…©~b") (merge-rule "怔" "정") (merge-rule "怕" "á„‘á…¡~b") (merge-rule "怖" "á„‘á…©~b") (merge-rule "怗" "첩") (merge-rule "怙" "á„’á…©~b") (merge-rule "怛" "달") (merge-rule "怜" "령") (merge-rule "æ€" "사~b") (merge-rule "怠" "á„á…¢~b") (merge-rule "怡" "á„‹á…µ~b") (merge-rule "急" "급") (merge-rule "怦" "평") (merge-rule "性" "성") (merge-rule "怨" "원") (merge-rule "怩" "á„‚á…µ~b") (merge-rule "怪" "괴~b") (merge-rule "怯" "겁") (merge-rule "怳" "황") (merge-rule "æ" "임") (merge-rule "æ‚" "순") (merge-rule "æƒ" "시~b") (merge-rule "æ†" "항") (merge-rule "æ‡" "광") (merge-rule "æˆ" "모~b") (merge-rule "æŠ" "협") (merge-rule "æ" "황") (merge-rule "æ" "공") (merge-rule "æ’" "항") (merge-rule "æ•" "서~b") (merge-rule "æ™" "양") (merge-rule "æš" "á„‹á…¦~b") (merge-rule "æ" "괄") (merge-rule "æŸ" "흉") (merge-rule "æ " "괴~b") (merge-rule "æ¢" "á„’á…¬~b") (merge-rule "æ£" "자~b") (merge-rule "æ¤" "휼") (merge-rule "æ¥" "치~b") (merge-rule "æ¨" "한") (merge-rule "æ©" "은") (merge-rule "æª" "각") (merge-rule "æ«" "á„ᅩᆼ") (merge-rule "æ¬" "념") (merge-rule "æ­" "공") (merge-rule "æ¯" "식") (merge-rule "æ°" "흡") (merge-rule "æ‚" "연") (merge-rule "悃" "곤") (merge-rule "æ‚„" "초~b") (merge-rule "æ‚…" "열") (merge-rule "悉" "실") (merge-rule "æ‚‹" "린") (merge-rule "悌" "제~b") (merge-rule "æ‚" "한") (merge-rule "æ‚" "협") (merge-rule "æ‚’" "읍") (merge-rule "æ‚”" "á„’á…¬~b") (merge-rule "æ‚•" "á„’á…´~b") (merge-rule "æ‚–" "á„‘á…¢~b") (merge-rule "æ‚—" "문") (merge-rule "悚" "송") (merge-rule "æ‚›" "전") (merge-rule "悟" "á„‹á…©~b") (merge-rule "æ‚ " "á„‹á…²~b") (merge-rule "æ‚¢" "량") (merge-rule "æ‚£" "환") (merge-rule "悤" "총") (merge-rule "æ‚§" "á„…á…µ~b") (merge-rule "æ‚°" "종") (merge-rule "悱" "비~b") (merge-rule "悲" "비~b") (merge-rule "悳" "덕") (merge-rule "æ‚´" "췌~b") (merge-rule "悵" "창") (merge-rule "æ‚¶" "민") (merge-rule "悸" "계~b") (merge-rule "æ‚»" "행") (merge-rule "悼" "도~b") (merge-rule "悽" "처~b") (merge-rule "悾" "공") (merge-rule "惄" "녁") (merge-rule "情" "정") (merge-rule "惆" "추~b") (merge-rule "惇" "돈") (merge-rule "惉" "첨") (merge-rule "惋" "완") (merge-rule "æƒ" "람") (merge-rule "惑" "혹") (merge-rule "惓" "권") (merge-rule "惕" "척") (merge-rule "惘" "망") (merge-rule "惙" "철") (merge-rule "惚" "홀") (merge-rule "惛" "혼") (merge-rule "惜" "석") (merge-rule "æƒ" "창") (merge-rule "惟" "á„‹á…²~b") (merge-rule "惠" "á„’á…¨~b") (merge-rule "惡" "악") (merge-rule "惢" "쇄~b") (merge-rule "惰" "á„á…¡~b") (merge-rule "惱" "á„‚á…¬~b") (merge-rule "惲" "운") (merge-rule "想" "상") (merge-rule "惴" "췌~b") (merge-rule "惶" "황") (merge-rule "惷" "준") (merge-rule "惸" "경") (merge-rule "惹" "á„‹á…£~b") (merge-rule "惺" "성") (merge-rule "惻" "측") (merge-rule "惼" "편") (merge-rule "æ„€" "초~b") (merge-rule "æ„" "수~b") (merge-rule "愃" "선") (merge-rule "愆" "건") (merge-rule "愈" "á„‹á…²~b") (merge-rule "愉" "á„‹á…²~b") (merge-rule "æ„" "민") (merge-rule "愎" "퍅") (merge-rule "æ„" "á„‹á…´~b") (merge-rule "æ„”" "음") (merge-rule "æ„•" "악") (merge-rule "愚" "á„‹á…®~b") (merge-rule "æ„›" "á„‹á…¢~b") (merge-rule "愜" "협") (merge-rule "感" "감") (merge-rule "æ„§" "괴~b") (merge-rule "愬" "소~b") (merge-rule "æ„­" "기~b") (merge-rule "æ„°" "황") (merge-rule "æ„´" "창") (merge-rule "æ„·" "개~b") (merge-rule "愼" "신") (merge-rule "愾" "개~b") (merge-rule "æ„¿" "원") (merge-rule "æ…‚" "용") (merge-rule "æ…„" "률") (merge-rule "æ…†" "도~b") (merge-rule "æ…‡" "은") (merge-rule "æ…ˆ" "자~b") (merge-rule "æ…Š" "겸") (merge-rule "æ…‹" "á„á…¢~b") (merge-rule "æ…Œ" "황") (merge-rule "æ…" "온") (merge-rule "æ…’" "종") (merge-rule "æ…“" "á„‘á…­~b") (merge-rule "æ…•" "모~b") (merge-rule "æ…˜" "참") (merge-rule "æ…™" "참") (merge-rule "æ…š" "참") (merge-rule "æ…" "á„ᅳᆨ") (merge-rule "æ…Ÿ" "á„ᅩᆼ") (merge-rule "æ… " "á„‹á…©~b") (merge-rule "æ…¢" "만") (merge-rule "æ…£" "관") (merge-rule "æ…¤" "각") (merge-rule "æ…§" "á„’á…¨~b") (merge-rule "æ…¨" "개~b") (merge-rule "æ…«" "종") (merge-rule "æ…®" "á„…á…§~b") (merge-rule "æ…°" "á„‹á…±~b") (merge-rule "æ…±" "단") (merge-rule "æ…³" "간") (merge-rule "æ…´" "습") (merge-rule "æ…µ" "용") (merge-rule "æ…¶" "경") (merge-rule "æ…·" "강") (merge-rule "æ…º" "á„…á…®~b") (merge-rule "æ…½" "척") (merge-rule "æ…¾" "욕") (merge-rule "æ†" "총") (merge-rule "憂" "á„‹á…®~b") (merge-rule "憃" "용") (merge-rule "憊" "비~b") (merge-rule "æ†" "교~b") (merge-rule "憎" "증") (merge-rule "æ†" "련") (merge-rule "憑" "빙") (merge-rule "憒" "궤~b") (merge-rule "憔" "초~b") (merge-rule "憖" "은") (merge-rule "憘" "á„’á…´~b") (merge-rule "憙" "á„’á…´~b") (merge-rule "憚" "á„ᅡᆫ") (merge-rule "憤" "분") (merge-rule "憧" "동") (merge-rule "憨" "감") (merge-rule "憩" "게~b") (merge-rule "憫" "민") (merge-rule "憬" "경") (merge-rule "憮" "무~b") (merge-rule "憯" "참") (merge-rule "憲" "헌") (merge-rule "憶" "억") (merge-rule "憸" "섬") (merge-rule "憺" "담") (merge-rule "憻" "á„ᅡᆫ") (merge-rule "憼" "경") (merge-rule "憾" "감") (merge-rule "懃" "근") (merge-rule "懆" "조~b") (merge-rule "懇" "간") (merge-rule "懈" "á„’á…¢~b") (merge-rule "應" "응") (merge-rule "懊" "á„‹á…©~b") (merge-rule "懋" "무~b") (merge-rule "懌" "역") (merge-rule "懕" "염") (merge-rule "懗" "á„’á…¡~b") (merge-rule "懞" "몽") (merge-rule "懟" "대~b") (merge-rule "懣" "문") (merge-rule "懦" "á„‚á…¡~b") (merge-rule "懲" "징") (merge-rule "懶" "á„‚á…¡~b") (merge-rule "懷" "á„’á…¬~b") (merge-rule "懸" "현") (merge-rule "懺" "참") (merge-rule "懼" "구~b") (merge-rule "懽" "환") (merge-rule "懾" "섭") (merge-rule "懿" "á„‹á…´~b") (merge-rule "戀" "련") (merge-rule "戇" "당") (merge-rule "戈" "과~b") (merge-rule "戊" "무~b") (merge-rule "戌" "술") (merge-rule "æˆ" "수~b") (merge-rule "戎" "융") (merge-rule "æˆ" "성") (merge-rule "我" "á„‹á…¡~b") (merge-rule "戒" "계~b") (merge-rule "戔" "잔") (merge-rule "戕" "장") (merge-rule "或" "혹") (merge-rule "戚" "척") (merge-rule "戞" "알") (merge-rule "戟" "극") (merge-rule "戡" "감") (merge-rule "戢" "집") (merge-rule "戧" "창") (merge-rule "戩" "전") (merge-rule "截" "절") (merge-rule "戮" "륙") (merge-rule "戰" "전") (merge-rule "戱" "á„’á…´~b") (merge-rule "戲" "á„’á…´~b") (merge-rule "戳" "착") (merge-rule "戴" "대~b") (merge-rule "戵" "구~b") (merge-rule "戶" "á„’á…©~b") (merge-rule "戹" "액") (merge-rule "戾" "á„…á…§~b") (merge-rule "房" "방") (merge-rule "所" "소~b") (merge-rule "æ‰" "편") (merge-rule "扃" "경") (merge-rule "扇" "선") (merge-rule "扈" "á„’á…©~b") (merge-rule "扉" "비~b") (merge-rule "扊" "염") (merge-rule "手" "수~b") (merge-rule "æ‰" "재~b") (merge-rule "扎" "찰") (merge-rule "扑" "복") (merge-rule "扒" "배~b") (merge-rule "打" "á„á…¡~b") (merge-rule "扗" "재~b") (merge-rule "托" "á„ᅡᆨ") (merge-rule "扛" "강") (merge-rule "扣" "구~b") (merge-rule "扨" "인") (merge-rule "扮" "분") (merge-rule "扱" "급") (merge-rule "扳" "반") (merge-rule "扶" "부~b") (merge-rule "批" "비~b") (merge-rule "扺" "지~b") (merge-rule "扼" "액") (merge-rule "找" "조~b") (merge-rule "承" "승") (merge-rule "技" "기~b") (merge-rule "抃" "변") (merge-rule "抄" "초~b") (merge-rule "抆" "문") (merge-rule "抉" "결") (merge-rule "把" "á„‘á…¡~b") (merge-rule "抑" "억") (merge-rule "抒" "서~b") (merge-rule "抔" "부~b") (merge-rule "投" "á„á…®~b") (merge-rule "抖" "두~b") (merge-rule "抗" "항") (merge-rule "折" "절") (merge-rule "抛" "á„‘á…©~b") (merge-rule "抨" "평") (merge-rule "披" "á„‘á…µ~b") (merge-rule "抬" "á„á…¢~b") (merge-rule "抱" "á„‘á…©~b") (merge-rule "抵" "저~b") (merge-rule "抹" "말") (merge-rule "押" "압") (merge-rule "抽" "추~b") (merge-rule "æ‹‚" "불") (merge-rule "æ‹„" "주~b") (merge-rule "æ‹…" "단") (merge-rule "拆" "á„ᅡᆨ") (merge-rule "拇" "무~b") (merge-rule "拈" "념") (merge-rule "拉" "납") (merge-rule "拊" "부~b") (merge-rule "拌" "반") (merge-rule "æ‹" "박") (merge-rule "æ‹" "á„‚á…¡~b") (merge-rule "æ‹" "괴~b") (merge-rule "æ‹‘" "겸") (merge-rule "æ‹’" "거~b") (merge-rule "æ‹“" "척") (merge-rule "æ‹”" "발") (merge-rule "æ‹•" "á„á…¡~b") (merge-rule "æ‹–" "á„á…¡~b") (merge-rule "æ‹—" "á„‹á…­~b") (merge-rule "拘" "구~b") (merge-rule "æ‹™" "졸") (merge-rule "æ‹›" "초~b") (merge-rule "拜" "배~b") (merge-rule "括" "괄") (merge-rule "æ‹­" "식") (merge-rule "æ‹®" "길") (merge-rule "拯" "증") (merge-rule "拱" "공") (merge-rule "拳" "권") (merge-rule "拵" "존") (merge-rule "æ‹¶" "찰") (merge-rule "æ‹·" "고~b") (merge-rule "拽" "á„‹á…¨~b") (merge-rule "拾" "습") (merge-rule "æ‹¿" "á„‚á…¡~b") (merge-rule "æŒ" "지~b") (merge-rule "挂" "괘~b") (merge-rule "指" "지~b") (merge-rule "按" "안") (merge-rule "挌" "격") (merge-rule "æŒ" "á„‚á…¡~b") (merge-rule "挑" "도~b") (merge-rule "挒" "렬") (merge-rule "挨" "á„‹á…¢~b") (merge-rule "挪" "á„‚á…¡~b") (merge-rule "挫" "좌~b") (merge-rule "振" "진") (merge-rule "挹" "읍") (merge-rule "挺" "정") (merge-rule "挻" "연") (merge-rule "挽" "만") (merge-rule "挾" "협") (merge-rule "æ‚" "á„‹á…©~b") (merge-rule "æƒ" "군") (merge-rule "æ„" "구~b") (merge-rule "æ†" "곤") (merge-rule "æ‰" "착") (merge-rule "æŒ" "팔") (merge-rule "æ" "한") (merge-rule "æŽ" "소~b") (merge-rule "æ" "날") (merge-rule "æ" "연") (merge-rule "æ•" "á„‘á…©~b") (merge-rule "æ—" "척") (merge-rule "æ§" "봉") (merge-rule "æ¨" "사~b") (merge-rule "æ©" "렬") (merge-rule "æ«" "문") (merge-rule "æ®" "거~b") (merge-rule "æ±" "á„‹á…¢~b") (merge-rule "æ²" "권") (merge-rule "æ¶" "추~b") (merge-rule "æ·" "첩") (merge-rule "æº" "날") (merge-rule "æ»" "념") (merge-rule "æ¿" "서~b") (merge-rule "掀" "흔") (merge-rule "掃" "소~b") (merge-rule "掄" "륜") (merge-rule "掇" "철") (merge-rule "授" "수~b") (merge-rule "掉" "도~b") (merge-rule "掊" "부~b") (merge-rule "掌" "장") (merge-rule "掎" "기~b") (merge-rule "æŽ" "도~b") (merge-rule "排" "배~b") (merge-rule "掖" "액") (merge-rule "掘" "굴") (merge-rule "掛" "괘~b") (merge-rule "掜" "á„‹á…¨~b") (merge-rule "掟" "정") (merge-rule "掠" "략") (merge-rule "採" "채~b") (merge-rule "探" "á„ᅡᆷ") (merge-rule "接" "접") (merge-rule "控" "공") (merge-rule "推" "추~b") (merge-rule "掩" "엄") (merge-rule "措" "조~b") (merge-rule "掬" "국") (merge-rule "掾" "연") (merge-rule "æ€" "간") (merge-rule "æƒ" "전") (merge-rule "æ„" "á„‹á…²~b") (merge-rule "æ†" "규~b") (merge-rule "æ‰" "á„‹á…²~b") (merge-rule "æ" "묘~b") (merge-rule "æ" "제~b") (merge-rule "æ–" "읍") (merge-rule "æš" "양") (merge-rule "æ›" "환") (merge-rule "æŸ" "서~b") (merge-rule "æ " "알") (merge-rule "æ¡" "악") (merge-rule "æ£" "췌~b") (merge-rule "æ©" "개~b") (merge-rule "æ«" "추~b") (merge-rule "æ­" "게~b") (merge-rule "æ®" "á„’á…±~b") (merge-rule "æ²" "설") (merge-rule "æ´" "원") (merge-rule "æµ" "건") (merge-rule "æ¶" "á„‹á…£~b") (merge-rule "æ·" "삽") (merge-rule "æ†" "구~b") (merge-rule "æ‰" "각") (merge-rule "æ" "손") (merge-rule "æ" "박") (merge-rule "æ’" "방") (merge-rule "æ”" "소~b") (merge-rule "æ–" "á„‹á…­~b") (merge-rule "æ—" "도~b") (merge-rule "æœ" "수~b") (merge-rule "æ¢" "진") (merge-rule "æ¤" "액") (merge-rule "æ¥" "추~b") (merge-rule "æ¨" "á„ᅡᆸ") (merge-rule "æª" "당") (merge-rule "æ«" "반") (merge-rule "æ¬" "반") (merge-rule "æ­" "á„ᅡᆸ") (merge-rule "æ¯" "도~b") (merge-rule "æ°" "골") (merge-rule "æ¶" "창") (merge-rule "æº" "á„’á…²~b") (merge-rule "æ¾" "착") (merge-rule "摘" "적") (merge-rule "æ‘ " "총") (merge-rule "æ‘§" "최~b") (merge-rule "æ‘©" "마~b") (merge-rule "æ‘­" "척") (merge-rule "摯" "지~b") (merge-rule "摳" "구~b") (merge-rule "摸" "모~b") (merge-rule "摹" "모~b") (merge-rule "摺" "접") (merge-rule "æ‘»" "섬") (merge-rule "摽" "á„‘á…­~b") (merge-rule "æ’…" "궤~b") (merge-rule "æ’ˆ" "á„…á…©~b") (merge-rule "æ’" "á„ᅢᆼ") (merge-rule "æ’‘" "á„ᅢᆼ") (merge-rule "æ’’" "살") (merge-rule "æ’“" "á„‹á…­~b") (merge-rule "æ’•" "서~b") (merge-rule "æ’™" "준") (merge-rule "æ’š" "년") (merge-rule "æ’" "á„’á…±~b") (merge-rule "æ’ž" "당") (merge-rule "æ’Ÿ" "교~b") (merge-rule "æ’¤" "철") (merge-rule "æ’¥" "발") (merge-rule "æ’©" "á„…á…­~b") (merge-rule "æ’«" "무~b") (merge-rule "æ’­" "á„‘á…¡~b") (merge-rule "æ’®" "촬") (merge-rule "æ’°" "찬") (merge-rule "æ’²" "박") (merge-rule "æ’»" "달") (merge-rule "æ’¼" "감") (merge-rule "æ’¾" "과~b") (merge-rule "æ’¿" "검") (merge-rule "æ“" "옹") (merge-rule "æ“„" "á„‚á…©~b") (merge-rule "æ“…" "천") (merge-rule "擇" "á„ᅢᆨ") (merge-rule "擉" "착") (merge-rule "擊" "격") (merge-rule "æ“" "조~b") (merge-rule "擎" "경") (merge-rule "æ“" "환") (merge-rule "æ“’" "금") (merge-rule "æ“”" "담") (merge-rule "æ“•" "á„’á…²~b") (merge-rule "æ“—" "벽") (merge-rule "擘" "벽") (merge-rule "據" "거~b") (merge-rule "æ“ " "제~b") (merge-rule "æ“¡" "대~b") (merge-rule "æ“¢" "á„ᅡᆨ") (merge-rule "æ“£" "도~b") (merge-rule "æ“¥" "람") (merge-rule "擦" "찰") (merge-rule "æ“§" "거~b") (merge-rule "擬" "á„‹á…´~b") (merge-rule "æ“­" "á„’á…ª~b") (merge-rule "擯" "빈") (merge-rule "擱" "각") (merge-rule "擲" "척") (merge-rule "æ“´" "확") (merge-rule "擺" "á„‘á…¡~b") (merge-rule "擾" "á„‹á…­~b") (merge-rule "攀" "반") (merge-rule "攂" "á„…á…¬~b") (merge-rule "攄" "á„á…¥~b") (merge-rule "攇" "헌") (merge-rule "攊" "력") (merge-rule "æ”" "롱") (merge-rule "æ””" "란") (merge-rule "攘" "양") (merge-rule "æ”™" "참") (merge-rule "æ”" "섭") (merge-rule "攢" "찬") (merge-rule "攣" "련") (merge-rule "攤" "á„ᅡᆫ") (merge-rule "攪" "교~b") (merge-rule "攫" "확") (merge-rule "攬" "람") (merge-rule "支" "지~b") (merge-rule "攲" "기~b") (merge-rule "æ”¶" "수~b") (merge-rule "æ”·" "고~b") (merge-rule "攸" "á„‹á…²~b") (merge-rule "改" "개~b") (merge-rule "æ”»" "공") (merge-rule "攽" "반") (merge-rule "放" "방") (merge-rule "政" "정") (merge-rule "æ•…" "고~b") (merge-rule "效" "á„’á…­~b") (merge-rule "敉" "미~b") (merge-rule "æ•" "서~b") (merge-rule "敎" "교~b") (merge-rule "æ•" "민") (merge-rule "æ•‘" "구~b") (merge-rule "æ•”" "á„‹á…¥~b") (merge-rule "æ••" "칙") (merge-rule "æ•–" "á„‹á…©~b") (merge-rule "æ•—" "á„‘á…¢~b") (merge-rule "æ•" "á„‘á…¨~b") (merge-rule "敞" "창") (merge-rule "æ•¢" "감") (merge-rule "æ•£" "산") (merge-rule "敦" "돈") (merge-rule "敬" "경") (merge-rule "æ•­" "양") (merge-rule "敲" "고~b") (merge-rule "æ•´" "정") (merge-rule "敵" "적") (merge-rule "æ•·" "부~b") (merge-rule "數" "삭") (merge-rule "敾" "선") (merge-rule "æ–" "두~b") (merge-rule "æ–‚" "렴") (merge-rule "æ–ƒ" "á„‘á…¨~b") (merge-rule "æ–…" "á„’á…­~b") (merge-rule "æ–‡" "문") (merge-rule "æ–Œ" "빈") (merge-rule "æ–" "비~b") (merge-rule "æ–‘" "반") (merge-rule "æ–—" "두~b") (merge-rule "æ–™" "á„…á…­~b") (merge-rule "æ–›" "곡") (merge-rule "æ–œ" "사~b") (merge-rule "æ–" "가~b") (merge-rule "æ–Ÿ" "짐") (merge-rule "æ–¡" "알") (merge-rule "æ–¤" "근") (merge-rule "æ–¥" "척") (merge-rule "æ–§" "부~b") (merge-rule "æ–«" "작") (merge-rule "æ–¬" "참") (merge-rule "æ–¯" "사~b") (merge-rule "æ–°" "신") (merge-rule "æ–±" "작") (merge-rule "æ–²" "착") (merge-rule "æ–·" "단") (merge-rule "æ–¹" "방") (merge-rule "æ–¼" "á„‹á…¥~b") (merge-rule "æ–½" "시~b") (merge-rule "æ–¿" "á„‹á…²~b") (merge-rule "æ—" "방") (merge-rule "æ—‚" "기~b") (merge-rule "æ—ƒ" "전") (merge-rule "æ—„" "모~b") (merge-rule "æ—…" "á„…á…§~b") (merge-rule "æ—†" "á„‘á…¢~b") (merge-rule "æ—Š" "방") (merge-rule "æ—‹" "선") (merge-rule "æ—Œ" "정") (merge-rule "æ—" "족") (merge-rule "æ—’" "á„…á…²~b") (merge-rule "æ——" "기~b") (merge-rule "æ— " "무~b") (merge-rule "æ—£" "기~b") (merge-rule "æ—¥" "일") (merge-rule "æ—¦" "단") (merge-rule "æ—¨" "지~b") (merge-rule "æ—©" "조~b") (merge-rule "æ—¬" "순") (merge-rule "æ—­" "욱") (merge-rule "æ—±" "한") (merge-rule "æ—²" "대~b") (merge-rule "æ—´" "á„‹á…®~b") (merge-rule "æ—º" "왕") (merge-rule "æ—»" "민") (merge-rule "æ—¼" "민") (merge-rule "æ—½" "돈") (merge-rule "æ—¿" "á„‹á…©~b") (merge-rule "昀" "윤") (merge-rule "昃" "측") (merge-rule "昆" "곤") (merge-rule "昇" "승") (merge-rule "昉" "방") (merge-rule "昊" "á„’á…©~b") (merge-rule "昌" "창") (merge-rule "明" "명") (merge-rule "æ˜" "혼") (merge-rule "æ˜" "분") (merge-rule "昑" "금") (merge-rule "易" "역") (merge-rule "昔" "석") (merge-rule "昕" "흔") (merge-rule "昛" "거~b") (merge-rule "昞" "병") (merge-rule "星" "성") (merge-rule "映" "영") (merge-rule "昡" "현") (merge-rule "昤" "령") (merge-rule "春" "춘") (merge-rule "昧" "매~b") (merge-rule "昨" "작") (merge-rule "昫" "구~b") (merge-rule "昭" "소~b") (merge-rule "是" "시~b") (merge-rule "昰" "á„’á…¡~b") (merge-rule "昱" "욱") (merge-rule "昴" "묘~b") (merge-rule "昵" "닉") (merge-rule "昶" "창") (merge-rule "昷" "온") (merge-rule "昺" "병") (merge-rule "昻" "앙") (merge-rule "æ™" "조~b") (merge-rule "時" "시~b") (merge-rule "晃" "황") (merge-rule "晄" "황") (merge-rule "晈" "교~b") (merge-rule "晉" "진") (merge-rule "晋" "진") (merge-rule "晌" "상") (merge-rule "晎" "홍") (merge-rule "æ™" "안") (merge-rule "æ™™" "준") (merge-rule "æ™›" "현") (merge-rule "æ™" "주~b") (merge-rule "晞" "á„’á…´~b") (merge-rule "晟" "성") (merge-rule "晡" "á„‘á…©~b") (merge-rule "晢" "절") (merge-rule "晤" "á„‹á…©~b") (merge-rule "晥" "환") (merge-rule "晦" "á„’á…¬~b") (merge-rule "æ™§" "á„’á…©~b") (merge-rule "晨" "신") (merge-rule "晩" "만") (merge-rule "晫" "á„ᅡᆨ") (merge-rule "晬" "수~b") (merge-rule "æ™®" "보~b") (merge-rule "景" "경") (merge-rule "æ™°" "석") (merge-rule "晳" "석") (merge-rule "æ™´" "청") (merge-rule "æ™¶" "정") (merge-rule "æ™·" "귀~b") (merge-rule "晸" "정") (merge-rule "智" "지~b") (merge-rule "æ™»" "암") (merge-rule "æš„" "훤") (merge-rule "暇" "가~b") (merge-rule "暈" "운") (merge-rule "暉" "á„’á…±~b") (merge-rule "æš‹" "민") (merge-rule "暌" "규~b") (merge-rule "暎" "영") (merge-rule "æš" "á„‹á…±~b") (merge-rule "æš‘" "서~b") (merge-rule "æš–" "난") (merge-rule "æš—" "암") (merge-rule "暘" "양") (merge-rule "æš" "명") (merge-rule "æšž" "교~b") (merge-rule "æš " "고~b") (merge-rule "暢" "창") (merge-rule "暣" "기~b") (merge-rule "æš«" "잠") (merge-rule "暬" "설") (merge-rule "æš®" "모~b") (merge-rule "æš±" "닉") (merge-rule "æš²" "장") (merge-rule "æš³" "á„’á…¨~b") (merge-rule "æš´" "á„‘á…©~b") (merge-rule "æšµ" "한") (merge-rule "暸" "á„…á…­~b") (merge-rule "æš¹" "섬") (merge-rule "æš»" "경") (merge-rule "æš¾" "돈") (merge-rule "æš¿" "á„’á…´~b") (merge-rule "曀" "á„‹á…¦~b") (merge-rule "æ›" "기~b") (merge-rule "曄" "엽") (merge-rule "æ›…" "엽") (merge-rule "曆" "력") (merge-rule "曇" "담") (merge-rule "曉" "á„’á…­~b") (merge-rule "曓" "á„‘á…©~b") (merge-rule "æ›–" "á„‹á…¢~b") (merge-rule "æ›™" "서~b") (merge-rule "曚" "몽") (merge-rule "æ››" "훈") (merge-rule "曜" "á„‹á…­~b") (merge-rule "æ›" "폭") (merge-rule "æ› " "광") (merge-rule "曣" "연") (merge-rule "曦" "á„’á…´~b") (merge-rule "曨" "롱") (merge-rule "曩" "낭") (merge-rule "曪" "á„…á…¡~b") (merge-rule "曬" "쇄~b") (merge-rule "æ›®" "엄") (merge-rule "曯" "촉") (merge-rule "æ›°" "왈") (merge-rule "曲" "곡") (merge-rule "曳" "á„‹á…¨~b") (merge-rule "æ›´" "갱") (merge-rule "æ›·" "갈") (merge-rule "書" "서~b") (merge-rule "曹" "조~b") (merge-rule "曺" "조~b") (merge-rule "曼" "만") (merge-rule "曾" "증") (merge-rule "替" "체~b") (merge-rule "最" "최~b") (merge-rule "會" "á„’á…¬~b") (merge-rule "朅" "걸") (merge-rule "月" "월") (merge-rule "有" "á„‹á…²~b") (merge-rule "朋" "붕") (merge-rule "朌" "반") (merge-rule "æœ" "복") (merge-rule "朔" "삭") (merge-rule "朕" "짐") (merge-rule "朗" "낭") (merge-rule "望" "망") (merge-rule "æœ" "조~b") (merge-rule "朞" "기~b") (merge-rule "期" "기~b") (merge-rule "朣" "동") (merge-rule "朦" "몽") (merge-rule "朧" "롱") (merge-rule "木" "목") (merge-rule "未" "미~b") (merge-rule "末" "말") (merge-rule "本" "본") (merge-rule "札" "찰") (merge-rule "朮" "출") (merge-rule "朱" "주~b") (merge-rule "朳" "팔") (merge-rule "朴" "박") (merge-rule "朶" "á„á…¡~b") (merge-rule "机" "궤~b") (merge-rule "朽" "á„’á…®~b") (merge-rule "æ…" "á„‹á…®~b") (merge-rule "æ†" "간") (merge-rule "æ‰" "삼") (merge-rule "æŽ" "á„…á…µ~b") (merge-rule "æ" "행") (merge-rule "æ" "재~b") (merge-rule "æ‘" "촌") (merge-rule "æ“" "á„‘á…­~b") (merge-rule "æ–" "장") (merge-rule "æœ" "두~b") (merge-rule "æž" "기~b") (merge-rule "æŸ" "속") (merge-rule "æ " "강") (merge-rule "æª" "초~b") (merge-rule "æ¬" "원") (merge-rule "æ­" "항") (merge-rule "æ¯" "배~b") (merge-rule "æ°" "걸") (merge-rule "æ±" "동") (merge-rule "æ²" "고~b") (merge-rule "æ³" "묘~b") (merge-rule "æµ" "저~b") (merge-rule "æ·" "á„‘á…¡~b") (merge-rule "æ»" "á„‚á…²~b") (merge-rule "æ¼" "저~b") (merge-rule "æ¾" "송") (merge-rule "æ¿" "판") (merge-rule "枇" "비~b") (merge-rule "枉" "왕") (merge-rule "æž‹" "방") (merge-rule "枌" "분") (merge-rule "æž" "남") (merge-rule "æž" "석") (merge-rule "æž“" "두~b") (merge-rule "æž•" "침") (merge-rule "æž—" "림") (merge-rule "枘" "á„‹á…¨~b") (merge-rule "æž™" "á„‹á…ª~b") (merge-rule "æžš" "매~b") (merge-rule "æžœ" "과~b") (merge-rule "æž" "지~b") (merge-rule "枯" "고~b") (merge-rule "æž°" "평") (merge-rule "æž²" "시~b") (merge-rule "æž³" "지~b") (merge-rule "æž¶" "가~b") (merge-rule "æž·" "가~b") (merge-rule "枸" "구~b") (merge-rule "æž¾" "시~b") (merge-rule "æŸ" "á„á…¡~b") (merge-rule "柄" "병") (merge-rule "柅" "á„‚á…µ~b") (merge-rule "柊" "종") (merge-rule "æŸ" "백") (merge-rule "æŸ" "모~b") (merge-rule "柑" "감") (merge-rule "柒" "칠") (merge-rule "染" "염") (merge-rule "柔" "á„‹á…²~b") (merge-rule "柗" "송") (merge-rule "柘" "자~b") (merge-rule "柙" "합") (merge-rule "柚" "á„‹á…²~b") (merge-rule "æŸ" "á„ᅡᆨ") (merge-rule "柞" "작") (merge-rule "柟" "남") (merge-rule "柢" "저~b") (merge-rule "柩" "구~b") (merge-rule "柬" "간") (merge-rule "柯" "가~b") (merge-rule "柰" "á„‚á…¢~b") (merge-rule "柱" "주~b") (merge-rule "柳" "á„…á…²~b") (merge-rule "柴" "시~b") (merge-rule "柵" "책") (merge-rule "柶" "사~b") (merge-rule "柹" "시~b") (merge-rule "査" "사~b") (merge-rule "柾" "정") (merge-rule "æ ƒ" "á„’á…¬~b") (merge-rule "æ ’" "순") (merge-rule "æ “" "전") (merge-rule "æ –" "서~b") (merge-rule "æ —" "률") (merge-rule "æ " "괄") (merge-rule "æ ž" "간") (merge-rule "æ ¡" "교~b") (merge-rule "æ ¢" "백") (merge-rule "æ ª" "주~b") (merge-rule "æ ®" "á„‹á…µ~b") (merge-rule "æ ¯" "욱") (merge-rule "æ ±" "공") (merge-rule "æ ²" "고~b") (merge-rule "æ ´" "전") (merge-rule "æ ¸" "핵") (merge-rule "æ ¹" "근") (merge-rule "æ »" "식") (merge-rule "æ ¼" "격") (merge-rule "æ ½" "재~b") (merge-rule "æ¡€" "걸") (merge-rule "æ¡" "항") (merge-rule "æ¡‚" "계~b") (merge-rule "桃" "도~b") (merge-rule "æ¡„" "광") (merge-rule "框" "광") (merge-rule "案" "안") (merge-rule "桉" "안") (merge-rule "桎" "질") (merge-rule "æ¡" "동") (merge-rule "æ¡‘" "상") (merge-rule "æ¡“" "환") (merge-rule "æ¡”" "길") (merge-rule "æ¡­" "진") (merge-rule "桯" "정") (merge-rule "æ¡´" "부~b") (merge-rule "æ¡¶" "á„ᅩᆼ") (merge-rule "æ¡·" "각") (merge-rule "桾" "군") (merge-rule "æ¡¿" "간") (merge-rule "æ¢" "량") (merge-rule "梃" "정") (merge-rule "梅" "매~b") (merge-rule "梆" "방") (merge-rule "æ¢" "곡") (merge-rule "梓" "재~b") (merge-rule "梔" "치~b") (merge-rule "梗" "경") (merge-rule "梛" "á„‚á…¡~b") (merge-rule "æ¢" "조~b") (merge-rule "梟" "á„’á…­~b") (merge-rule "梠" "á„…á…§~b") (merge-rule "梡" "완") (merge-rule "梢" "초~b") (merge-rule "梣" "심") (merge-rule "梧" "á„‹á…©~b") (merge-rule "梨" "á„…á…µ~b") (merge-rule "梭" "사~b") (merge-rule "梯" "제~b") (merge-rule "械" "계~b") (merge-rule "梱" "곤") (merge-rule "梳" "소~b") (merge-rule "梵" "범") (merge-rule "梶" "미~b") (merge-rule "棄" "기~b") (merge-rule "棅" "병") (merge-rule "棉" "면") (merge-rule "棊" "기~b") (merge-rule "棋" "기~b") (merge-rule "棌" "채~b") (merge-rule "æ£" "곤") (merge-rule "æ£" "비~b") (merge-rule "棒" "봉") (merge-rule "棕" "종") (merge-rule "棖" "정") (merge-rule "棗" "조~b") (merge-rule "棘" "극") (merge-rule "棚" "붕") (merge-rule "棟" "동") (merge-rule "棠" "당") (merge-rule "棣" "체~b") (merge-rule "棧" "잔") (merge-rule "棨" "계~b") (merge-rule "棬" "권") (merge-rule "森" "삼") (merge-rule "棲" "서~b") (merge-rule "棹" "도~b") (merge-rule "棺" "관") (merge-rule "棻" "분") (merge-rule "棼" "분") (merge-rule "椀" "완") (merge-rule "æ¤" "곽") (merge-rule "椄" "접") (merge-rule "椅" "á„‹á…´~b") (merge-rule "椋" "량") (merge-rule "æ¤" "식") (merge-rule "椎" "추~b") (merge-rule "椑" "비~b") (merge-rule "椒" "초~b") (merge-rule "椙" "창") (merge-rule "椧" "명") (merge-rule "椰" "á„‹á…£~b") (merge-rule "椴" "단") (merge-rule "椶" "종") (merge-rule "椹" "침") (merge-rule "椽" "연") (merge-rule "椿" "춘") (merge-rule "楂" "사~b") (merge-rule "楊" "양") (merge-rule "æ¥" "규~b") (merge-rule "楓" "풍") (merge-rule "楔" "설") (merge-rule "楕" "á„á…¡~b") (merge-rule "楗" "건") (merge-rule "楙" "무~b") (merge-rule "楚" "초~b") (merge-rule "æ¥" "련") (merge-rule "楞" "릉") (merge-rule "楠" "남") (merge-rule "楡" "á„‹á…²~b") (merge-rule "楢" "á„‹á…²~b") (merge-rule "楣" "미~b") (merge-rule "楥" "원") (merge-rule "楨" "정") (merge-rule "楪" "접") (merge-rule "楫" "즙") (merge-rule "楬" "갈") (merge-rule "業" "업") (merge-rule "楮" "저~b") (merge-rule "楯" "순") (merge-rule "楳" "매~b") (merge-rule "極" "극") (merge-rule "楷" "á„’á…¢~b") (merge-rule "楸" "추~b") (merge-rule "楹" "영") (merge-rule "榎" "가~b") (merge-rule "榑" "부~b") (merge-rule "榔" "랑") (merge-rule "榕" "용") (merge-rule "榘" "구~b") (merge-rule "榛" "진") (merge-rule "榜" "방") (merge-rule "榟" "재~b") (merge-rule "榤" "걸") (merge-rule "榥" "황") (merge-rule "榦" "간") (merge-rule "榧" "비~b") (merge-rule "榭" "사~b") (merge-rule "榮" "영") (merge-rule "榰" "지~b") (merge-rule "榱" "최~b") (merge-rule "榴" "á„…á…²~b") (merge-rule "榷" "교~b") (merge-rule "榻" "á„ᅡᆸ") (merge-rule "榼" "합") (merge-rule "榾" "골") (merge-rule "æ§€" "고~b") (merge-rule "æ§" "고~b") (merge-rule "槃" "반") (merge-rule "槇" "전") (merge-rule "æ§Š" "삭") (merge-rule "æ§‹" "구~b") (merge-rule "æ§Œ" "á„á…¬~b") (merge-rule "æ§" "창") (merge-rule "æ§Ž" "차~b") (merge-rule "æ§" "괴~b") (merge-rule "æ§“" "공") (merge-rule "æ§¥" "á„’á…¨~b") (merge-rule "槦" "용") (merge-rule "æ§§" "참") (merge-rule "槨" "곽") (merge-rule "æ§©" "개~b") (merge-rule "槪" "개~b") (merge-rule "æ§­" "색") (merge-rule "æ§²" "곡") (merge-rule "æ§¹" "고~b") (merge-rule "æ§»" "규~b") (merge-rule "æ§½" "조~b") (merge-rule "æ§¿" "근") (merge-rule "樀" "적") (merge-rule "樂" "낙") (merge-rule "樅" "종") (merge-rule "樊" "번") (merge-rule "樋" "á„ᅩᆼ") (merge-rule "樑" "량") (merge-rule "樒" "밀") (merge-rule "樓" "á„‚á…®~b") (merge-rule "樔" "소~b") (merge-rule "樗" "저~b") (merge-rule "標" "á„‘á…­~b") (merge-rule "樛" "규~b") (merge-rule "樞" "추~b") (merge-rule "樟" "장") (merge-rule "模" "모~b") (merge-rule "樣" "양") (merge-rule "樫" "견") (merge-rule "樵" "초~b") (merge-rule "樸" "박") (merge-rule "樹" "수~b") (merge-rule "樺" "á„’á…ª~b") (merge-rule "樻" "궤~b") (merge-rule "樽" "준") (merge-rule "橃" "벌") (merge-rule "æ©„" "감") (merge-rule "橇" "취~b") (merge-rule "橈" "á„‹á…­~b") (merge-rule "橊" "á„…á…²~b") (merge-rule "æ©‹" "교~b") (merge-rule "æ©" "á„ᅡᆨ") (merge-rule "æ©’" "운") (merge-rule "æ©“" "순") (merge-rule "橘" "귤") (merge-rule "æ©™" "등") (merge-rule "橚" "숙") (merge-rule "機" "기~b") (merge-rule "æ©¡" "상") (merge-rule "æ©¢" "á„á…¡~b") (merge-rule "橦" "동") (merge-rule "æ©«" "횡") (merge-rule "橵" "산") (merge-rule "æ©¿" "강") (merge-rule "檀" "단") (merge-rule "檄" "격") (merge-rule "檉" "정") (merge-rule "æª" "억") (merge-rule "檎" "금") (merge-rule "æª" "첨") (merge-rule "檔" "당") (merge-rule "檗" "벽") (merge-rule "檜" "á„’á…¬~b") (merge-rule "æª" "즙") (merge-rule "檟" "가~b") (merge-rule "檠" "경") (merge-rule "檢" "검") (merge-rule "檣" "장") (merge-rule "檮" "도~b") (merge-rule "檳" "빈") (merge-rule "檶" "염") (merge-rule "檻" "함") (merge-rule "檼" "은") (merge-rule "檿" "염") (merge-rule "æ«‚" "도~b") (merge-rule "櫃" "궤~b") (merge-rule "æ«“" "á„‚á…©~b") (merge-rule "櫚" "á„…á…§~b") (merge-rule "æ«›" "즐") (merge-rule "櫜" "고~b") (merge-rule "æ«" "독") (merge-rule "櫞" "연") (merge-rule "櫟" "력") (merge-rule "櫪" "력") (merge-rule "櫬" "친") (merge-rule "æ«¶" "헌") (merge-rule "æ«»" "앵") (merge-rule "櫼" "첨") (merge-rule "欂" "박") (merge-rule "欃" "참") (merge-rule "欄" "난") (merge-rule "權" "권") (merge-rule "欌" "장") (merge-rule "欑" "찬") (merge-rule "欒" "란") (merge-rule "欖" "람") (merge-rule "欞" "령") (merge-rule "欠" "흠") (merge-rule "次" "차~b") (merge-rule "欣" "흔") (merge-rule "欬" "á„’á…¢~b") (merge-rule "欲" "욕") (merge-rule "欷" "á„’á…´~b") (merge-rule "欸" "á„‹á…¢~b") (merge-rule "欹" "á„‹á…´~b") (merge-rule "欺" "기~b") (merge-rule "欻" "훌") (merge-rule "欽" "흠") (merge-rule "款" "관") (merge-rule "欿" "감") (merge-rule "æ­ƒ" "삽") (merge-rule "æ­†" "흠") (merge-rule "æ­‡" "헐") (merge-rule "æ­‰" "겸") (merge-rule "æ­Œ" "가~b") (merge-rule "æ­Ž" "á„ᅡᆫ") (merge-rule "æ­" "구~b") (merge-rule "æ­”" "á„’á…¥~b") (merge-rule "æ­™" "흡") (merge-rule "æ­š" "선") (merge-rule "æ­›" "감") (merge-rule "æ­Ÿ" "á„‹á…§~b") (merge-rule "æ­ " "철") (merge-rule "æ­¡" "환") (merge-rule "æ­¢" "지~b") (merge-rule "æ­£" "정") (merge-rule "æ­¤" "차~b") (merge-rule "æ­¥" "보~b") (merge-rule "æ­¦" "무~b") (merge-rule "æ­§" "기~b") (merge-rule "æ­ª" "á„‹á…«~b") (merge-rule "æ­²" "세~b") (merge-rule "æ­·" "력") (merge-rule "æ­¸" "귀~b") (merge-rule "æ­»" "사~b") (merge-rule "æ­¿" "몰") (merge-rule "殀" "á„‹á…­~b") (merge-rule "殂" "조~b") (merge-rule "殃" "앙") (merge-rule "殄" "진") (merge-rule "殆" "á„á…¢~b") (merge-rule "殉" "순") (merge-rule "殊" "수~b") (merge-rule "æ®" "á„‘á…­~b") (merge-rule "殑" "긍") (merge-rule "æ®–" "식") (merge-rule "殘" "잔") (merge-rule "殞" "운") (merge-rule "殢" "체~b") (merge-rule "殤" "상") (merge-rule "殫" "á„ᅡᆫ") (merge-rule "æ®­" "강") (merge-rule "æ®®" "렴") (merge-rule "殯" "빈") (merge-rule "殲" "섬") (merge-rule "殳" "수~b") (merge-rule "段" "단") (merge-rule "æ®·" "은") (merge-rule "殺" "살") (merge-rule "殼" "각") (merge-rule "殽" "á„’á…­~b") (merge-rule "殿" "전") (merge-rule "æ¯" "á„’á…°~b") (merge-rule "毄" "격") (merge-rule "毅" "á„‹á…´~b") (merge-rule "毆" "구~b") (merge-rule "毋" "무~b") (merge-rule "æ¯" "모~b") (merge-rule "æ¯" "매~b") (merge-rule "毒" "독") (merge-rule "毓" "육") (merge-rule "比" "비~b") (merge-rule "毖" "비~b") (merge-rule "毗" "비~b") (merge-rule "毘" "비~b") (merge-rule "毚" "참") (merge-rule "毛" "모~b") (merge-rule "毫" "á„’á…©~b") (merge-rule "毬" "구~b") (merge-rule "毯" "담") (merge-rule "毳" "취~b") (merge-rule "毿" "산") (merge-rule "æ°…" "창") (merge-rule "æ°ˆ" "전") (merge-rule "æ°" "씨~b") (merge-rule "æ°" "저~b") (merge-rule "æ°‘" "민") (merge-rule "æ°“" "맹") (merge-rule "æ°›" "분") (merge-rule "æ°£" "기~b") (merge-rule "æ°¤" "인") (merge-rule "æ°³" "온") (merge-rule "æ°´" "수~b") (merge-rule "æ°·" "빙") (merge-rule "æ°¸" "영") (merge-rule "æ°¾" "범") (merge-rule "æ°¿" "궤~b") (merge-rule "æ±€" "정") (merge-rule "æ±" "즙") (merge-rule "求" "구~b") (merge-rule "汃" "팔") (merge-rule "汋" "작") (merge-rule "汎" "범") (merge-rule "æ±" "대~b") (merge-rule "æ±" "석") (merge-rule "æ±’" "망") (merge-rule "æ±”" "흘") (merge-rule "汕" "산") (merge-rule "æ±—" "한") (merge-rule "æ±™" "á„‹á…©~b") (merge-rule "汚" "á„‹á…©~b") (merge-rule "æ±›" "신") (merge-rule "汜" "사~b") (merge-rule "æ±" "á„‹á…§~b") (merge-rule "汞" "홍") (merge-rule "江" "강") (merge-rule "æ± " "지~b") (merge-rule "汨" "골") (merge-rule "汪" "왕") (merge-rule "æ±­" "á„‹á…¨~b") (merge-rule "æ±°" "á„á…¢~b") (merge-rule "æ±²" "급") (merge-rule "æ±´" "판") (merge-rule "æ±¶" "문") (merge-rule "決" "결") (merge-rule "æ±½" "기~b") (merge-rule "æ±¾" "분") (merge-rule "æ²" "심") (merge-rule "沂" "기~b") (merge-rule "沃" "옥") (merge-rule "沄" "운") (merge-rule "æ²…" "원") (merge-rule "沆" "항") (merge-rule "沇" "연") (merge-rule "沈" "심") (merge-rule "沉" "침") (merge-rule "沌" "돈") (merge-rule "æ²" "á„’á…©~b") (merge-rule "æ²" "목") (merge-rule "æ²’" "몰") (merge-rule "沓" "답") (merge-rule "æ²”" "면") (merge-rule "沕" "물") (merge-rule "æ²–" "충") (merge-rule "沘" "비~b") (merge-rule "æ²™" "사~b") (merge-rule "沚" "지~b") (merge-rule "æ²›" "á„‘á…¢~b") (merge-rule "沫" "말") (merge-rule "沬" "매~b") (merge-rule "æ²®" "저~b") (merge-rule "æ²°" "á„ᅡᆨ") (merge-rule "æ²±" "á„á…¡~b") (merge-rule "æ²³" "á„’á…¡~b") (merge-rule "沸" "비~b") (merge-rule "æ²¹" "á„‹á…²~b") (merge-rule "æ²»" "치~b") (merge-rule "æ²¼" "소~b") (merge-rule "æ²½" "고~b") (merge-rule "æ²¾" "첨") (merge-rule "沿" "연") (merge-rule "æ³" "황") (merge-rule "泂" "형") (merge-rule "泄" "설") (merge-rule "æ³…" "수~b") (merge-rule "泆" "일") (merge-rule "泉" "천") (merge-rule "泊" "박") (merge-rule "泌" "비~b") (merge-rule "æ³" "륵") (merge-rule "泑" "á„‹á…²~b") (merge-rule "泓" "홍") (merge-rule "æ³”" "감") (merge-rule "法" "법") (merge-rule "æ³—" "사~b") (merge-rule "æ³™" "평") (merge-rule "泚" "자~b") (merge-rule "æ³›" "범") (merge-rule "泜" "지~b") (merge-rule "æ³" "소~b") (merge-rule "æ³ " "령") (merge-rule "泡" "á„‘á…©~b") (merge-rule "æ³¢" "á„‘á…¡~b") (merge-rule "æ³£" "읍") (merge-rule "æ³¥" "á„‚á…µ~b") (merge-rule "注" "주~b") (merge-rule "泫" "현") (merge-rule "æ³®" "반") (merge-rule "泯" "민") (merge-rule "æ³°" "á„á…¢~b") (merge-rule "æ³±" "앙") (merge-rule "æ³³" "영") (merge-rule "æ´„" "á„’á…¬~b") (merge-rule "æ´‡" "인") (merge-rule "æ´Š" "천") (merge-rule "æ´‹" "양") (merge-rule "æ´Œ" "렬") (merge-rule "æ´‘" "보~b") (merge-rule "æ´’" "세~b") (merge-rule "æ´—" "세~b") (merge-rule "æ´™" "수~b") (merge-rule "æ´›" "낙") (merge-rule "æ´ž" "동") (merge-rule "æ´Ÿ" "á„‹á…µ~b") (merge-rule "æ´¥" "진") (merge-rule "æ´§" "á„‹á…²~b") (merge-rule "æ´©" "설") (merge-rule "æ´ª" "홍") (merge-rule "æ´«" "혁") (merge-rule "æ´¬" "속") (merge-rule "æ´®" "도~b") (merge-rule "æ´²" "주~b") (merge-rule "æ´µ" "순") (merge-rule "æ´¶" "흉") (merge-rule "æ´¸" "광") (merge-rule "æ´¹" "원") (merge-rule "æ´º" "명") (merge-rule "æ´»" "활") (merge-rule "æ´¼" "á„‹á…ª~b") (merge-rule "æ´½" "흡") (merge-rule "æ´¾" "á„‘á…¡~b") (merge-rule "æµ" "á„…á…²~b") (merge-rule "æµ™" "절") (merge-rule "浚" "준") (merge-rule "浜" "빈") (merge-rule "浡" "발") (merge-rule "æµ£" "완") (merge-rule "浤" "굉") (merge-rule "æµ¥" "읍") (merge-rule "浦" "á„‘á…©~b") (merge-rule "æµ§" "영") (merge-rule "浩" "á„’á…©~b") (merge-rule "浪" "낭") (merge-rule "浬" "á„…á…µ~b") (merge-rule "æµ®" "부~b") (merge-rule "æµ´" "욕") (merge-rule "æµ·" "á„’á…¢~b") (merge-rule "浸" "침") (merge-rule "æµ¹" "협") (merge-rule "浿" "á„‘á…¢~b") (merge-rule "æ¶‚" "도~b") (merge-rule "æ¶…" "열") (merge-rule "涇" "경") (merge-rule "消" "소~b") (merge-rule "涉" "섭") (merge-rule "æ¶Œ" "용") (merge-rule "æ¶" "á„’á…­~b") (merge-rule "æ¶Ž" "연") (merge-rule "æ¶‘" "속") (merge-rule "æ¶“" "연") (merge-rule "æ¶”" "잠") (merge-rule "æ¶•" "체~b") (merge-rule "æ¶–" "á„…á…µ~b") (merge-rule "涪" "부~b") (merge-rule "æ¶«" "관") (merge-rule "涯" "á„‹á…¢~b") (merge-rule "æ¶²" "액") (merge-rule "æ¶´" "완") (merge-rule "æ¶µ" "함") (merge-rule "æ¶·" "동") (merge-rule "涸" "á„’á…®~b") (merge-rule "æ¶¼" "량") (merge-rule "æ¶¿" "á„ᅡᆨ") (merge-rule "æ·€" "정") (merge-rule "æ·ƒ" "권") (merge-rule "æ·„" "치~b") (merge-rule "æ·…" "석") (merge-rule "æ·†" "á„’á…­~b") (merge-rule "æ·‡" "기~b") (merge-rule "æ·ˆ" "굴") (merge-rule "æ·‹" "림") (merge-rule "æ·" "á„’á…©~b") (merge-rule "æ·‘" "숙") (merge-rule "æ·’" "처~b") (merge-rule "æ·–" "á„‚á…­~b") (merge-rule "æ·˜" "도~b") (merge-rule "æ·™" "종") (merge-rule "æ·š" "á„‚á…®~b") (merge-rule "æ·" "비~b") (merge-rule "æ·ž" "송") (merge-rule "æ· " "비~b") (merge-rule "æ·¡" "담") (merge-rule "æ·¢" "역") (merge-rule "æ·¤" "á„‹á…¥~b") (merge-rule "æ·¥" "록") (merge-rule "æ·¦" "감") (merge-rule "æ·¨" "정") (merge-rule "æ·ª" "륜") (merge-rule "æ·«" "음") (merge-rule "æ·¬" "쉬~b") (merge-rule "æ·®" "á„’á…¬~b") (merge-rule "æ·±" "심") (merge-rule "æ·³" "순") (merge-rule "æ·µ" "연") (merge-rule "æ·¶" "á„…á…¢~b") (merge-rule "æ··" "혼") (merge-rule "æ·¸" "청") (merge-rule "æ·¹" "엄") (merge-rule "æ·º" "천") (merge-rule "æ·»" "첨") (merge-rule "æ·¼" "묘~b") (merge-rule "渗" "삼") (merge-rule "渙" "환") (merge-rule "渚" "저~b") (merge-rule "減" "감") (merge-rule "æ¸" "á„á…®~b") (merge-rule "渟" "정") (merge-rule "渠" "거~b") (merge-rule "渡" "도~b") (merge-rule "渣" "사~b") (merge-rule "渤" "발") (merge-rule "渥" "악") (merge-rule "渦" "á„‹á…ª~b") (merge-rule "渨" "á„‹á…¬~b") (merge-rule "渫" "설") (merge-rule "測" "측") (merge-rule "渭" "á„‹á…±~b") (merge-rule "港" "항") (merge-rule "渲" "선") (merge-rule "渴" "갈") (merge-rule "渶" "영") (merge-rule "渷" "연") (merge-rule "游" "á„‹á…²~b") (merge-rule "渺" "묘~b") (merge-rule "渼" "미~b") (merge-rule "渽" "재~b") (merge-rule "渾" "혼") (merge-rule "湃" "배~b") (merge-rule "湄" "미~b") (merge-rule "æ¹…" "련") (merge-rule "湊" "주~b") (merge-rule "æ¹" "단") (merge-rule "湎" "면") (merge-rule "湑" "서~b") (merge-rule "湓" "분") (merge-rule "æ¹”" "전") (merge-rule "æ¹–" "á„’á…©~b") (merge-rule "湘" "상") (merge-rule "æ¹›" "담") (merge-rule "湜" "식") (merge-rule "湞" "정") (merge-rule "湟" "황") (merge-rule "æ¹£" "민") (merge-rule "æ¹§" "용") (merge-rule "湫" "추~b") (merge-rule "æ¹®" "인") (merge-rule "湯" "á„ᅡᆼ") (merge-rule "æ¹²" "원") (merge-rule "æ¹³" "남") (merge-rule "湺" "보~b") (merge-rule "æº" "당") (merge-rule "æº" "원") (merge-rule "溕" "몽") (merge-rule "準" "준") (merge-rule "溘" "합") (merge-rule "溜" "á„…á…²~b") (merge-rule "æº" "구~b") (merge-rule "溟" "명") (merge-rule "溢" "일") (merge-rule "溥" "부~b") (merge-rule "溧" "률") (merge-rule "溪" "계~b") (merge-rule "溫" "온") (merge-rule "溯" "소~b") (merge-rule "溱" "진") (merge-rule "溲" "수~b") (merge-rule "溵" "은") (merge-rule "溶" "용") (merge-rule "溷" "혼") (merge-rule "溺" "닉") (merge-rule "溽" "욕") (merge-rule "滂" "방") (merge-rule "滃" "옹") (merge-rule "滄" "창") (merge-rule "æ»…" "멸") (merge-rule "滈" "á„’á…©~b") (merge-rule "滉" "황") (merge-rule "滋" "자~b") (merge-rule "滌" "척") (merge-rule "滎" "형") (merge-rule "滑" "골") (merge-rule "滓" "재~b") (merge-rule "æ»”" "도~b") (merge-rule "滕" "등") (merge-rule "æ»™" "á„’á…¬~b") (merge-rule "滬" "á„’á…©~b") (merge-rule "æ»­" "필") (merge-rule "滯" "체~b") (merge-rule "æ»´" "적") (merge-rule "滵" "밀") (merge-rule "æ»·" "á„…á…©~b") (merge-rule "滸" "á„’á…©~b") (merge-rule "滾" "곤") (merge-rule "滿" "만") (merge-rule "æ¼" "á„‹á…¥~b") (merge-rule "漂" "á„‘á…­~b") (merge-rule "漄" "á„‹á…¢~b") (merge-rule "漆" "칠") (merge-rule "漉" "록") (merge-rule "漌" "근") (merge-rule "æ¼" "á„‚á…®~b") (merge-rule "漑" "개~b") (merge-rule "漓" "á„…á…µ~b") (merge-rule "æ¼”" "연") (merge-rule "漕" "조~b") (merge-rule "æ¼™" "단") (merge-rule "漚" "구~b") (merge-rule "æ¼ " "막") (merge-rule "æ¼¢" "한") (merge-rule "æ¼£" "련") (merge-rule "漪" "á„‹á…´~b") (merge-rule "漫" "만") (merge-rule "漬" "지~b") (merge-rule "æ¼­" "망") (merge-rule "æ¼°" "붕") (merge-rule "æ¼±" "수~b") (merge-rule "æ¼²" "창") (merge-rule "æ¼³" "장") (merge-rule "漸" "점") (merge-rule "æ¼¼" "최~b") (merge-rule "æ¼¾" "양") (merge-rule "漿" "장") (merge-rule "æ½" "영") (merge-rule "æ½" "율") (merge-rule "潑" "발") (merge-rule "æ½”" "결") (merge-rule "æ½—" "집") (merge-rule "潘" "반") (merge-rule "æ½™" "규~b") (merge-rule "潚" "숙") (merge-rule "æ½›" "잠") (merge-rule "潜" "잠") (merge-rule "æ½" "흡") (merge-rule "潞" "á„…á…©~b") (merge-rule "潟" "석") (merge-rule "潡" "돈") (merge-rule "æ½¢" "황") (merge-rule "潤" "윤") (merge-rule "潦" "á„…á…­~b") (merge-rule "æ½­" "담") (merge-rule "æ½®" "조~b") (merge-rule "潯" "심") (merge-rule "æ½°" "궤~b") (merge-rule "æ½´" "저~b") (merge-rule "潸" "산") (merge-rule "潺" "잔") (merge-rule "æ½¼" "동") (merge-rule "æ½½" "보~b") (merge-rule "æ½¾" "린") (merge-rule "æ¾" "삽") (merge-rule "澂" "징") (merge-rule "澄" "징") (merge-rule "澆" "á„‹á…­~b") (merge-rule "澈" "철") (merge-rule "澉" "감") (merge-rule "澋" "횡") (merge-rule "澌" "시~b") (merge-rule "æ¾" "주~b") (merge-rule "澎" "팽") (merge-rule "æ¾" "운") (merge-rule "æ¾’" "홍") (merge-rule "æ¾”" "á„’á…©~b") (merge-rule "æ¾—" "간") (merge-rule "澘" "산") (merge-rule "澟" "름") (merge-rule "澡" "조~b") (merge-rule "æ¾£" "한") (merge-rule "澤" "á„ᅢᆨ") (merge-rule "æ¾§" "á„…á…¨~b") (merge-rule "澨" "서~b") (merge-rule "æ¾®" "á„’á…¬~b") (merge-rule "澯" "찬") (merge-rule "æ¾±" "전") (merge-rule "æ¾³" "á„‹á…©~b") (merge-rule "æ¾¶" "전") (merge-rule "æ¾¹" "담") (merge-rule "æ¾¾" "달") (merge-rule "æ¿€" "격") (merge-rule "æ¿" "á„ᅡᆨ") (merge-rule "æ¿‚" "렴") (merge-rule "濃" "농") (merge-rule "濆" "분") (merge-rule "濇" "색") (merge-rule "濉" "수~b") (merge-rule "濊" "á„‹á…¨~b") (merge-rule "æ¿•" "습") (merge-rule "濘" "녕") (merge-rule "濚" "영") (merge-rule "æ¿›" "몽") (merge-rule "濞" "비~b") (merge-rule "濟" "제~b") (merge-rule "æ¿ " "á„’á…©~b") (merge-rule "æ¿¡" "á„‹á…²~b") (merge-rule "濤" "도~b") (merge-rule "æ¿©" "á„’á…©~b") (merge-rule "æ¿«" "남") (merge-rule "濬" "준") (merge-rule "æ¿®" "복") (merge-rule "濯" "á„ᅡᆨ") (merge-rule "濱" "빈") (merge-rule "濳" "잠") (merge-rule "æ¿´" "영") (merge-rule "濺" "천") (merge-rule "濾" "á„…á…§~b") (merge-rule "ç€" "양") (merge-rule "瀅" "형") (merge-rule "瀆" "독") (merge-rule "瀇" "왕") (merge-rule "瀉" "사~b") (merge-rule "瀋" "심") (merge-rule "ç€" "á„…á…²~b") (merge-rule "瀑" "폭") (merge-rule "瀒" "색") (merge-rule "瀓" "징") (merge-rule "瀕" "빈") (merge-rule "瀘" "á„…á…©~b") (merge-rule "瀚" "한") (merge-rule "瀛" "영") (merge-rule "瀜" "융") (merge-rule "ç€" "력") (merge-rule "瀞" "정") (merge-rule "瀟" "소~b") (merge-rule "瀣" "á„’á…¢~b") (merge-rule "瀦" "저~b") (merge-rule "瀧" "롱") (merge-rule "瀨" "á„…á…¬~b") (merge-rule "瀯" "영") (merge-rule "瀰" "미~b") (merge-rule "瀲" "렴") (merge-rule "瀷" "익") (merge-rule "瀸" "첨") (merge-rule "瀼" "양") (merge-rule "瀾" "란") (merge-rule "ç„" "섭") (merge-rule "çŒ" "관") (merge-rule "çŽ" "염") (merge-rule "ç" "형") (merge-rule "ç‘" "쇄~b") (merge-rule "ç“" "란") (merge-rule "ç˜" "á„ᅡᆫ") (merge-rule "ç" "á„’á…©~b") (merge-rule "çž" "á„‘á…¡~b") (merge-rule "ç£" "만") (merge-rule "ç©" "염") (merge-rule "ç«" "á„’á…ª~b") (merge-rule "ç¯" "정") (merge-rule "ç°" "á„’á…¬~b") (merge-rule "ç¸" "구~b") (merge-rule "ç¼" "작") (merge-rule "ç½" "재~b") (merge-rule "ç¾" "재~b") (merge-rule "ç‚" "기~b") (merge-rule "ç‚…" "경") (merge-rule "炆" "문") (merge-rule "炊" "취~b") (merge-rule "炎" "염") (merge-rule "ç‚’" "초~b") (merge-rule "ç‚•" "항") (merge-rule "炘" "흔") (merge-rule "ç‚™" "자~b") (merge-rule "炚" "광") (merge-rule "ç‚¡" "정") (merge-rule "炤" "소~b") (merge-rule "ç‚«" "현") (merge-rule "炬" "거~b") (merge-rule "ç‚­" "á„ᅡᆫ") (merge-rule "ç‚®" "á„‘á…©~b") (merge-rule "炯" "형") (merge-rule "ç‚°" "á„‘á…©~b") (merge-rule "炳" "병") (merge-rule "ç‚·" "주~b") (merge-rule "炸" "작") (merge-rule "点" "점") (merge-rule "烈" "렬") (merge-rule "烊" "양") (merge-rule "烋" "á„’á…²~b") (merge-rule "çƒ" "á„‹á…©~b") (merge-rule "烓" "계~b") (merge-rule "烘" "홍") (merge-rule "烙" "낙") (merge-rule "烜" "훤") (merge-rule "çƒ" "증") (merge-rule "烟" "연") (merge-rule "烱" "경") (merge-rule "烹" "팽") (merge-rule "烽" "봉") (merge-rule "ç„„" "훈") (merge-rule "焉" "언") (merge-rule "焌" "준") (merge-rule "ç„™" "배~b") (merge-rule "焚" "분") (merge-rule "焜" "혼") (merge-rule "焞" "돈") (merge-rule "ç„ " "쉬~b") (merge-rule "ç„¡" "무~b") (merge-rule "焦" "초~b") (merge-rule "ç„­" "경") (merge-rule "ç„®" "흔") (merge-rule "焯" "작") (merge-rule "ç„°" "염") (merge-rule "焱" "혁") (merge-rule "ç„¶" "연") (merge-rule "ç…†" "á„’á…¡~b") (merge-rule "ç…‡" "á„’á…±~b") (merge-rule "ç…‰" "련") (merge-rule "ç…Š" "훤") (merge-rule "ç…Œ" "황") (merge-rule "ç…Ž" "전") (merge-rule "ç…" "영") (merge-rule "ç…’" "á„‹á…±~b") (merge-rule "ç…–" "난") (merge-rule "ç…—" "난") (merge-rule "ç…™" "연") (merge-rule "ç…œ" "욱") (merge-rule "ç…ž" "살") (merge-rule "ç…¢" "경") (merge-rule "ç…¤" "매~b") (merge-rule "ç…¥" "환") (merge-rule "ç…¦" "á„’á…®~b") (merge-rule "ç…§" "조~b") (merge-rule "ç…¨" "á„‹á…¬~b") (merge-rule "ç…©" "번") (merge-rule "ç…¬" "양") (merge-rule "ç…®" "자~b") (merge-rule "ç…½" "선") (merge-rule "熀" "엽") (merge-rule "熄" "식") (merge-rule "熅" "온") (merge-rule "熇" "á„’á…­~b") (merge-rule "熉" "운") (merge-rule "熊" "웅") (merge-rule "ç†" "훈") (merge-rule "熒" "형") (merge-rule "熔" "용") (merge-rule "熙" "á„’á…´~b") (merge-rule "熛" "á„‘á…­~b") (merge-rule "熟" "숙") (merge-rule "熠" "습") (merge-rule "熢" "봉") (merge-rule "熤" "익") (merge-rule "熨" "á„‹á…±~b") (merge-rule "熬" "á„‹á…©~b") (merge-rule "熯" "선") (merge-rule "熱" "열") (merge-rule "熲" "경") (merge-rule "熹" "á„’á…´~b") (merge-rule "熺" "á„’á…´~b") (merge-rule "熾" "치~b") (merge-rule "ç‡" "엽") (merge-rule "燃" "연") (merge-rule "燈" "등") (merge-rule "燉" "돈") (merge-rule "燋" "초~b") (merge-rule "燎" "á„…á…­~b") (merge-rule "ç‡" "린") (merge-rule "燒" "소~b") (merge-rule "燔" "번") (merge-rule "燕" "연") (merge-rule "燖" "심") (merge-rule "燙" "á„ᅡᆼ") (merge-rule "營" "영") (merge-rule "燠" "욱") (merge-rule "燥" "조~b") (merge-rule "燦" "찬") (merge-rule "燧" "수~b") (merge-rule "燬" "á„’á…°~b") (merge-rule "燭" "촉") (merge-rule "燮" "섭") (merge-rule "燹" "á„’á…´~b") (merge-rule "燻" "훈") (merge-rule "燼" "신") (merge-rule "燾" "도~b") (merge-rule "燿" "á„‹á…­~b") (merge-rule "爀" "혁") (merge-rule "爆" "폭") (merge-rule "爇" "설") (merge-rule "爋" "훈") (merge-rule "爌" "광") (merge-rule "çˆ" "삭") (merge-rule "çˆ" "á„‚á…©~b") (merge-rule "爔" "á„’á…´~b") (merge-rule "爗" "엽") (merge-rule "爚" "약") (merge-rule "爛" "난") (merge-rule "爟" "관") (merge-rule "爥" "촉") (merge-rule "爨" "찬") (merge-rule "爪" "조~b") (merge-rule "爬" "á„‘á…¡~b") (merge-rule "爭" "쟁") (merge-rule "爰" "원") (merge-rule "爲" "á„‹á…±~b") (merge-rule "爵" "작") (merge-rule "父" "부~b") (merge-rule "爸" "á„‘á…¡~b") (merge-rule "爹" "다~b") (merge-rule "爺" "á„‹á…£~b") (merge-rule "爻" "á„’á…­~b") (merge-rule "爽" "상") (merge-rule "爾" "á„‹á…µ~b") (merge-rule "牀" "상") (merge-rule "牂" "장") (merge-rule "牆" "장") (merge-rule "片" "편") (merge-rule "版" "판") (merge-rule "牋" "전") (merge-rule "牌" "á„‘á…¢~b") (merge-rule "牒" "첩") (merge-rule "牓" "방") (merge-rule "牔" "박") (merge-rule "牖" "á„‹á…²~b") (merge-rule "牘" "독") (merge-rule "牙" "á„‹á…¡~b") (merge-rule "牚" "á„ᅢᆼ") (merge-rule "牛" "á„‹á…®~b") (merge-rule "ç‰" "빈") (merge-rule "牟" "모~b") (merge-rule "牡" "모~b") (merge-rule "牢" "á„‚á…¬~b") (merge-rule "牧" "목") (merge-rule "物" "물") (merge-rule "牯" "고~b") (merge-rule "牲" "생") (merge-rule "牴" "저~b") (merge-rule "牸" "자~b") (merge-rule "特" "á„ᅳᆨ") (merge-rule "牽" "견") (merge-rule "犀" "서~b") (merge-rule "çŠ" "á„…á…µ~b") (merge-rule "犇" "분") (merge-rule "çŠ" "건") (merge-rule "犒" "á„’á…©~b") (merge-rule "犖" "락") (merge-rule "犢" "독") (merge-rule "犧" "á„’á…´~b") (merge-rule "犬" "견") (merge-rule "犯" "범") (merge-rule "犳" "작") (merge-rule "犴" "안") (merge-rule "犵" "힐") (merge-rule "ç‹€" "상") (merge-rule "ç‹‚" "광") (merge-rule "ç‹„" "적") (merge-rule "狉" "비~b") (merge-rule "狎" "압") (merge-rule "ç‹" "á„’á…©~b") (merge-rule "ç‹’" "비~b") (merge-rule "ç‹—" "구~b") (merge-rule "ç‹™" "저~b") (merge-rule "ç‹¡" "교~b") (merge-rule "ç‹¢" "학") (merge-rule "ç‹¥" "순") (merge-rule "狨" "융") (merge-rule "ç‹©" "수~b") (merge-rule "ç‹´" "á„‘á…¨~b") (merge-rule "ç‹·" "견") (merge-rule "狸" "á„…á…µ~b") (merge-rule "狹" "협") (merge-rule "狺" "은") (merge-rule "ç‹»" "산") (merge-rule "狼" "낭") (merge-rule "狽" "á„‘á…¢~b") (merge-rule "猉" "기~b") (merge-rule "猊" "á„‹á…¨~b") (merge-rule "猓" "과~b") (merge-rule "猖" "창") (merge-rule "猗" "á„‹á…´~b") (merge-rule "猘" "제~b") (merge-rule "猙" "쟁") (merge-rule "猛" "맹") (merge-rule "猜" "시~b") (merge-rule "çŒ" "졸") (merge-rule "猢" "á„’á…©~b") (merge-rule "猥" "á„‹á…¬~b") (merge-rule "猧" "á„‹á…ª~b") (merge-rule "猨" "원") (merge-rule "猩" "성") (merge-rule "猪" "저~b") (merge-rule "猫" "묘~b") (merge-rule "猱" "á„‚á…©~b") (merge-rule "猴" "á„’á…®~b") (merge-rule "猶" "á„‹á…²~b") (merge-rule "猷" "á„‹á…²~b") (merge-rule "猾" "활") (merge-rule "猿" "원") (merge-rule "çƒ" "á„‹á…¢~b") (merge-rule "ç„" "옥") (merge-rule "ç…" "사~b") (merge-rule "ç" "장") (merge-rule "ç’" "á„‹á…©~b") (merge-rule "ç—" "궐") (merge-rule "ç˜" "á„‘á…¨~b") (merge-rule "çœ" "린") (merge-rule "ç " "á„…á…­~b") (merge-rule "ç¨" "독") (merge-rule "ç©" "á„‹á…¨~b") (merge-rule "çª" "á„’á…¬~b") (merge-rule "ç«" "험") (merge-rule "ç¬" "á„’á…¢~b") (merge-rule "ç¯" "훈") (merge-rule "ç°" "영") (merge-rule "ç²" "획") (merge-rule "çµ" "렵") (merge-rule "ç·" "광") (merge-rule "ç¸" "수~b") (merge-rule "çº" "달") (merge-rule "ç»" "헌") (merge-rule "ç¼" "미~b") (merge-rule "çŽ" "험") (merge-rule "玄" "현") (merge-rule "玆" "자~b") (merge-rule "率" "률") (merge-rule "玈" "á„…á…©~b") (merge-rule "玉" "옥") (merge-rule "王" "왕") (merge-rule "玎" "정") (merge-rule "玔" "천") (merge-rule "玕" "간") (merge-rule "玖" "구~b") (merge-rule "玗" "á„‹á…®~b") (merge-rule "玘" "기~b") (merge-rule "玞" "부~b") (merge-rule "玟" "민") (merge-rule "玠" "개~b") (merge-rule "玦" "결") (merge-rule "玧" "윤") (merge-rule "玩" "완") (merge-rule "玫" "매~b") (merge-rule "玭" "빈") (merge-rule "玲" "령") (merge-rule "玳" "대~b") (merge-rule "玷" "점") (merge-rule "玹" "현") (merge-rule "玻" "á„‘á…¡~b") (merge-rule "ç€" "박") (merge-rule "ç‚" "가~b") (merge-rule "ç†" "á„‹á…µ~b") (merge-rule "çˆ" "가~b") (merge-rule "ç‰" "민") (merge-rule "çŠ" "산") (merge-rule "çŒ" "필") (merge-rule "ç" "진") (merge-rule "ç" "각") (merge-rule "ç’" "진") (merge-rule "ç–" "광") (merge-rule "ç™" "공") (merge-rule "ç" "á„’á…®~b") (merge-rule "çž" "낙") (merge-rule "ç " "주~b") (merge-rule "ç¢" "은") (merge-rule "ç£" "순") (merge-rule "ç¤" "보~b") (merge-rule "ç¥" "á„‹á…µ~b") (merge-rule "ç¦" "향") (merge-rule "ç©" "형") (merge-rule "çª" "규~b") (merge-rule "ç«" "충") (merge-rule "ç­" "반") (merge-rule "ç®" "á„‘á…¢~b") (merge-rule "çµ" "정") (merge-rule "ç·" "무~b") (merge-rule "ç¹" "성") (merge-rule "ç½" "정") (merge-rule "ç¾" "현") (merge-rule "ç" "선") (merge-rule "çƒ" "구~b") (merge-rule "ç„" "현") (merge-rule "ç…" "랑") (merge-rule "ç†" "á„…á…µ~b") (merge-rule "ç‡" "수~b") (merge-rule "ç‰" "á„…á…²~b") (merge-rule "ç“" "완") (merge-rule "ç›" "침") (merge-rule "ç " "전") (merge-rule "ç¡" "숙") (merge-rule "ç¢" "á„ᅡᆨ") (merge-rule "ç¤" "쟁") (merge-rule "ç¥" "á„’á…©~b") (merge-rule "ç¦" "기~b") (merge-rule "ç¨" "곤") (merge-rule "çª" "기~b") (merge-rule "ç«" "봉") (merge-rule "ç¬" "완") (merge-rule "ç®" "종") (merge-rule "ç¯" "관") (merge-rule "ç°" "염") (merge-rule "ç±" "조~b") (merge-rule "ç²" "배~b") (merge-rule "ç³" "림") (merge-rule "ç´" "금") (merge-rule "çµ" "비~b") (merge-rule "ç¶" "á„‘á…¡~b") (merge-rule "ç¸" "á„ᅡᆨ") (merge-rule "çº" "법") (merge-rule "ç¿" "혼") (merge-rule "ç‘€" "á„‹á…®~b") (merge-rule "ç‘" "모~b") (merge-rule "瑃" "춘") (merge-rule "ç‘„" "선") (merge-rule "ç‘…" "제~b") (merge-rule "瑆" "성") (merge-rule "ç‘‹" "á„‹á…±~b") (merge-rule "瑎" "á„’á…¢~b") (merge-rule "ç‘•" "á„’á…¡~b") (merge-rule "ç‘—" "원") (merge-rule "ç‘™" "á„‚á…©~b") (merge-rule "瑚" "á„’á…©~b") (merge-rule "ç‘›" "영") (merge-rule "瑜" "á„‹á…²~b") (merge-rule "ç‘" "황") (merge-rule "瑞" "서~b") (merge-rule "瑟" "슬") (merge-rule "ç‘ " "á„…á…²~b") (merge-rule "ç‘¢" "용") (merge-rule "ç‘£" "쇄~b") (merge-rule "瑤" "á„‹á…­~b") (merge-rule "ç‘¥" "온") (merge-rule "瑨" "진") (merge-rule "ç‘©" "영") (merge-rule "瑪" "마~b") (merge-rule "ç‘­" "당") (merge-rule "瑯" "랑") (merge-rule "ç‘°" "괴~b") (merge-rule "瑱" "전") (merge-rule "瑲" "창") (merge-rule "瑳" "차~b") (merge-rule "瑽" "종") (merge-rule "瑾" "근") (merge-rule "ç’€" "최~b") (merge-rule "ç’‚" "기~b") (merge-rule "ç’ƒ" "á„…á…µ~b") (merge-rule "ç’†" "구~b") (merge-rule "ç’‡" "선") (merge-rule "ç’‰" "련") (merge-rule "ç’Š" "문") (merge-rule "ç’‹" "장") (merge-rule "ç’˜" "린") (merge-rule "ç’œ" "황") (merge-rule "ç’" "괴~b") (merge-rule "ç’ž" "박") (merge-rule "ç’Ÿ" "경") (merge-rule "ç’¡" "진") (merge-rule "ç’£" "기~b") (merge-rule "ç’¥" "경") (merge-rule "ç’§" "벽") (merge-rule "ç’¨" "찬") (merge-rule "ç’ª" "조~b") (merge-rule "ç’«" "당") (merge-rule "ç’°" "환") (merge-rule "ç’²" "수~b") (merge-rule "ç’µ" "á„‹á…§~b") (merge-rule "ç’¹" "숙") (merge-rule "ç’½" "새~b") (merge-rule "ç’¿" "선") (merge-rule "瓆" "질") (merge-rule "瓊" "경") (merge-rule "ç“" "롱") (merge-rule "ç“”" "영") (merge-rule "瓘" "관") (merge-rule "瓚" "찬") (merge-rule "ç“›" "환") (merge-rule "瓜" "과~b") (merge-rule "ç“ " "á„’á…©~b") (merge-rule "ç“¢" "á„‘á…­~b") (merge-rule "ç“£" "판") (merge-rule "瓦" "á„‹á…ª~b") (merge-rule "ç“©" "천") (merge-rule "ç“®" "옹") (merge-rule "瓲" "á„ᅩᆫ") (merge-rule "ç“·" "자~b") (merge-rule "ç”" "병") (merge-rule "甃" "추~b") (merge-rule "甄" "견") (merge-rule "甌" "구~b") (merge-rule "ç”" "맹") (merge-rule "甎" "전") (merge-rule "甑" "증") (merge-rule "甓" "벽") (merge-rule "甕" "옹") (merge-rule "甘" "감") (merge-rule "甚" "심") (merge-rule "ç”›" "첨") (merge-rule "甞" "상") (merge-rule "生" "생") (merge-rule "産" "산") (merge-rule "甥" "생") (merge-rule "甦" "소~b") (merge-rule "用" "용") (merge-rule "甫" "보~b") (merge-rule "甬" "용") (merge-rule "ç”°" "전") (merge-rule "ç”±" "á„‹á…²~b") (merge-rule "甲" "갑") (merge-rule "申" "신") (merge-rule "ç”·" "남") (merge-rule "甸" "전") (merge-rule "町" "정") (merge-rule "甿" "맹") (merge-rule "畇" "균") (merge-rule "畊" "경") (merge-rule "ç•‹" "전") (merge-rule "界" "계~b") (merge-rule "畎" "견") (merge-rule "ç•" "á„‹á…¬~b") (merge-rule "ç•‘" "전") (merge-rule "ç•“" "답") (merge-rule "ç•”" "반") (merge-rule "ç•™" "á„…á…²~b") (merge-rule "畚" "분") (merge-rule "ç•›" "진") (merge-rule "畜" "축") (merge-rule "ç•" "무~b") (merge-rule "ç• " "전") (merge-rule "ç•¢" "필") (merge-rule "畤" "치~b") (merge-rule "ç•¥" "략") (merge-rule "畦" "á„’á…²~b") (merge-rule "ç•§" "략") (merge-rule "番" "번") (merge-rule "ç•«" "á„’á…ª~b") (merge-rule "畯" "준") (merge-rule "ç•°" "á„…á…µ~b") (merge-rule "畵" "á„’á…ª~b") (merge-rule "ç•¶" "당") (merge-rule "畸" "기~b") (merge-rule "畺" "강") (merge-rule "ç•¿" "기~b") (merge-rule "ç–†" "강") (merge-rule "ç–‡" "주~b") (merge-rule "ç–ˆ" "벽") (merge-rule "ç–Š" "첩") (merge-rule "ç–‹" "필") (merge-rule "ç–Ž" "소~b") (merge-rule "ç–" "소~b") (merge-rule "ç–‘" "á„‹á…´~b") (merge-rule "ç–”" "정") (merge-rule "ç–™" "흘") (merge-rule "ç–š" "구~b") (merge-rule "ç–" "산") (merge-rule "ç–£" "á„‹á…®~b") (merge-rule "ç–¥" "개~b") (merge-rule "ç–©" "췌~b") (merge-rule "ç–«" "역") (merge-rule "ç–±" "á„‘á…©~b") (merge-rule "ç–²" "á„‘á…µ~b") (merge-rule "ç–³" "감") (merge-rule "ç–´" "á„‹á…¡~b") (merge-rule "ç–µ" "자~b") (merge-rule "ç–¸" "달") (merge-rule "ç–¹" "진") (merge-rule "ç–¼" "동") (merge-rule "ç–½" "저~b") (merge-rule "ç–¾" "질") (merge-rule "ç—€" "구~b") (merge-rule "ç—‚" "가~b") (merge-rule "ç—ƒ" "현") (merge-rule "ç—…" "병") (merge-rule "ç—‡" "증") (merge-rule "ç—Š" "전") (merge-rule "ç—" "á„‹á…µ~b") (merge-rule "ç—Ž" "á„’á…¢~b") (merge-rule "ç—’" "양") (merge-rule "ç—“" "치~b") (merge-rule "ç—”" "치~b") (merge-rule "ç—•" "흔") (merge-rule "ç—˜" "두~b") (merge-rule "ç—™" "경") (merge-rule "ç—›" "á„ᅩᆼ") (merge-rule "ç—ž" "비~b") (merge-rule "ç—¢" "á„…á…µ~b") (merge-rule "ç—£" "지~b") (merge-rule "ç—¤" "좌~b") (merge-rule "ç—§" "사~b") (merge-rule "ç—°" "담") (merge-rule "ç—²" "마~b") (merge-rule "ç—³" "림") (merge-rule "ç—´" "치~b") (merge-rule "ç—¹" "비~b") (merge-rule "ç—º" "비~b") (merge-rule "ç—¼" "고~b") (merge-rule "ç—¿" "á„‹á…±~b") (merge-rule "瘀" "á„‹á…¥~b") (merge-rule "ç˜" "췌~b") (merge-rule "瘇" "종") (merge-rule "瘈" "계~b") (merge-rule "瘉" "á„‹á…²~b") (merge-rule "瘋" "풍") (merge-rule "ç˜" "양") (merge-rule "ç˜" "á„‹á…²~b") (merge-rule "瘕" "á„’á…¡~b") (merge-rule "瘙" "소~b") (merge-rule "瘟" "온") (merge-rule "瘠" "척") (merge-rule "瘡" "창") (merge-rule "瘢" "반") (merge-rule "瘤" "á„…á…²~b") (merge-rule "瘦" "수~b") (merge-rule "瘧" "학") (merge-rule "瘯" "족") (merge-rule "瘰" "á„…á…¡~b") (merge-rule "瘳" "추~b") (merge-rule "瘴" "장") (merge-rule "瘻" "á„…á…®~b") (merge-rule "療" "á„…á…­~b") (merge-rule "癃" "륭") (merge-rule "癆" "á„…á…©~b") (merge-rule "癈" "á„‘á…¨~b") (merge-rule "癉" "단") (merge-rule "癌" "암") (merge-rule "癎" "간") (merge-rule "ç™’" "á„‹á…²~b") (merge-rule "癕" "옹") (merge-rule "ç™–" "벽") (merge-rule "癘" "á„…á…§~b") (merge-rule "癜" "전") (merge-rule "癡" "치~b") (merge-rule "癢" "양") (merge-rule "癤" "절") (merge-rule "癥" "징") (merge-rule "ç™§" "력") (merge-rule "癨" "곽") (merge-rule "癩" "á„‚á…¡~b") (merge-rule "癬" "선") (merge-rule "ç™­" "영") (merge-rule "ç™®" "은") (merge-rule "癯" "구~b") (merge-rule "ç™°" "옹") (merge-rule "ç™±" "á„ᅡᆫ") (merge-rule "癲" "전") (merge-rule "癸" "계~b") (merge-rule "ç™»" "등") (merge-rule "發" "발") (merge-rule "白" "백") (merge-rule "百" "백") (merge-rule "皀" "급") (merge-rule "çš" "조~b") (merge-rule "皃" "모~b") (merge-rule "çš„" "적") (merge-rule "皆" "개~b") (merge-rule "皇" "황") (merge-rule "çš‹" "고~b") (merge-rule "皎" "교~b") (merge-rule "çš" "고~b") (merge-rule "çš“" "á„’á…©~b") (merge-rule "çš–" "환") (merge-rule "çšš" "á„‹á…¢~b") (merge-rule "çš›" "á„’á…­~b") (merge-rule "çšœ" "á„’á…©~b") (merge-rule "çšž" "á„’á…©~b") (merge-rule "皤" "á„‘á…¡~b") (merge-rule "皬" "학") (merge-rule "çš®" "á„‘á…µ~b") (merge-rule "çš´" "준") (merge-rule "çš¶" "사~b") (merge-rule "皸" "군") (merge-rule "皺" "추~b") (merge-rule "çš¿" "명") (merge-rule "盂" "á„‹á…®~b") (merge-rule "盃" "배~b") (merge-rule "盆" "분") (merge-rule "盈" "영") (merge-rule "益" "익") (merge-rule "盌" "완") (merge-rule "ç›" "합") (merge-rule "盎" "앙") (merge-rule "ç›’" "합") (merge-rule "ç›”" "á„’á…¬~b") (merge-rule "ç›–" "개~b") (merge-rule "ç›™" "보~b") (merge-rule "ç››" "성") (merge-rule "盜" "도~b") (merge-rule "盞" "잔") (merge-rule "盟" "맹") (merge-rule "盡" "진") (merge-rule "監" "감") (merge-rule "盤" "반") (merge-rule "盥" "관") (merge-rule "ç›§" "á„‚á…©~b") (merge-rule "盪" "á„ᅡᆼ") (merge-rule "盬" "고~b") (merge-rule "ç›®" "목") (merge-rule "ç›±" "á„‹á…®~b") (merge-rule "盲" "맹") (merge-rule "ç›´" "직") (merge-rule "相" "상") (merge-rule "盹" "순") (merge-rule "ç›»" "á„’á…¨~b") (merge-rule "盼" "반") (merge-rule "盾" "순") (merge-rule "çœ" "생") (merge-rule "眄" "면") (merge-rule "眇" "묘~b") (merge-rule "眈" "á„ᅡᆷ") (merge-rule "眉" "미~b") (merge-rule "眊" "모~b") (merge-rule "看" "간") (merge-rule "県" "현") (merge-rule "眚" "생") (merge-rule "眛" "매~b") (merge-rule "眞" "진") (merge-rule "眠" "면") (merge-rule "眥" "자~b") (merge-rule "眦" "자~b") (merge-rule "眨" "잡") (merge-rule "眩" "현") (merge-rule "眴" "순") (merge-rule "眷" "권") (merge-rule "眸" "모~b") (merge-rule "眺" "조~b") (merge-rule "眻" "양") (merge-rule "眼" "안") (merge-rule "眾" "중") (merge-rule "ç€" "착") (merge-rule "ç†" "환") (merge-rule "ç‡" "제~b") (merge-rule "ç" "현") (merge-rule "ç’" "섬") (merge-rule "çš" "á„‹á…¢~b") (merge-rule "ç›" "정") (merge-rule "çŸ" "수~b") (merge-rule "ç " "권") (merge-rule "ç¡" "수~b") (merge-rule "ç¢" "수~b") (merge-rule "ç£" "독") (merge-rule "ç¥" "비~b") (merge-rule "ç¦" "목") (merge-rule "ç¨" "á„‹á…¨~b") (merge-rule "ç«" "첩") (merge-rule "ç·" "건") (merge-rule "ç¹" "도~b") (merge-rule "ç½" "규~b") (merge-rule "ç¾" "고~b") (merge-rule "ç¿" "á„‹á…¨~b") (merge-rule "çž‹" "진") (merge-rule "çž" "수~b") (merge-rule "瞎" "할") (merge-rule "çž‘" "명") (merge-rule "çž–" "á„‹á…¨~b") (merge-rule "çž™" "막") (merge-rule "çžž" "만") (merge-rule "çž " "당") (merge-rule "瞢" "몽") (merge-rule "瞥" "별") (merge-rule "瞪" "징") (merge-rule "瞬" "순") (merge-rule "çž­" "á„…á…­~b") (merge-rule "çž°" "감") (merge-rule "çž³" "동") (merge-rule "çž¹" "á„‹á…¢~b") (merge-rule "çž»" "첨") (merge-rule "çž¼" "검") (merge-rule "çž½" "고~b") (merge-rule "çž¿" "구~b") (merge-rule "矇" "몽") (merge-rule "矉" "빈") (merge-rule "çŸ" "확") (merge-rule "矗" "촉") (merge-rule "矙" "감") (merge-rule "矚" "촉") (merge-rule "矛" "모~b") (merge-rule "矜" "긍") (merge-rule "矞" "율") (merge-rule "矡" "확") (merge-rule "矢" "시~b") (merge-rule "矣" "á„‹á…´~b") (merge-rule "知" "지~b") (merge-rule "矧" "신") (merge-rule "矩" "구~b") (merge-rule "短" "단") (merge-rule "矮" "á„‹á…«~b") (merge-rule "矯" "교~b") (merge-rule "矰" "증") (merge-rule "石" "석") (merge-rule "矺" "á„ᅡᆨ") (merge-rule "矻" "골") (merge-rule "矼" "강") (merge-rule "矽" "석") (merge-rule "ç ‚" "사~b") (merge-rule "ç Œ" "체~b") (merge-rule "ç " "분") (merge-rule "ç ‘" "á„‹á…¡~b") (merge-rule "ç ’" "비~b") (merge-rule "ç ¢" "á„…á…¡~b") (merge-rule "ç ¥" "지~b") (merge-rule "ç ¦" "채~b") (merge-rule "ç §" "침") (merge-rule "ç ¬" "립") (merge-rule "ç ­" "폄") (merge-rule "ç °" "팽") (merge-rule "ç ²" "á„‘á…©~b") (merge-rule "ç ´" "á„‘á…¡~b") (merge-rule "硃" "주~b") (merge-rule "ç¡…" "규~b") (merge-rule "ç¡" "연") (merge-rule "硜" "갱") (merge-rule "ç¡" "초~b") (merge-rule "ç¡ " "랑") (merge-rule "ç¡§" "용") (merge-rule "硨" "차~b") (merge-rule "ç¡«" "á„…á…²~b") (merge-rule "硬" "경") (merge-rule "ç¡®" "학") (merge-rule "硯" "연") (merge-rule "硼" "붕") (merge-rule "ç¢" "기~b") (merge-rule "碇" "정") (merge-rule "碌" "녹") (merge-rule "ç¢" "á„‹á…¢~b") (merge-rule "碎" "쇄~b") (merge-rule "ç¢" "작") (merge-rule "碑" "비~b") (merge-rule "碓" "대~b") (merge-rule "碗" "완") (merge-rule "碟" "설") (merge-rule "碣" "갈") (merge-rule "碤" "영") (merge-rule "碧" "벽") (merge-rule "碨" "á„‹á…¬~b") (merge-rule "碩" "석") (merge-rule "碭" "á„ᅡᆼ") (merge-rule "確" "확") (merge-rule "碻" "확") (merge-rule "碼" "마~b") (merge-rule "碾" "년") (merge-rule "ç£" "자~b") (merge-rule "磅" "방") (merge-rule "磈" "á„‹á…¬~b") (merge-rule "磊" "á„‚á…¬~b") (merge-rule "磋" "차~b") (merge-rule "磎" "계~b") (merge-rule "ç£" "렴") (merge-rule "ç£" "반") (merge-rule "磑" "á„‹á…¢~b") (merge-rule "磔" "책") (merge-rule "磕" "개~b") (merge-rule "磚" "전") (merge-rule "磠" "á„‚á…­~b") (merge-rule "磧" "적") (merge-rule "磨" "마~b") (merge-rule "磪" "최~b") (merge-rule "磬" "경") (merge-rule "磯" "기~b") (merge-rule "磴" "등") (merge-rule "磵" "간") (merge-rule "磷" "린") (merge-rule "磺" "광") (merge-rule "磻" "반") (merge-rule "磼" "잡") (merge-rule "磽" "교~b") (merge-rule "ç¤" "초~b") (merge-rule "礌" "á„…á…¬~b") (merge-rule "礎" "초~b") (merge-rule "ç¤" "급") (merge-rule "礑" "당") (merge-rule "礒" "á„‹á…´~b") (merge-rule "礖" "á„‹á…§~b") (merge-rule "礙" "á„‹á…¢~b") (merge-rule "礧" "á„…á…¬~b") (merge-rule "礪" "á„…á…§~b") (merge-rule "礫" "력") (merge-rule "礬" "반") (merge-rule "礭" "확") (merge-rule "礱" "롱") (merge-rule "示" "시~b") (merge-rule "社" "사~b") (merge-rule "祀" "사~b") (merge-rule "ç¥" "기~b") (merge-rule "祅" "á„‹á…­~b") (merge-rule "祆" "천") (merge-rule "祇" "기~b") (merge-rule "祈" "기~b") (merge-rule "祉" "지~b") (merge-rule "祊" "팽") (merge-rule "ç¥" "á„‹á…®~b") (merge-rule "祓" "불") (merge-rule "祔" "부~b") (merge-rule "祕" "비~b") (merge-rule "祖" "조~b") (merge-rule "祗" "지~b") (merge-rule "祚" "조~b") (merge-rule "祛" "거~b") (merge-rule "祜" "á„’á…©~b") (merge-rule "ç¥" "축") (merge-rule "神" "신") (merge-rule "祟" "수~b") (merge-rule "祠" "사~b") (merge-rule "祢" "á„‚á…µ~b") (merge-rule "祥" "상") (merge-rule "祧" "조~b") (merge-rule "票" "á„‘á…­~b") (merge-rule "祭" "제~b") (merge-rule "祺" "기~b") (merge-rule "祼" "관") (merge-rule "祿" "녹") (merge-rule "禀" "품") (merge-rule "ç¦" "금") (merge-rule "禊" "계~b") (merge-rule "禋" "인") (merge-rule "ç¦" "á„’á…ª~b") (merge-rule "禎" "정") (merge-rule "ç¦" "복") (merge-rule "禑" "á„‹á…®~b") (merge-rule "禔" "제~b") (merge-rule "ç¦" "직") (merge-rule "禦" "á„‹á…¥~b") (merge-rule "禧" "á„’á…´~b") (merge-rule "禨" "기~b") (merge-rule "禪" "선") (merge-rule "禫" "담") (merge-rule "禮" "á„…á…¨~b") (merge-rule "禰" "á„‚á…µ~b") (merge-rule "禱" "도~b") (merge-rule "禳" "양") (merge-rule "禴" "약") (merge-rule "禹" "á„‹á…®~b") (merge-rule "禺" "옹") (merge-rule "离" "á„…á…µ~b") (merge-rule "禽" "금") (merge-rule "禾" "á„’á…ª~b") (merge-rule "禿" "독") (merge-rule "ç§€" "수~b") (merge-rule "ç§" "사~b") (merge-rule "秆" "간") (merge-rule "秉" "병") (merge-rule "ç§Š" "년") (merge-rule "ç§‹" "추~b") (merge-rule "ç§‘" "과~b") (merge-rule "ç§’" "초~b") (merge-rule "ç§•" "비~b") (merge-rule "秘" "비~b") (merge-rule "ç§Ÿ" "조~b") (merge-rule "ç§¢" "령") (merge-rule "ç§£" "말") (merge-rule "秤" "칭") (merge-rule "秦" "진") (merge-rule "ç§§" "앙") (merge-rule "ç§©" "질") (merge-rule "秪" "지~b") (merge-rule "ç§«" "출") (merge-rule "秬" "거~b") (merge-rule "秸" "갈") (merge-rule "ç§»" "á„‹á…µ~b") (merge-rule "稀" "á„’á…´~b") (merge-rule "ç¨" "고~b") (merge-rule "稂" "랑") (merge-rule "稅" "세~b") (merge-rule "稈" "간") (merge-rule "稊" "제~b") (merge-rule "程" "정") (merge-rule "稌" "도~b") (merge-rule "ç¨" "초~b") (merge-rule "稔" "임") (merge-rule "稗" "á„‘á…¢~b") (merge-rule "稙" "직") (merge-rule "稚" "치~b") (merge-rule "稜" "능") (merge-rule "稞" "과~b") (merge-rule "稟" "품") (merge-rule "稠" "조~b") (merge-rule "稧" "설") (merge-rule "種" "종") (merge-rule "稱" "칭") (merge-rule "稶" "욱") (merge-rule "稷" "직") (merge-rule "稹" "진") (merge-rule "稻" "도~b") (merge-rule "稼" "가~b") (merge-rule "稽" "계~b") (merge-rule "稿" "고~b") (merge-rule "ç©€" "곡") (merge-rule "ç©…" "강") (merge-rule "穆" "목") (merge-rule "穉" "치~b") (merge-rule "ç©" "적") (merge-rule "穎" "영") (merge-rule "ç©—" "수~b") (merge-rule "ç© " "농") (merge-rule "ç©¡" "색") (merge-rule "ç©¢" "á„‹á…¨~b") (merge-rule "ç©©" "온") (merge-rule "ç©«" "확") (merge-rule "ç©°" "양") (merge-rule "ç©´" "혈") (merge-rule "穵" "알") (merge-rule "ç©¶" "구~b") (merge-rule "穹" "궁") (merge-rule "空" "공") (merge-rule "穽" "정") (merge-rule "穾" "á„‹á…­~b") (merge-rule "ç©¿" "천") (merge-rule "窀" "둔") (merge-rule "çª" "돌") (merge-rule "窂" "á„…á…©~b") (merge-rule "窃" "절") (merge-rule "窄" "착") (merge-rule "窅" "á„‹á…­~b") (merge-rule "窆" "폄") (merge-rule "窈" "á„‹á…­~b") (merge-rule "窊" "á„‹á…ª~b") (merge-rule "窒" "질") (merge-rule "窓" "창") (merge-rule "窕" "조~b") (merge-rule "窖" "교~b") (merge-rule "窗" "창") (merge-rule "窘" "군") (merge-rule "窛" "구~b") (merge-rule "窟" "굴") (merge-rule "窠" "과~b") (merge-rule "窣" "솔") (merge-rule "窩" "á„‹á…ª~b") (merge-rule "窪" "á„‹á…ª~b") (merge-rule "窬" "á„‹á…²~b") (merge-rule "窮" "궁") (merge-rule "窯" "á„‹á…­~b") (merge-rule "窳" "á„‹á…²~b") (merge-rule "窶" "구~b") (merge-rule "窹" "á„‹á…©~b") (merge-rule "窺" "규~b") (merge-rule "窻" "창") (merge-rule "窾" "관") (merge-rule "窿" "륭") (merge-rule "ç«„" "찬") (merge-rule "ç«…" "규~b") (merge-rule "竇" "두~b") (merge-rule "竈" "조~b") (merge-rule "竊" "절") (merge-rule "ç«‹" "립") (merge-rule "ç«—" "묘~b") (merge-rule "ç«™" "참") (merge-rule "ç«" "병") (merge-rule "竟" "경") (merge-rule "ç« " "장") (merge-rule "ç«¢" "사~b") (merge-rule "ç«£" "준") (merge-rule "ç«¥" "동") (merge-rule "竦" "송") (merge-rule "竪" "수~b") (merge-rule "ç«­" "갈") (merge-rule "端" "단") (merge-rule "ç«¶" "경") (merge-rule "竸" "경") (merge-rule "竹" "죽") (merge-rule "竺" "축") (merge-rule "竽" "á„‹á…®~b") (merge-rule "ç«¿" "간") (merge-rule "笆" "á„‘á…¡~b") (merge-rule "笈" "급") (merge-rule "笊" "조~b") (merge-rule "笌" "á„‹á…¡~b") (merge-rule "ç¬" "홀") (merge-rule "笑" "소~b") (merge-rule "笒" "금") (merge-rule "笘" "점") (merge-rule "笙" "생") (merge-rule "笛" "적") (merge-rule "笞" "á„á…¢~b") (merge-rule "笠" "립") (merge-rule "笥" "사~b") (merge-rule "符" "부~b") (merge-rule "笧" "책") (merge-rule "笨" "분") (merge-rule "第" "제~b") (merge-rule "笭" "령") (merge-rule "笯" "á„‚á…©~b") (merge-rule "笳" "가~b") (merge-rule "笵" "범") (merge-rule "笹" "세~b") (merge-rule "ç­…" "선") (merge-rule "ç­†" "필") (merge-rule "ç­ˆ" "괄") (merge-rule "ç­‰" "등") (merge-rule "ç­‹" "근") (merge-rule "ç­Œ" "전") (merge-rule "ç­" "순") (merge-rule "ç­" "벌") (merge-rule "ç­" "광") (merge-rule "ç­‘" "축") (merge-rule "ç­’" "á„ᅩᆼ") (merge-rule "ç­“" "계~b") (merge-rule "ç­”" "답") (merge-rule "ç­–" "책") (merge-rule "ç­Ÿ" "부~b") (merge-rule "ç­ " "균") (merge-rule "ç­¥" "거~b") (merge-rule "ç­¦" "관") (merge-rule "ç­§" "견") (merge-rule "ç­©" "á„ᅩᆼ") (merge-rule "ç­¬" "성") (merge-rule "ç­®" "서~b") (merge-rule "ç­±" "소~b") (merge-rule "ç­³" "정") (merge-rule "ç­µ" "연") (merge-rule "ç­½" "á„‹á…©~b") (merge-rule "箇" "개~b") (merge-rule "箋" "전") (merge-rule "ç®" "고~b") (merge-rule "箎" "á„’á…©~b") (merge-rule "ç®" "쟁") (merge-rule "ç®’" "추~b") (merge-rule "ç®”" "박") (merge-rule "箕" "기~b") (merge-rule "ç®—" "산") (merge-rule "ç®™" "복") (merge-rule "箚" "차~b") (merge-rule "箜" "공") (merge-rule "ç®" "겸") (merge-rule "ç® " "추~b") (merge-rule "管" "관") (merge-rule "ç®­" "전") (merge-rule "ç®±" "상") (merge-rule "ç®´" "잠") (merge-rule "箸" "저~b") (merge-rule "箾" "소~b") (merge-rule "節" "절") (merge-rule "ç¯" "황") (merge-rule "範" "범") (merge-rule "篆" "전") (merge-rule "篇" "편") (merge-rule "築" "축") (merge-rule "篊" "홍") (merge-rule "篋" "협") (merge-rule "篌" "á„’á…®~b") (merge-rule "篒" "식") (merge-rule "篔" "운") (merge-rule "篙" "고~b") (merge-rule "篛" "약") (merge-rule "ç¯" "구~b") (merge-rule "篠" "소~b") (merge-rule "篤" "독") (merge-rule "篦" "비~b") (merge-rule "篩" "사~b") (merge-rule "篪" "지~b") (merge-rule "篳" "필") (merge-rule "篷" "봉") (merge-rule "篾" "멸") (merge-rule "ç°€" "책") (merge-rule "ç°‡" "족") (merge-rule "ç°‰" "추~b") (merge-rule "ç°‹" "궤~b") (merge-rule "ç°" "록") (merge-rule "ç°’" "찬") (merge-rule "ç°ž" "단") (merge-rule "ç°Ÿ" "점") (merge-rule "ç° " "보~b") (merge-rule "ç°¡" "간") (merge-rule "ç°§" "황") (merge-rule "ç°ª" "잠") (merge-rule "ç°«" "소~b") (merge-rule "ç°·" "첨") (merge-rule "ç°¸" "á„‘á…¡~b") (merge-rule "ç°½" "첨") (merge-rule "ç°¾" "렴") (merge-rule "ç°¿" "부~b") (merge-rule "籃" "람") (merge-rule "籌" "주~b") (merge-rule "ç±" "적") (merge-rule "ç±" "등") (merge-rule "ç±’" "주~b") (merge-rule "ç±”" "수~b") (merge-rule "ç±›" "전") (merge-rule "籜" "á„ᅡᆨ") (merge-rule "籟" "á„…á…¬~b") (merge-rule "ç± " "농") (merge-rule "籤" "첨") (merge-rule "ç±¥" "약") (merge-rule "ç±§" "거~b") (merge-rule "籩" "변") (merge-rule "籬" "á„…á…µ~b") (merge-rule "ç±²" "á„‹á…²~b") (merge-rule "ç±³" "미~b") (merge-rule "ç±¾" "인") (merge-rule "ç²" "천") (merge-rule "粃" "비~b") (merge-rule "粉" "분") (merge-rule "ç²" "모~b") (merge-rule "ç²’" "립") (merge-rule "粕" "박") (merge-rule "ç²—" "조~b") (merge-rule "粘" "점") (merge-rule "粟" "속") (merge-rule "ç²¢" "자~b") (merge-rule "粤" "월") (merge-rule "ç²¥" "죽") (merge-rule "粦" "린") (merge-rule "ç²§" "장") (merge-rule "粨" "백") (merge-rule "ç²®" "량") (merge-rule "ç²±" "량") (merge-rule "ç²²" "찬") (merge-rule "ç²³" "갱") (merge-rule "ç²¹" "수~b") (merge-rule "ç²¼" "린") (merge-rule "ç²½" "종") (merge-rule "ç²¾" "정") (merge-rule "ç³…" "á„‹á…²~b") (merge-rule "糆" "면") (merge-rule "糊" "á„’á…©~b") (merge-rule "糕" "고~b") (merge-rule "ç³–" "당") (merge-rule "ç³—" "구~b") (merge-rule "ç³™" "조~b") (merge-rule "糚" "장") (merge-rule "糜" "미~b") (merge-rule "ç³" "삼") (merge-rule "糞" "분") (merge-rule "糟" "조~b") (merge-rule "ç³ " "강") (merge-rule "ç³¢" "모~b") (merge-rule "ç³¥" "á„‚á…¡~b") (merge-rule "ç³§" "량") (merge-rule "糯" "á„‚á…¡~b") (merge-rule "ç³²" "á„…á…§~b") (merge-rule "ç³´" "적") (merge-rule "ç³¶" "조~b") (merge-rule "糸" "멱") (merge-rule "糺" "규~b") (merge-rule "ç³»" "계~b") (merge-rule "ç³¾" "규~b") (merge-rule "ç´€" "기~b") (merge-rule "ç´‚" "주~b") (merge-rule "ç´ƒ" "순") (merge-rule "ç´„" "약") (merge-rule "ç´…" "홍") (merge-rule "ç´†" "á„‹á…®~b") (merge-rule "ç´‡" "흘") (merge-rule "ç´ˆ" "환") (merge-rule "ç´Š" "문") (merge-rule "ç´‹" "문") (merge-rule "ç´" "납") (merge-rule "ç´" "á„‚á…²~b") (merge-rule "ç´“" "서~b") (merge-rule "ç´”" "순") (merge-rule "ç´•" "비~b") (merge-rule "ç´—" "사~b") (merge-rule "ç´˜" "굉") (merge-rule "ç´™" "지~b") (merge-rule "ç´š" "급") (merge-rule "ç´›" "분") (merge-rule "ç´œ" "운") (merge-rule "ç´ " "소~b") (merge-rule "ç´¡" "방") (merge-rule "ç´¢" "삭") (merge-rule "ç´«" "자~b") (merge-rule "ç´¬" "주~b") (merge-rule "ç´®" "찰") (merge-rule "ç´¯" "á„‚á…®~b") (merge-rule "ç´°" "세~b") (merge-rule "ç´±" "불") (merge-rule "ç´²" "설") (merge-rule "ç´³" "신") (merge-rule "ç´µ" "저~b") (merge-rule "ç´¹" "소~b") (merge-rule "ç´º" "감") (merge-rule "終" "종") (merge-rule "絃" "현") (merge-rule "組" "조~b") (merge-rule "çµ…" "경") (merge-rule "絆" "반") (merge-rule "絉" "술") (merge-rule "çµ" "임") (merge-rule "çµ" "결") (merge-rule "çµ–" "광") (merge-rule "çµ™" "환") (merge-rule "çµ›" "조~b") (merge-rule "絜" "혈") (merge-rule "絞" "교~b") (merge-rule "絡" "락") (merge-rule "çµ¢" "현") (merge-rule "çµ£" "병") (merge-rule "給" "급") (merge-rule "絨" "융") (merge-rule "絩" "조~b") (merge-rule "絪" "인") (merge-rule "çµ®" "서~b") (merge-rule "çµ°" "질") (merge-rule "çµ±" "á„ᅩᆼ") (merge-rule "çµ²" "사~b") (merge-rule "çµ³" "강") (merge-rule "çµ¶" "절") (merge-rule "çµ¹" "견") (merge-rule "絺" "치~b") (merge-rule "絿" "구~b") (merge-rule "綃" "초~b") (merge-rule "綆" "경") (merge-rule "ç¶Ž" "정") (merge-rule "ç¶" "수~b") (merge-rule "ç¶“" "경") (merge-rule "綘" "봉") (merge-rule "ç¶œ" "종") (merge-rule "ç¶ " "녹") (merge-rule "ç¶¢" "주~b") (merge-rule "ç¶£" "권") (merge-rule "ç¶¥" "기~b") (merge-rule "綦" "기~b") (merge-rule "ç¶§" "준") (merge-rule "ç¶©" "원") (merge-rule "ç¶«" "선") (merge-rule "綬" "수~b") (merge-rule "ç¶­" "á„‹á…²~b") (merge-rule "ç¶®" "계~b") (merge-rule "ç¶°" "관") (merge-rule "ç¶±" "강") (merge-rule "ç¶²" "망") (merge-rule "ç¶´" "철") (merge-rule "ç¶µ" "채~b") (merge-rule "綸" "륜") (merge-rule "綺" "기~b") (merge-rule "ç¶»" "á„ᅡᆫ") (merge-rule "ç¶½" "작") (merge-rule "ç¶¾" "능") (merge-rule "ç¶¿" "면") (merge-rule "ç·„" "곤") (merge-rule "ç·‡" "치~b") (merge-rule "ç·Š" "긴") (merge-rule "ç·‹" "비~b") (merge-rule "ç·Œ" "á„‹á…²~b") (merge-rule "ç·" "민") (merge-rule "ç·–" "서~b") (merge-rule "ç·—" "상") (merge-rule "ç·˜" "함") (merge-rule "ç·š" "선") (merge-rule "ç·œ" "면") (merge-rule "ç·" "집") (merge-rule "ç·ž" "단") (merge-rule "ç· " "체~b") (merge-rule "ç·¡" "민") (merge-rule "ç·£" "연") (merge-rule "ç·¦" "시~b") (merge-rule "ç·¨" "편") (merge-rule "ç·©" "완") (merge-rule "ç·¬" "면") (merge-rule "ç·¯" "á„‹á…±~b") (merge-rule "ç·´" "련") (merge-rule "ç·¶" "편") (merge-rule "ç·¹" "제~b") (merge-rule "ç·»" "치~b") (merge-rule "縈" "영") (merge-rule "縉" "진") (merge-rule "縊" "액") (merge-rule "縋" "추~b") (merge-rule "ç¸" "추~b") (merge-rule "縑" "겸") (merge-rule "縕" "온") (merge-rule "縗" "최~b") (merge-rule "縘" "계~b") (merge-rule "縛" "박") (merge-rule "ç¸" "진") (merge-rule "縞" "á„’á…©~b") (merge-rule "縟" "욕") (merge-rule "縠" "곡") (merge-rule "縡" "재~b") (merge-rule "縢" "등") (merge-rule "縣" "현") (merge-rule "縫" "봉") (merge-rule "縮" "축") (merge-rule "縯" "연") (merge-rule "縱" "종") (merge-rule "縲" "á„…á…²~b") (merge-rule "縳" "견") (merge-rule "縵" "만") (merge-rule "縷" "á„‚á…®~b") (merge-rule "縹" "á„‘á…­~b") (merge-rule "縻" "미~b") (merge-rule "總" "총") (merge-rule "績" "적") (merge-rule "ç¹" "번") (merge-rule "繃" "붕") (merge-rule "繄" "á„‹á…¨~b") (merge-rule "ç¹…" "소~b") (merge-rule "繆" "무~b") (merge-rule "繇" "á„‹á…­~b") (merge-rule "繈" "강") (merge-rule "ç¹" "세~b") (merge-rule "ç¹’" "증") (merge-rule "ç¹”" "직") (merge-rule "繕" "선") (merge-rule "ç¹–" "산") (merge-rule "ç¹—" "린") (merge-rule "ç¹™" "번") (merge-rule "繚" "á„…á…­~b") (merge-rule "繞" "á„‹á…­~b") (merge-rule "繡" "수~b") (merge-rule "ç¹¢" "궤~b") (merge-rule "繩" "승") (merge-rule "繪" "á„’á…¬~b") (merge-rule "繫" "계~b") (merge-rule "ç¹­" "견") (merge-rule "繯" "현") (merge-rule "ç¹°" "조~b") (merge-rule "ç¹¶" "억") (merge-rule "ç¹¹" "역") (merge-rule "ç¹¼" "계~b") (merge-rule "ç¹½" "빈") (merge-rule "ç¹¾" "견") (merge-rule "çº" "훈") (merge-rule "纂" "찬") (merge-rule "纇" "á„…á…¬~b") (merge-rule "纈" "힐") (merge-rule "纊" "광") (merge-rule "續" "속") (merge-rule "çº" "á„…á…²~b") (merge-rule "çº" "전") (merge-rule "纓" "영") (merge-rule "纔" "재~b") (merge-rule "纖" "섬") (merge-rule "纘" "찬") (merge-rule "纛" "독") (merge-rule "纜" "람") (merge-rule "ç¼¶" "부~b") (merge-rule "ç¼·" "사~b") (merge-rule "缸" "항") (merge-rule "缺" "결") (merge-rule "ç¼¾" "병") (merge-rule "缿" "항") (merge-rule "罃" "앵") (merge-rule "罄" "경") (merge-rule "ç½…" "á„’á…¡~b") (merge-rule "罇" "준") (merge-rule "罋" "옹") (merge-rule "罌" "앵") (merge-rule "ç½" "á„…á…¬~b") (merge-rule "罎" "담") (merge-rule "ç½" "관") (merge-rule "ç½”" "망") (merge-rule "罕" "한") (merge-rule "罘" "부~b") (merge-rule "ç½" "저~b") (merge-rule "罟" "고~b") (merge-rule "ç½ " "민") (merge-rule "罡" "강") (merge-rule "ç½£" "괘~b") (merge-rule "罦" "부~b") (merge-rule "罨" "엄") (merge-rule "罪" "죄~b") (merge-rule "罫" "괘~b") (merge-rule "ç½®" "치~b") (merge-rule "ç½°" "벌") (merge-rule "ç½²" "서~b") (merge-rule "ç½µ" "매~b") (merge-rule "ç½·" "á„‘á…¡~b") (merge-rule "罸" "벌") (merge-rule "ç½¹" "á„…á…µ~b") (merge-rule "ç½¼" "필") (merge-rule "ç½½" "계~b") (merge-rule "ç½¾" "증") (merge-rule "羂" "견") (merge-rule "ç¾…" "á„‚á…¡~b") (merge-rule "羆" "비~b") (merge-rule "羇" "기~b") (merge-rule "羈" "기~b") (merge-rule "羊" "양") (merge-rule "羌" "강") (merge-rule "美" "미~b") (merge-rule "ç¾”" "고~b") (merge-rule "ç¾–" "고~b") (merge-rule "ç¾—" "강") (merge-rule "羘" "장") (merge-rule "羚" "령") (merge-rule "ç¾" "저~b") (merge-rule "羞" "수~b") (merge-rule "群" "군") (merge-rule "羨" "선") (merge-rule "義" "á„‹á…´~b") (merge-rule "羫" "강") (merge-rule "羯" "갈") (merge-rule "ç¾²" "á„’á…´~b") (merge-rule "ç¾¶" "전") (merge-rule "羸" "á„…á…µ~b") (merge-rule "ç¾¹" "갱") (merge-rule "ç¾½" "á„‹á…®~b") (merge-rule "ç¿" "옹") (merge-rule "ç¿…" "시~b") (merge-rule "翊" "익") (merge-rule "翌" "익") (merge-rule "翎" "령") (merge-rule "ç¿’" "습") (merge-rule "ç¿”" "상") (merge-rule "ç¿•" "흡") (merge-rule "ç¿–" "흡") (merge-rule "ç¿›" "소~b") (merge-rule "翟" "적") (merge-rule "ç¿ " "취~b") (merge-rule "ç¿¡" "비~b") (merge-rule "ç¿£" "삽") (merge-rule "翤" "시~b") (merge-rule "翦" "전") (merge-rule "ç¿©" "편") (merge-rule "ç¿«" "완") (merge-rule "翬" "á„’á…±~b") (merge-rule "ç¿®" "핵") (merge-rule "ç¿°" "한") (merge-rule "翳" "á„‹á…¨~b") (merge-rule "翹" "교~b") (merge-rule "翺" "고~b") (merge-rule "ç¿»" "번") (merge-rule "翼" "익") (merge-rule "翾" "현") (merge-rule "耀" "á„‹á…­~b") (merge-rule "è€" "á„‚á…©~b") (merge-rule "考" "고~b") (merge-rule "耄" "모~b") (merge-rule "者" "자~b") (merge-rule "耆" "기~b") (merge-rule "耉" "구~b") (merge-rule "而" "á„‹á…µ~b") (merge-rule "è€" "á„‚á…¢~b") (merge-rule "耑" "단") (merge-rule "耒" "á„…á…¬~b") (merge-rule "耔" "자~b") (merge-rule "耕" "경") (merge-rule "耖" "초~b") (merge-rule "耗" "모~b") (merge-rule "耘" "운") (merge-rule "耙" "á„‘á…¡~b") (merge-rule "耞" "가~b") (merge-rule "耡" "서~b") (merge-rule "耦" "á„‹á…®~b") (merge-rule "耨" "á„‚á…®~b") (merge-rule "耬" "á„…á…®~b") (merge-rule "耭" "기~b") (merge-rule "耰" "á„‹á…®~b") (merge-rule "耳" "á„‹á…µ~b") (merge-rule "耶" "á„‹á…£~b") (merge-rule "耽" "á„ᅡᆷ") (merge-rule "耿" "경") (merge-rule "èƒ" "담") (merge-rule "è†" "령") (merge-rule "èŠ" "á„…á…­~b") (merge-rule "è’" "괄") (merge-rule "è•" "á„’á…©~b") (merge-rule "è–" "성") (merge-rule "è˜" "빙") (merge-rule "èš" "취~b") (merge-rule "èž" "문") (merge-rule "è¯" "련") (merge-rule "è°" "총") (merge-rule "è±" "á„‹á…©~b") (merge-rule "è²" "성") (merge-rule "è³" "용") (merge-rule "èµ" "á„‹á…¬~b") (merge-rule "è¶" "섭") (merge-rule "è·" "직") (merge-rule "è½" "청") (merge-rule "è¾" "농") (merge-rule "è¿" "율") (merge-rule "è‚„" "á„‹á…µ~b") (merge-rule "è‚…" "숙") (merge-rule "肆" "사~b") (merge-rule "肇" "조~b") (merge-rule "肉" "육") (merge-rule "è‚‹" "늑") (merge-rule "肌" "기~b") (merge-rule "è‚“" "황") (merge-rule "è‚–" "초~b") (merge-rule "肘" "주~b") (merge-rule "肚" "두~b") (merge-rule "è‚›" "항") (merge-rule "è‚" "간") (merge-rule "è‚¡" "고~b") (merge-rule "è‚¢" "지~b") (merge-rule "è‚¥" "비~b") (merge-rule "肦" "분") (merge-rule "è‚©" "견") (merge-rule "肪" "방") (merge-rule "è‚«" "순") (merge-rule "è‚­" "눌") (merge-rule "肯" "긍") (merge-rule "肱" "굉") (merge-rule "育" "육") (merge-rule "è‚´" "á„’á…­~b") (merge-rule "肵" "기~b") (merge-rule "肺" "á„‘á…¨~b") (merge-rule "胃" "á„‹á…±~b") (merge-rule "胄" "주~b") (merge-rule "胆" "단") (merge-rule "胊" "구~b") (merge-rule "背" "배~b") (merge-rule "胎" "á„á…¢~b") (merge-rule "胕" "부~b") (merge-rule "胖" "반") (merge-rule "胙" "조~b") (merge-rule "胚" "배~b") (merge-rule "胛" "갑") (merge-rule "胞" "á„‘á…©~b") (merge-rule "胠" "거~b") (merge-rule "胡" "á„’á…©~b") (merge-rule "胤" "윤") (merge-rule "胥" "서~b") (merge-rule "胯" "고~b") (merge-rule "胱" "광") (merge-rule "胴" "동") (merge-rule "胷" "흉") (merge-rule "胸" "흉") (merge-rule "能" "능") (merge-rule "胾" "자~b") (merge-rule "è„‚" "지~b") (merge-rule "è„…" "협") (merge-rule "脆" "취~b") (merge-rule "脇" "협") (merge-rule "脈" "맥") (merge-rule "脉" "맥") (merge-rule "脊" "척") (merge-rule "è„–" "발") (merge-rule "脘" "완") (merge-rule "脚" "각") (merge-rule "è„›" "경") (merge-rule "è„£" "순") (merge-rule "脤" "신") (merge-rule "è„§" "최~b") (merge-rule "è„©" "수~b") (merge-rule "è„«" "á„ᅡᆯ") (merge-rule "脯" "á„‘á…©~b") (merge-rule "è„°" "두~b") (merge-rule "脹" "창") (merge-rule "脺" "수~b") (merge-rule "脾" "비~b") (merge-rule "è…" "변") (merge-rule "è…†" "전") (merge-rule "è…Š" "석") (merge-rule "è…‹" "액") (merge-rule "è…Ž" "신") (merge-rule "è…" "부~b") (merge-rule "è…‘" "부~b") (merge-rule "è…’" "거~b") (merge-rule "è…“" "비~b") (merge-rule "è…”" "강") (merge-rule "è…•" "완") (merge-rule "è… " "주~b") (merge-rule "è…¤" "암") (merge-rule "è…¥" "성") (merge-rule "è…¦" "á„‚á…¬~b") (merge-rule "è…«" "종") (merge-rule "è…­" "악") (merge-rule "è…°" "á„‹á…­~b") (merge-rule "è…±" "건") (merge-rule "è…´" "á„‹á…²~b") (merge-rule "è…¶" "단") (merge-rule "è…·" "픽") (merge-rule "è…¸" "장") (merge-rule "è…¹" "복") (merge-rule "è…º" "선") (merge-rule "è…¿" "á„á…¬~b") (merge-rule "膀" "방") (merge-rule "膂" "á„…á…§~b") (merge-rule "膃" "올") (merge-rule "膄" "수~b") (merge-rule "膆" "소~b") (merge-rule "膈" "격") (merge-rule "膊" "박") (merge-rule "膋" "á„…á…­~b") (merge-rule "è†" "고~b") (merge-rule "膚" "부~b") (merge-rule "膜" "막") (merge-rule "è†" "슬") (merge-rule "膞" "전") (merge-rule "膠" "교~b") (merge-rule "膣" "질") (merge-rule "膨" "팽") (merge-rule "膩" "á„‚á…µ~b") (merge-rule "膰" "번") (merge-rule "膳" "선") (merge-rule "膴" "무~b") (merge-rule "膵" "췌~b") (merge-rule "膸" "수~b") (merge-rule "膹" "분") (merge-rule "膺" "응") (merge-rule "膽" "담") (merge-rule "膾" "á„’á…¬~b") (merge-rule "膿" "농") (merge-rule "臀" "둔") (merge-rule "臂" "비~b") (merge-rule "臆" "억") (merge-rule "臊" "조~b") (merge-rule "è‡" "제~b") (merge-rule "è‡" "빈") (merge-rule "臑" "á„‚á…©~b") (merge-rule "臘" "납") (merge-rule "臙" "연") (merge-rule "臚" "á„…á…§~b") (merge-rule "è‡" "á„…á…¡~b") (merge-rule "臟" "장") (merge-rule "臠" "련") (merge-rule "臣" "신") (merge-rule "臥" "á„‹á…ª~b") (merge-rule "臧" "장") (merge-rule "臨" "림") (merge-rule "自" "자~b") (merge-rule "臬" "얼") (merge-rule "臭" "취~b") (merge-rule "至" "지~b") (merge-rule "致" "치~b") (merge-rule "臶" "천") (merge-rule "臺" "대~b") (merge-rule "臻" "진") (merge-rule "臼" "구~b") (merge-rule "臾" "á„‹á…²~b") (merge-rule "èˆ" "á„‹á…§~b") (merge-rule "舂" "용") (merge-rule "舃" "석") (merge-rule "舅" "구~b") (merge-rule "與" "á„‹á…§~b") (merge-rule "興" "흥") (merge-rule "舊" "구~b") (merge-rule "舌" "설") (merge-rule "èˆ" "사~b") (merge-rule "èˆ" "지~b") (merge-rule "舒" "서~b") (merge-rule "舖" "á„‘á…©~b") (merge-rule "舛" "천") (merge-rule "舜" "순") (merge-rule "舞" "무~b") (merge-rule "舟" "주~b") (merge-rule "舡" "강") (merge-rule "航" "항") (merge-rule "舫" "방") (merge-rule "般" "반") (merge-rule "舳" "축") (merge-rule "舵" "á„á…¡~b") (merge-rule "舶" "박") (merge-rule "舷" "현") (merge-rule "舸" "가~b") (merge-rule "船" "선") (merge-rule "舽" "방") (merge-rule "艀" "부~b") (merge-rule "艅" "á„‹á…§~b") (merge-rule "艇" "정") (merge-rule "艑" "편") (merge-rule "艘" "소~b") (merge-rule "艙" "창") (merge-rule "艚" "조~b") (merge-rule "艟" "동") (merge-rule "艤" "á„‹á…´~b") (merge-rule "艦" "함") (merge-rule "艨" "몽") (merge-rule "艪" "á„…á…©~b") (merge-rule "艫" "á„…á…©~b") (merge-rule "艮" "간") (merge-rule "良" "량") (merge-rule "艱" "간") (merge-rule "色" "색") (merge-rule "艴" "불") (merge-rule "艶" "염") (merge-rule "艸" "초~b") (merge-rule "艾" "á„‹á…¢~b") (merge-rule "芊" "천") (merge-rule "芋" "á„‹á…®~b") (merge-rule "èŠ" "작") (merge-rule "芎" "궁") (merge-rule "芒" "망") (merge-rule "芔" "á„’á…°~b") (merge-rule "芘" "비~b") (merge-rule "芙" "부~b") (merge-rule "芚" "둔") (merge-rule "èŠ" "지~b") (merge-rule "芟" "삼") (merge-rule "芡" "검") (merge-rule "芢" "인") (merge-rule "芣" "부~b") (merge-rule "芥" "개~b") (merge-rule "芦" "á„’á…©~b") (merge-rule "芧" "서~b") (merge-rule "芨" "급") (merge-rule "芩" "금") (merge-rule "芪" "기~b") (merge-rule "芫" "원") (merge-rule "芬" "분") (merge-rule "芭" "á„‘á…¡~b") (merge-rule "芮" "á„‹á…¨~b") (merge-rule "芯" "심") (merge-rule "芰" "기~b") (merge-rule "花" "á„’á…ª~b") (merge-rule "芳" "방") (merge-rule "芷" "지~b") (merge-rule "芸" "운") (merge-rule "芹" "근") (merge-rule "芻" "추~b") (merge-rule "芼" "모~b") (merge-rule "芽" "á„‹á…¡~b") (merge-rule "芾" "비~b") (merge-rule "芿" "잉") (merge-rule "è‹…" "á„‹á…¨~b") (merge-rule "è‹‘" "원") (merge-rule "è‹’" "염") (merge-rule "è‹“" "령") (merge-rule "è‹”" "á„á…¢~b") (merge-rule "è‹•" "초~b") (merge-rule "è‹—" "묘~b") (merge-rule "è‹›" "가~b") (merge-rule "苜" "목") (merge-rule "苞" "á„‘á…©~b") (merge-rule "苟" "구~b") (merge-rule "è‹ " "민") (merge-rule "è‹¡" "á„‹á…µ~b") (merge-rule "è‹£" "거~b") (merge-rule "è‹¥" "á„‹á…£~b") (merge-rule "苦" "고~b") (merge-rule "è‹§" "저~b") (merge-rule "è‹«" "점") (merge-rule "英" "영") (merge-rule "苳" "동") (merge-rule "è‹´" "저~b") (merge-rule "苹" "평") (merge-rule "苺" "매~b") (merge-rule "è‹»" "부~b") (merge-rule "苽" "고~b") (merge-rule "苾" "필") (merge-rule "è‹¿" "미~b") (merge-rule "茀" "불") (merge-rule "èŒ" "줄") (merge-rule "茂" "무~b") (merge-rule "范" "범") (merge-rule "茄" "가~b") (merge-rule "茅" "모~b") (merge-rule "茈" "자~b") (merge-rule "茉" "말") (merge-rule "茗" "명") (merge-rule "茛" "간") (merge-rule "茜" "천") (merge-rule "èŒ" "채~b") (merge-rule "茣" "á„‹á…©~b") (merge-rule "茨" "자~b") (merge-rule "茪" "광") (merge-rule "茫" "망") (merge-rule "茯" "복") (merge-rule "茱" "수~b") (merge-rule "茲" "자~b") (merge-rule "茳" "강") (merge-rule "茴" "á„’á…¬~b") (merge-rule "茵" "인") (merge-rule "茶" "다~b") (merge-rule "茸" "용") (merge-rule "茹" "á„‹á…§~b") (merge-rule "茼" "동") (merge-rule "è€" "순") (merge-rule "èƒ" "전") (merge-rule "è‡" "행") (merge-rule "è‰" "초~b") (merge-rule "èŠ" "형") (merge-rule "è" "임") (merge-rule "è" "천") (merge-rule "è‘" "á„‹á…µ~b") (merge-rule "è’" "황") (merge-rule "è³" "두~b") (merge-rule "è·" "á„’á…¡~b") (merge-rule "è»" "적") (merge-rule "莅" "á„…á…µ~b") (merge-rule "莉" "á„…á…µ~b") (merge-rule "莊" "장") (merge-rule "莎" "사~b") (merge-rule "莒" "거~b") (merge-rule "莓" "매~b") (merge-rule "莖" "경") (merge-rule "莘" "신") (merge-rule "莚" "연") (merge-rule "莛" "정") (merge-rule "èŽ" "좌~b") (merge-rule "莞" "완") (merge-rule "莟" "함") (merge-rule "莠" "á„‹á…²~b") (merge-rule "莢" "협") (merge-rule "莨" "랑") (merge-rule "莩" "부~b") (merge-rule "莪" "á„‹á…¡~b") (merge-rule "莫" "막") (merge-rule "莽" "망") (merge-rule "莾" "망") (merge-rule "莿" "자~b") (merge-rule "è" "청") (merge-rule "è‚" "적") (merge-rule "è…" "관") (merge-rule "è‰" "녹") (merge-rule "èŠ" "국") (merge-rule "èŒ" "균") (merge-rule "è‘" "치~b") (merge-rule "è“" "과~b") (merge-rule "è”" "복") (merge-rule "è–" "창") (merge-rule "è˜" "숭") (merge-rule "èœ" "채~b") (merge-rule "èŸ" "도~b") (merge-rule "è " "á„‘á…¡~b") (merge-rule "è¡" "함") (merge-rule "è©" "보~b") (merge-rule "è«" "근") (merge-rule "è¯" "á„’á…ª~b") (merge-rule "è°" "고~b") (merge-rule "è±" "능") (merge-rule "è²" "비~b") (merge-rule "è´" "암") (merge-rule "è¶" "봉") (merge-rule "è¹" "저~b") (merge-rule "è½" "숙") (merge-rule "èƒ" "췌~b") (merge-rule "è„" "도~b") (merge-rule "è†" "비~b") (merge-rule "è‡" "장") (merge-rule "èŠ" "á„…á…¢~b") (merge-rule "è‹" "처~b") (merge-rule "èŒ" "맹") (merge-rule "è" "평") (merge-rule "èŽ" "á„‹á…±~b") (merge-rule "è©" "추~b") (merge-rule "è¬" "만") (merge-rule "è±" "훤") (merge-rule "èµ" "á„‹á…ª~b") (merge-rule "è¸" "á„‹á…²~b") (merge-rule "è¹" "편") (merge-rule "è¼" "악") (merge-rule "è½" "낙") (merge-rule "葆" "보~b") (merge-rule "葉" "섭") (merge-rule "葊" "암") (merge-rule "è‘‘" "풍") (merge-rule "è‘—" "저~b") (merge-rule "葚" "심") (merge-rule "è‘›" "갈") (merge-rule "è‘¡" "á„‘á…©~b") (merge-rule "è‘£" "동") (merge-rule "葦" "á„‹á…±~b") (merge-rule "è‘©" "á„‘á…¡~b") (merge-rule "葪" "계~b") (merge-rule "è‘«" "á„’á…©~b") (merge-rule "葬" "장") (merge-rule "è‘­" "가~b") (merge-rule "葯" "약") (merge-rule "葱" "총") (merge-rule "葳" "á„‹á…±~b") (merge-rule "葵" "규~b") (merge-rule "è‘·" "훈") (merge-rule "葺" "즙") (merge-rule "è’‚" "체~b") (merge-rule "è’" "수~b") (merge-rule "è’”" "시~b") (merge-rule "è’™" "몽") (merge-rule "è’œ" "산") (merge-rule "è’Ÿ" "구~b") (merge-rule "è’¡" "방") (merge-rule "è’¨" "천") (merge-rule "è’­" "추~b") (merge-rule "è’¯" "괴~b") (merge-rule "è’²" "á„‘á…©~b") (merge-rule "è’´" "삭") (merge-rule "è’¸" "증") (merge-rule "è’¹" "겸") (merge-rule "è’º" "질") (merge-rule "è’»" "약") (merge-rule "è’¼" "창") (merge-rule "è’¿" "á„’á…©~b") (merge-rule "è“€" "손") (merge-rule "è“" "진") (merge-rule "è“‚" "명") (merge-rule "è“„" "축") (merge-rule "蓆" "석") (merge-rule "蓉" "용") (merge-rule "蓊" "옹") (merge-rule "è“‹" "개~b") (merge-rule "è“" "시~b") (merge-rule "è“" "욕") (merge-rule "è“‘" "사~b") (merge-rule "è““" "배~b") (merge-rule "è“–" "비~b") (merge-rule "蓚" "수~b") (merge-rule "蓬" "봉") (merge-rule "è“­" "암") (merge-rule "è“®" "련") (merge-rule "蓯" "총") (merge-rule "蓱" "평") (merge-rule "è“´" "순") (merge-rule "蓼" "á„…á…­~b") (merge-rule "蓽" "필") (merge-rule "蔀" "부~b") (merge-rule "蔆" "릉") (merge-rule "蔑" "멸") (merge-rule "蔓" "만") (merge-rule "è””" "복") (merge-rule "蔕" "체~b") (merge-rule "è”—" "자~b") (merge-rule "蔘" "삼") (merge-rule "蔚" "울") (merge-rule "蔞" "á„…á…®~b") (merge-rule "蔟" "주~b") (merge-rule "蔡" "채~b") (merge-rule "蔣" "장") (merge-rule "蔥" "총") (merge-rule "蔦" "조~b") (merge-rule "蔪" "점") (merge-rule "蔬" "소~b") (merge-rule "è”­" "음") (merge-rule "蔯" "진") (merge-rule "蔽" "á„‘á…¨~b") (merge-rule "蔿" "á„‹á…±~b") (merge-rule "è•" "담") (merge-rule "蕃" "번") (merge-rule "蕆" "천") (merge-rule "蕉" "초~b") (merge-rule "蕊" "á„‹á…¨~b") (merge-rule "è•‹" "á„‹á…¨~b") (merge-rule "蕎" "교~b") (merge-rule "è•“" "운") (merge-rule "è••" "á„‹á…²~b") (merge-rule "è•–" "거~b") (merge-rule "蕘" "á„‹á…­~b") (merge-rule "è•™" "á„’á…¨~b") (merge-rule "蕞" "체~b") (merge-rule "è•¡" "분") (merge-rule "è•£" "순") (merge-rule "蕤" "á„‹á…²~b") (merge-rule "蕨" "궐") (merge-rule "è•©" "á„ᅡᆼ") (merge-rule "蕪" "무~b") (merge-rule "è•«" "동") (merge-rule "è•­" "소~b") (merge-rule "蕺" "즙") (merge-rule "蕾" "á„…á…¬~b") (merge-rule "è–€" "온") (merge-rule "è–„" "박") (merge-rule "è–†" "á„‹á…¢~b") (merge-rule "è–‡" "미~b") (merge-rule "è–‰" "á„‹á…¨~b") (merge-rule "è–Š" "계~b") (merge-rule "è–Œ" "향") (merge-rule "è–" "á„‹á…´~b") (merge-rule "è–‘" "강") (merge-rule "è–”" "장") (merge-rule "è–—" "원") (merge-rule "è–™" "치~b") (merge-rule "è–›" "설") (merge-rule "è–" "담") (merge-rule "è–¤" "á„’á…¢~b") (merge-rule "è–¥" "촉") (merge-rule "è–¦" "천") (merge-rule "è–¨" "훙") (merge-rule "è–©" "살") (merge-rule "è–ª" "신") (merge-rule "è–¯" "서~b") (merge-rule "è–°" "훈") (merge-rule "è–º" "제~b") (merge-rule "è—" "고~b") (merge-rule "è—‰" "자~b") (merge-rule "è—" "남") (merge-rule "è—Ž" "신") (merge-rule "è—" "장") (merge-rule "è—" "묘~b") (merge-rule "è—•" "á„‹á…®~b") (merge-rule "è—œ" "á„…á…§~b") (merge-rule "è—" "á„‹á…¨~b") (merge-rule "è—¤" "등") (merge-rule "è—¥" "약") (merge-rule "è—©" "번") (merge-rule "è—ª" "수~b") (merge-rule "è—·" "저~b") (merge-rule "è—¹" "á„‹á…¢~b") (merge-rule "è—º" "린") (merge-rule "è—»" "조~b") (merge-rule "è—½" "친") (merge-rule "è—¿" "곽") (merge-rule "蘀" "á„ᅡᆨ") (merge-rule "蘂" "á„‹á…¨~b") (merge-rule "蘄" "기~b") (merge-rule "蘆" "á„‚á…©~b") (merge-rule "蘇" "소~b") (merge-rule "蘊" "온") (merge-rule "蘋" "빈") (merge-rule "蘖" "얼") (merge-rule "蘗" "벽") (merge-rule "蘘" "양") (merge-rule "蘚" "선") (merge-rule "蘢" "롱") (merge-rule "蘧" "거~b") (merge-rule "蘩" "번") (merge-rule "蘭" "난") (merge-rule "蘯" "á„ᅡᆼ") (merge-rule "蘼" "미~b") (merge-rule "蘿" "á„‚á…¡~b") (merge-rule "è™" "기~b") (merge-rule "虎" "á„’á…©~b") (merge-rule "è™" "학") (merge-rule "虓" "á„’á…­~b") (merge-rule "è™”" "건") (merge-rule "處" "처~b") (merge-rule "è™›" "á„’á…¥~b") (merge-rule "虜" "á„‚á…©~b") (merge-rule "虞" "á„‹á…®~b") (merge-rule "號" "á„’á…©~b") (merge-rule "è™§" "á„’á…²~b") (merge-rule "虫" "á„’á…°~b") (merge-rule "虬" "규~b") (merge-rule "虯" "규~b") (merge-rule "è™±" "슬") (merge-rule "虸" "자~b") (merge-rule "虹" "홍") (merge-rule "虺" "á„’á…°~b") (merge-rule "è™»" "맹") (merge-rule "蚊" "문") (merge-rule "èš‹" "á„‹á…¨~b") (merge-rule "蚌" "방") (merge-rule "èš" "비~b") (merge-rule "èš“" "인") (merge-rule "èš•" "천") (merge-rule "蚣" "공") (merge-rule "蚤" "조~b") (merge-rule "蚨" "부~b") (merge-rule "èš©" "치~b") (merge-rule "蚪" "두~b") (merge-rule "蚯" "구~b") (merge-rule "èš°" "á„‹á…²~b") (merge-rule "èš±" "책") (merge-rule "èš´" "á„‹á…²~b") (merge-rule "蛀" "주~b") (merge-rule "è›…" "점") (merge-rule "蛆" "저~b") (merge-rule "蛇" "사~b") (merge-rule "蛉" "령") (merge-rule "蛋" "단") (merge-rule "è›”" "á„’á…¬~b") (merge-rule "è›™" "á„‹á…ª~b") (merge-rule "è››" "주~b") (merge-rule "蛞" "활") (merge-rule "蛟" "교~b") (merge-rule "蛣" "길") (merge-rule "蛤" "합") (merge-rule "蛩" "공") (merge-rule "蛬" "공") (merge-rule "è›­" "질") (merge-rule "蛸" "소~b") (merge-rule "蛹" "용") (merge-rule "è›»" "세~b") (merge-rule "蛾" "á„‹á…¡~b") (merge-rule "蜀" "촉") (merge-rule "蜂" "봉") (merge-rule "蜃" "신") (merge-rule "蜆" "현") (merge-rule "蜈" "á„‹á…©~b") (merge-rule "蜉" "부~b") (merge-rule "蜊" "á„…á…µ~b") (merge-rule "蜋" "랑") (merge-rule "蜑" "단") (merge-rule "蜘" "지~b") (merge-rule "蜚" "비~b") (merge-rule "蜜" "밀") (merge-rule "èœ" "기~b") (merge-rule "蜡" "사~b") (merge-rule "蜥" "석") (merge-rule "蜨" "접") (merge-rule "蜩" "조~b") (merge-rule "蜴" "척") (merge-rule "蜵" "연") (merge-rule "蜷" "권") (merge-rule "蜺" "á„‹á…¨~b") (merge-rule "蜻" "청") (merge-rule "蜿" "원") (merge-rule "è€" "동") (merge-rule "èŒ" "과~b") (merge-rule "èŽ" "갈") (merge-rule "è•" "식") (merge-rule "è—" "황") (merge-rule "è™" "편") (merge-rule "èŸ" "á„‹á…±~b") (merge-rule "è " "복") (merge-rule "è¤" "á„‹á…²~b") (merge-rule "è¥" "모~b") (merge-rule "è¦" "á„’á…¡~b") (merge-rule "è¨" "슬") (merge-rule "è®" "복") (merge-rule "è´" "á„’á…©~b") (merge-rule "è¶" "접") (merge-rule "è¸" "á„‹á…ª~b") (merge-rule "èž‚" "랑") (merge-rule "螃" "방") (merge-rule "螌" "반") (merge-rule "èž" "융") (merge-rule "螘" "á„‹á…´~b") (merge-rule "èžž" "마~b") (merge-rule "螟" "명") (merge-rule "螢" "형") (merge-rule "螣" "등") (merge-rule "èž­" "á„…á…µ~b") (merge-rule "èž³" "당") (merge-rule "èž´" "진") (merge-rule "螺" "á„‚á…¡~b") (merge-rule "èž»" "á„…á…®~b") (merge-rule "èž½" "종") (merge-rule "蟀" "솔") (merge-rule "蟄" "칩") (merge-rule "蟇" "마~b") (merge-rule "蟊" "모~b") (merge-rule "蟋" "실") (merge-rule "蟒" "망") (merge-rule "蟚" "팽") (merge-rule "蟛" "팽") (merge-rule "蟠" "반") (merge-rule "蟣" "기~b") (merge-rule "蟬" "선") (merge-rule "蟯" "á„‹á…­~b") (merge-rule "蟲" "충") (merge-rule "蟷" "당") (merge-rule "蟹" "á„’á…¢~b") (merge-rule "蟻" "á„‹á…´~b") (merge-rule "蟾" "섬") (merge-rule "è …" "승") (merge-rule "è " "갈") (merge-rule "è ‘" "영") (merge-rule "è •" "연") (merge-rule "è Ÿ" "납") (merge-rule "è ¡" "á„…á…§~b") (merge-rule "è ¢" "준") (merge-rule "è £" "á„…á…§~b") (merge-rule "è ±" "고~b") (merge-rule "è ²" "견") (merge-rule "è ¶" "잠") (merge-rule "è ¹" "두~b") (merge-rule "è »" "만") (merge-rule "è¡€" "혈") (merge-rule "è¡„" "뉵") (merge-rule "衆" "중") (merge-rule "衊" "멸") (merge-rule "行" "항") (merge-rule "è¡" "연") (merge-rule "衎" "간") (merge-rule "è¡’" "현") (merge-rule "è¡“" "술") (merge-rule "è¡—" "가~b") (merge-rule "è¡™" "á„‹á…¡~b") (merge-rule "è¡›" "á„‹á…±~b") (merge-rule "è¡" "충") (merge-rule "衞" "á„‹á…±~b") (merge-rule "è¡¡" "형") (merge-rule "è¡¢" "구~b") (merge-rule "è¡£" "á„‹á…´~b") (merge-rule "表" "á„‘á…­~b") (merge-rule "è¡«" "삼") (merge-rule "è¡®" "곤") (merge-rule "è¡°" "쇠~b") (merge-rule "衲" "납") (merge-rule "è¡·" "충") (merge-rule "衽" "임") (merge-rule "衾" "금") (merge-rule "è¡¿" "금") (merge-rule "è¢" "원") (merge-rule "袂" "몌~b") (merge-rule "袈" "가~b") (merge-rule "袋" "대~b") (merge-rule "è¢" "á„‘á…©~b") (merge-rule "袒" "단") (merge-rule "袖" "수~b") (merge-rule "袗" "진") (merge-rule "袛" "저~b") (merge-rule "è¢" "부~b") (merge-rule "袞" "곤") (merge-rule "袢" "번") (merge-rule "袪" "거~b") (merge-rule "被" "á„‘á…µ~b") (merge-rule "袴" "고~b") (merge-rule "裀" "인") (merge-rule "è£" "재~b") (merge-rule "裂" "렬") (merge-rule "装" "장") (merge-rule "裊" "á„‚á…­~b") (merge-rule "è£" "곤") (merge-rule "è£" "á„…á…µ~b") (merge-rule "裒" "부~b") (merge-rule "裔" "á„‹á…¨~b") (merge-rule "裕" "á„‹á…²~b") (merge-rule "裘" "구~b") (merge-rule "裙" "군") (merge-rule "補" "보~b") (merge-rule "è£" "장") (merge-rule "裟" "사~b") (merge-rule "裡" "á„…á…µ~b") (merge-rule "裨" "비~b") (merge-rule "裯" "주~b") (merge-rule "裱" "á„‘á…­~b") (merge-rule "裳" "상") (merge-rule "裴" "배~b") (merge-rule "裵" "배~b") (merge-rule "裸" "á„‚á…¡~b") (merge-rule "裹" "과~b") (merge-rule "製" "제~b") (merge-rule "裾" "거~b") (merge-rule "褄" "처~b") (merge-rule "複" "복") (merge-rule "褊" "편") (merge-rule "褌" "곤") (merge-rule "è¤" "갈") (merge-rule "褒" "á„‘á…©~b") (merge-rule "褓" "보~b") (merge-rule "褕" "á„‹á…²~b") (merge-rule "褘" "á„‹á…±~b") (merge-rule "褙" "배~b") (merge-rule "褚" "저~b") (merge-rule "褥" "욕") (merge-rule "褧" "경") (merge-rule "褪" "á„á…¬~b") (merge-rule "褫" "치~b") (merge-rule "褰" "건") (merge-rule "褶" "습") (merge-rule "褸" "á„…á…®~b") (merge-rule "褺" "첩") (merge-rule "褻" "설") (merge-rule "è¥" "강") (merge-rule "襄" "양") (merge-rule "è¥" "잡") (merge-rule "襖" "á„‹á…©~b") (merge-rule "襘" "괴~b") (merge-rule "襜" "첨") (merge-rule "襞" "벽") (merge-rule "襟" "금") (merge-rule "襠" "당") (merge-rule "襤" "남") (merge-rule "襪" "말") (merge-rule "襭" "힐") (merge-rule "襯" "친") (merge-rule "襲" "습") (merge-rule "襴" "란") (merge-rule "西" "서~b") (merge-rule "è¦" "á„‹á…­~b") (merge-rule "覃" "담") (merge-rule "覆" "복") (merge-rule "覇" "á„‘á…¢~b") (merge-rule "覈" "핵") (merge-rule "覉" "기~b") (merge-rule "見" "견") (merge-rule "è¦" "규~b") (merge-rule "覓" "멱") (merge-rule "視" "시~b") (merge-rule "覗" "사~b") (merge-rule "覘" "점") (merge-rule "覡" "격") (merge-rule "覨" "악") (merge-rule "覩" "도~b") (merge-rule "親" "친") (merge-rule "覬" "기~b") (merge-rule "覯" "구~b") (merge-rule "覲" "근") (merge-rule "覷" "처~b") (merge-rule "覺" "각") (merge-rule "覽" "람") (merge-rule "覿" "적") (merge-rule "è§€" "관") (merge-rule "è§’" "각") (merge-rule "è§”" "근") (merge-rule "è§–" "결") (merge-rule "è§š" "고~b") (merge-rule "è§œ" "자~b") (merge-rule "è§" "저~b") (merge-rule "è§£" "á„’á…¢~b") (merge-rule "è§¥" "굉") (merge-rule "è§±" "필") (merge-rule "è§³" "곡") (merge-rule "è§´" "상") (merge-rule "觸" "촉") (merge-rule "言" "언") (merge-rule "訂" "정") (merge-rule "訃" "부~b") (merge-rule "訇" "굉") (merge-rule "計" "계~b") (merge-rule "訉" "범") (merge-rule "訊" "신") (merge-rule "訌" "홍") (merge-rule "討" "á„á…©~b") (merge-rule "è¨" "알") (merge-rule "訑" "á„‹á…µ~b") (merge-rule "訓" "훈") (merge-rule "訔" "은") (merge-rule "訕" "산") (merge-rule "訖" "흘") (merge-rule "託" "á„ᅡᆨ") (merge-rule "記" "기~b") (merge-rule "訛" "á„‹á…ª~b") (merge-rule "è¨" "á„‹á…¡~b") (merge-rule "訟" "송") (merge-rule "訢" "흔") (merge-rule "訣" "결") (merge-rule "訥" "눌") (merge-rule "訪" "방") (merge-rule "設" "설") (merge-rule "許" "á„’á…¥~b") (merge-rule "訴" "소~b") (merge-rule "訶" "가~b") (merge-rule "診" "진") (merge-rule "註" "주~b") (merge-rule "証" "정") (merge-rule "訾" "자~b") (merge-rule "è©" "고~b") (merge-rule "詆" "저~b") (merge-rule "è©‹" "주~b") (merge-rule "è©" "사~b") (merge-rule "è©‘" "á„‹á…µ~b") (merge-rule "è©”" "조~b") (merge-rule "è©•" "평") (merge-rule "è©–" "á„‘á…µ~b") (merge-rule "è©—" "형") (merge-rule "詘" "굴") (merge-rule "è©›" "저~b") (merge-rule "詞" "사~b") (merge-rule "è© " "영") (merge-rule "è©¡" "á„’á…®~b") (merge-rule "è©¢" "순") (merge-rule "è©£" "á„‹á…¨~b") (merge-rule "試" "시~b") (merge-rule "è©©" "시~b") (merge-rule "è©«" "á„á…¡~b") (merge-rule "詬" "구~b") (merge-rule "è©­" "궤~b") (merge-rule "è©®" "전") (merge-rule "è©°" "힐") (merge-rule "話" "á„’á…ª~b") (merge-rule "該" "á„’á…¢~b") (merge-rule "詳" "상") (merge-rule "詵" "선") (merge-rule "詹" "첨") (merge-rule "詼" "á„’á…¬~b") (merge-rule "è©¿" "괘~b") (merge-rule "誂" "조~b") (merge-rule "誄" "á„…á…¬~b") (merge-rule "誅" "주~b") (merge-rule "誆" "광") (merge-rule "誇" "과~b") (merge-rule "誌" "지~b") (merge-rule "èª" "인") (merge-rule "誑" "광") (merge-rule "誓" "서~b") (merge-rule "誕" "á„ᅡᆫ") (merge-rule "誘" "á„‹á…²~b") (merge-rule "誚" "초~b") (merge-rule "語" "á„‹á…¥~b") (merge-rule "誠" "성") (merge-rule "誡" "계~b") (merge-rule "誢" "현") (merge-rule "誣" "무~b") (merge-rule "誤" "á„‹á…©~b") (merge-rule "誥" "고~b") (merge-rule "誦" "송") (merge-rule "誧" "á„‘á…©~b") (merge-rule "誨" "á„’á…¬~b") (merge-rule "說" "설") (merge-rule "誰" "수~b") (merge-rule "課" "과~b") (merge-rule "誹" "비~b") (merge-rule "誼" "á„‹á…´~b") (merge-rule "誾" "은") (merge-rule "調" "조~b") (merge-rule "è«‚" "첨") (merge-rule "è«„" "순") (merge-rule "談" "담") (merge-rule "諉" "á„‹á…±~b") (merge-rule "è«‹" "청") (merge-rule "è«" "쟁") (merge-rule "è«" "추~b") (merge-rule "è«’" "량") (merge-rule "è«–" "논") (merge-rule "è«›" "á„‹á…²~b") (merge-rule "諜" "첩") (merge-rule "諞" "편") (merge-rule "諟" "시~b") (merge-rule "è« " "훤") (merge-rule "è«¡" "시~b") (merge-rule "諤" "악") (merge-rule "諦" "체~b") (merge-rule "è«§" "á„’á…¢~b") (merge-rule "諪" "정") (merge-rule "è««" "간") (merge-rule "è«­" "á„‹á…²~b") (merge-rule "è«®" "자~b") (merge-rule "è«°" "시~b") (merge-rule "諱" "á„’á…±~b") (merge-rule "諳" "암") (merge-rule "è«´" "함") (merge-rule "è«¶" "심") (merge-rule "è«·" "풍") (merge-rule "諸" "제~b") (merge-rule "諺" "언") (merge-rule "諼" "훤") (merge-rule "諾" "낙") (merge-rule "謀" "모~b") (merge-rule "è¬" "알") (merge-rule "謂" "á„‹á…±~b") (merge-rule "謄" "등") (merge-rule "謇" "건") (merge-rule "謌" "가~b") (merge-rule "謎" "미~b") (merge-rule "è¬" "밀") (merge-rule "謑" "á„’á…¨~b") (merge-rule "謔" "학") (merge-rule "謖" "속") (merge-rule "謗" "방") (merge-rule "謙" "겸") (merge-rule "謚" "익") (merge-rule "講" "강") (merge-rule "謜" "원") (merge-rule "è¬" "사~b") (merge-rule "謠" "á„‹á…­~b") (merge-rule "謣" "á„‹á…®~b") (merge-rule "謦" "경") (merge-rule "謨" "모~b") (merge-rule "謫" "적") (merge-rule "謬" "á„…á…²~b") (merge-rule "謳" "구~b") (merge-rule "謷" "á„‹á…©~b") (merge-rule "謹" "근") (merge-rule "謾" "만") (merge-rule "è­" "á„’á…ª~b") (merge-rule "è­ƒ" "á„’á…®~b") (merge-rule "è­‰" "증") (merge-rule "è­Œ" "á„‹á…ª~b") (merge-rule "è­Ž" "휼") (merge-rule "è­" "기~b") (merge-rule "è­”" "선") (merge-rule "è­–" "참") (merge-rule "è­˜" "식") (merge-rule "è­™" "초~b") (merge-rule "è­š" "담") (merge-rule "è­œ" "보~b") (merge-rule "è­Ÿ" "조~b") (merge-rule "è­¦" "경") (merge-rule "è­«" "섬") (merge-rule "è­¬" "비~b") (merge-rule "è­¯" "역") (merge-rule "è­°" "á„‹á…´~b") (merge-rule "è­±" "선") (merge-rule "è­´" "견") (merge-rule "è­·" "á„’á…©~b") (merge-rule "è­½" "á„‹á…¨~b") (merge-rule "è­¿" "á„’á…¨~b") (merge-rule "讀" "독") (merge-rule "讉" "á„‹á…²~b") (merge-rule "變" "변") (merge-rule "讌" "연") (merge-rule "讎" "수~b") (merge-rule "è®" "수~b") (merge-rule "è®’" "참") (merge-rule "讓" "양") (merge-rule "è®–" "참") (merge-rule "讚" "찬") (merge-rule "讜" "당") (merge-rule "讞" "언") (merge-rule "è°·" "곡") (merge-rule "è°¿" "계~b") (merge-rule "è±" "활") (merge-rule "豆" "두~b") (merge-rule "豇" "강") (merge-rule "豈" "개~b") (merge-rule "豉" "시~b") (merge-rule "豊" "풍") (merge-rule "豌" "완") (merge-rule "豎" "수~b") (merge-rule "豕" "시~b") (merge-rule "è±–" "축") (merge-rule "豚" "돈") (merge-rule "象" "상") (merge-rule "è±¢" "환") (merge-rule "豨" "á„’á…´~b") (merge-rule "豪" "á„’á…©~b") (merge-rule "豫" "á„‹á…¨~b") (merge-rule "豬" "저~b") (merge-rule "è±³" "빈") (merge-rule "豸" "치~b") (merge-rule "è±¹" "á„‘á…­~b") (merge-rule "豺" "시~b") (merge-rule "貂" "초~b") (merge-rule "貃" "맥") (merge-rule "貊" "맥") (merge-rule "貌" "모~b") (merge-rule "è²" "á„…á…µ~b") (merge-rule "貓" "묘~b") (merge-rule "è²”" "비~b") (merge-rule "貘" "맥") (merge-rule "è²" "á„‘á…¢~b") (merge-rule "貞" "정") (merge-rule "è² " "부~b") (merge-rule "財" "재~b") (merge-rule "è²¢" "공") (merge-rule "è²§" "빈") (merge-rule "貨" "á„’á…ª~b") (merge-rule "販" "판") (merge-rule "貪" "á„ᅡᆷ") (merge-rule "貫" "관") (merge-rule "責" "책") (merge-rule "貯" "저~b") (merge-rule "è²°" "세~b") (merge-rule "è²²" "자~b") (merge-rule "è²³" "á„‹á…µ~b") (merge-rule "è²´" "귀~b") (merge-rule "è²¶" "폄") (merge-rule "è²·" "매~b") (merge-rule "貸" "대~b") (merge-rule "貺" "황") (merge-rule "è²»" "비~b") (merge-rule "è²¼" "첩") (merge-rule "è²½" "á„‹á…µ~b") (merge-rule "貿" "무~b") (merge-rule "è³€" "á„’á…¡~b") (merge-rule "è³" "분") (merge-rule "賂" "á„‚á…¬~b") (merge-rule "賃" "임") (merge-rule "賄" "á„’á…¬~b") (merge-rule "賆" "변") (merge-rule "資" "자~b") (merge-rule "賈" "가~b") (merge-rule "賊" "적") (merge-rule "賑" "진") (merge-rule "賓" "빈") (merge-rule "è³™" "주~b") (merge-rule "賚" "á„…á…¬~b") (merge-rule "賜" "사~b") (merge-rule "賞" "상") (merge-rule "è³ " "배~b") (merge-rule "賡" "갱") (merge-rule "è³¢" "현") (merge-rule "è³£" "매~b") (merge-rule "賤" "천") (merge-rule "賦" "부~b") (merge-rule "質" "질") (merge-rule "賬" "장") (merge-rule "è³­" "도~b") (merge-rule "è³´" "á„…á…¬~b") (merge-rule "è³»" "부~b") (merge-rule "è³¼" "구~b") (merge-rule "è³½" "새~b") (merge-rule "è´„" "지~b") (merge-rule "è´…" "취~b") (merge-rule "è´‡" "윤") (merge-rule "è´ˆ" "증") (merge-rule "è´Š" "찬") (merge-rule "è´‹" "안") (merge-rule "è´" "섬") (merge-rule "è´" "영") (merge-rule "è´" "신") (merge-rule "è´“" "장") (merge-rule "è´”" "비~b") (merge-rule "è´–" "속") (merge-rule "è´›" "공") (merge-rule "赤" "적") (merge-rule "赦" "사~b") (merge-rule "èµ§" "난") (merge-rule "赫" "혁") (merge-rule "èµ­" "자~b") (merge-rule "èµ°" "주~b") (merge-rule "èµ³" "규~b") (merge-rule "èµ´" "부~b") (merge-rule "èµ¶" "간") (merge-rule "èµ·" "기~b") (merge-rule "è¶" "진") (merge-rule "è¶…" "초~b") (merge-rule "è¶Š" "월") (merge-rule "è¶Ž" "주~b") (merge-rule "è¶" "혈") (merge-rule "è¶™" "조~b") (merge-rule "è¶ " "초~b") (merge-rule "è¶£" "취~b") (merge-rule "趨" "추~b") (merge-rule "è¶«" "교~b") (merge-rule "è¶²" "찬") (merge-rule "è¶³" "족") (merge-rule "趺" "부~b") (merge-rule "è¶¾" "지~b") (merge-rule "è·‚" "기~b") (merge-rule "è·†" "á„á…¢~b") (merge-rule "è·‹" "발") (merge-rule "è·Œ" "질") (merge-rule "è·Ž" "á„á…¡~b") (merge-rule "è·" "가~b") (merge-rule "è·•" "접") (merge-rule "è·–" "척") (merge-rule "è·—" "부~b") (merge-rule "è·›" "á„‘á…¡~b") (merge-rule "è·" "거~b") (merge-rule "è·Ÿ" "근") (merge-rule "è·¡" "적") (merge-rule "è·£" "선") (merge-rule "è·¨" "과~b") (merge-rule "è·ª" "궤~b") (merge-rule "è·«" "공") (merge-rule "è·¬" "규~b") (merge-rule "è·¯" "á„‚á…©~b") (merge-rule "è·±" "치~b") (merge-rule "è·³" "도~b") (merge-rule "è·¼" "국") (merge-rule "踆" "준") (merge-rule "踈" "소~b") (merge-rule "踉" "량") (merge-rule "踊" "용") (merge-rule "è¸" "답") (merge-rule "è¸" "천") (merge-rule "踔" "á„ᅡᆨ") (merge-rule "è¸" "과~b") (merge-rule "踞" "거~b") (merge-rule "踟" "지~b") (merge-rule "踪" "종") (merge-rule "踰" "á„‹á…²~b") (merge-rule "踴" "용") (merge-rule "踵" "종") (merge-rule "踶" "제~b") (merge-rule "踽" "á„‹á…®~b") (merge-rule "è¹€" "접") (merge-rule "蹂" "á„‹á…²~b") (merge-rule "蹄" "제~b") (merge-rule "蹇" "건") (merge-rule "蹈" "도~b") (merge-rule "蹉" "차~b") (merge-rule "蹊" "á„’á…¨~b") (merge-rule "蹌" "창") (merge-rule "è¹" "제~b") (merge-rule "蹕" "필") (merge-rule "è¹™" "축") (merge-rule "蹜" "축") (merge-rule "蹟" "적") (merge-rule "è¹ " "척") (merge-rule "è¹£" "만") (merge-rule "蹤" "종") (merge-rule "è¹²" "준") (merge-rule "è¹´" "축") (merge-rule "è¹¶" "궐") (merge-rule "è¹»" "교~b") (merge-rule "èº" "조~b") (merge-rule "躅" "촉") (merge-rule "躇" "저~b") (merge-rule "躉" "돈") (merge-rule "躊" "주~b") (merge-rule "躋" "제~b") (merge-rule "èº" "약") (merge-rule "èº" "렵") (merge-rule "躑" "척") (merge-rule "躓" "지~b") (merge-rule "躔" "전") (merge-rule "躙" "린") (merge-rule "躡" "섭") (merge-rule "躩" "곽") (merge-rule "躪" "린") (merge-rule "身" "신") (merge-rule "躬" "궁") (merge-rule "躱" "á„á…¡~b") (merge-rule "躳" "궁") (merge-rule "軀" "구~b") (merge-rule "軆" "체~b") (merge-rule "車" "거~b") (merge-rule "軋" "알") (merge-rule "軌" "궤~b") (merge-rule "è»" "군") (merge-rule "è»’" "헌") (merge-rule "軟" "연") (merge-rule "軨" "령") (merge-rule "軫" "진") (merge-rule "軸" "축") (merge-rule "軹" "지~b") (merge-rule "軺" "초~b") (merge-rule "è»»" "가~b") (merge-rule "軼" "일") (merge-rule "軾" "식") (merge-rule "較" "교~b") (merge-rule "è¼…" "á„…á…©~b") (merge-rule "輇" "전") (merge-rule "輈" "주~b") (merge-rule "載" "재~b") (merge-rule "è¼’" "첩") (merge-rule "輓" "만") (merge-rule "è¼”" "보~b") (merge-rule "輕" "경") (merge-rule "è¼›" "량") (merge-rule "輜" "치~b") (merge-rule "è¼" "á„’á…±~b") (merge-rule "輞" "망") (merge-rule "輟" "철") (merge-rule "輦" "련") (merge-rule "è¼§" "병") (merge-rule "輨" "관") (merge-rule "輩" "배~b") (merge-rule "輪" "륜") (merge-rule "輯" "집") (merge-rule "è¼°" "양") (merge-rule "è¼³" "주~b") (merge-rule "輸" "수~b") (merge-rule "è¼¹" "복") (merge-rule "è¼»" "복") (merge-rule "è¼¾" "전") (merge-rule "輿" "á„‹á…§~b") (merge-rule "è½€" "온") (merge-rule "轂" "곡") (merge-rule "轄" "할") (merge-rule "è½…" "원") (merge-rule "轆" "록") (merge-rule "轉" "전") (merge-rule "è½" "철") (merge-rule "轎" "교~b") (merge-rule "è½’" "분") (merge-rule "è½”" "린") (merge-rule "è½—" "감") (merge-rule "轘" "환") (merge-rule "è½" "á„‹á…§~b") (merge-rule "轞" "함") (merge-rule "轟" "굉") (merge-rule "轡" "비~b") (merge-rule "è½¢" "력") (merge-rule "è½£" "력") (merge-rule "轤" "á„…á…©~b") (merge-rule "è¾›" "신") (merge-rule "辜" "고~b") (merge-rule "辟" "á„‘á…µ~b") (merge-rule "è¾¢" "랄") (merge-rule "è¾£" "랄") (merge-rule "辦" "판") (merge-rule "辨" "변") (merge-rule "è¾­" "사~b") (merge-rule "è¾®" "변") (merge-rule "辯" "변") (merge-rule "è¾°" "신") (merge-rule "è¾±" "욕") (merge-rule "è¾²" "농") (merge-rule "è¾»" "십") (merge-rule "辿" "천") (merge-rule "è¿€" "간") (merge-rule "è¿‚" "á„‹á…®~b") (merge-rule "迃" "á„‹á…©~b") (merge-rule "è¿„" "흘") (merge-rule "è¿…" "신") (merge-rule "è¿" "둔") (merge-rule "迎" "영") (merge-rule "è¿‘" "근") (merge-rule "è¿“" "á„‹á…¡~b") (merge-rule "è¿”" "반") (merge-rule "è¿•" "á„‹á…©~b") (merge-rule "è¿¢" "초~b") (merge-rule "迤" "á„‹á…µ~b") (merge-rule "è¿¥" "형") (merge-rule "迦" "가~b") (merge-rule "迨" "á„á…¢~b") (merge-rule "迪" "적") (merge-rule "è¿«" "박") (merge-rule "迬" "왕") (merge-rule "è¿­" "질") (merge-rule "è¿°" "술") (merge-rule "迲" "겁") (merge-rule "è¿´" "á„’á…¬~b") (merge-rule "è¿·" "미~b") (merge-rule "迸" "병") (merge-rule "迹" "적") (merge-rule "迺" "á„‚á…¢~b") (merge-rule "追" "추~b") (merge-rule "退" "á„á…¬~b") (merge-rule "é€" "송") (merge-rule "适" "괄") (merge-rule "逃" "도~b") (merge-rule "逅" "á„’á…®~b") (merge-rule "逆" "역") (merge-rule "逈" "형") (merge-rule "逋" "á„‘á…©~b") (merge-rule "逌" "á„‹á…²~b") (merge-rule "é€" "소~b") (merge-rule "é€" "á„á…®~b") (merge-rule "é€" "축") (merge-rule "逑" "구~b") (merge-rule "途" "도~b") (merge-rule "逕" "경") (merge-rule "逖" "적") (merge-rule "逗" "두~b") (merge-rule "這" "저~b") (merge-rule "通" "á„ᅩᆼ") (merge-rule "é€" "서~b") (merge-rule "逞" "령") (merge-rule "速" "속") (merge-rule "造" "조~b") (merge-rule "逡" "준") (merge-rule "逢" "봉") (merge-rule "連" "련") (merge-rule "逮" "체~b") (merge-rule "週" "주~b") (merge-rule "進" "진") (merge-rule "逴" "á„ᅡᆨ") (merge-rule "逵" "규~b") (merge-rule "逶" "á„‹á…±~b") (merge-rule "逸" "일") (merge-rule "逼" "핍") (merge-rule "逾" "á„‹á…²~b") (merge-rule "é" "둔") (merge-rule "é‚" "수~b") (merge-rule "é‡" "á„‹á…®~b") (merge-rule "é‰" "정") (merge-rule "éŠ" "á„‹á…²~b") (merge-rule "é‹" "운") (merge-rule "é" "편") (merge-rule "éŽ" "과~b") (merge-rule "é" "알") (merge-rule "é" "á„’á…¡~b") (merge-rule "é‘" "황") (merge-rule "é’" "주~b") (merge-rule "é“" "도~b") (merge-rule "é”" "달") (merge-rule "é•" "á„‹á…±~b") (merge-rule "é˜" "구~b") (merge-rule "é™" "á„‹á…­~b") (merge-rule "é›" "á„…á…²~b") (merge-rule "éœ" "손") (merge-rule "é" "답") (merge-rule "éž" "체~b") (merge-rule "é " "원") (merge-rule "é¡" "소~b") (merge-rule "é£" "견") (merge-rule "é¨" "á„‹á…©~b") (merge-rule "é©" "적") (merge-rule "é¬" "속") (merge-rule "é­" "조~b") (merge-rule "é®" "차~b") (merge-rule "é¯" "둔") (merge-rule "é²" "지~b") (merge-rule "éµ" "준") (merge-rule "é¶" "á„‹á…­~b") (merge-rule "é·" "천") (merge-rule "é¸" "선") (merge-rule "éº" "á„‹á…²~b") (merge-rule "é¼" "á„…á…­~b") (merge-rule "é½" "거~b") (merge-rule "é¿" "á„‘á…µ~b") (merge-rule "é‚€" "á„‹á…­~b") (merge-rule "é‚" "매~b") (merge-rule "é‚‚" "á„’á…¢~b") (merge-rule "邃" "수~b") (merge-rule "é‚„" "환") (merge-rule "é‚…" "전") (merge-rule "邇" "á„‹á…µ~b") (merge-rule "邈" "막") (merge-rule "邊" "변") (merge-rule "邌" "á„…á…§~b") (merge-rule "é‚" "á„‚á…¡~b") (merge-rule "é‚" "á„…á…µ~b") (merge-rule "é‚‘" "읍") (merge-rule "é‚•" "옹") (merge-rule "é‚™" "망") (merge-rule "é‚ " "빈") (merge-rule "é‚¢" "형") (merge-rule "é‚£" "á„‚á…¡~b") (merge-rule "邦" "방") (merge-rule "邨" "촌") (merge-rule "邪" "사~b") (merge-rule "邯" "감") (merge-rule "é‚°" "á„á…¢~b") (merge-rule "邱" "구~b") (merge-rule "邳" "비~b") (merge-rule "邵" "소~b") (merge-rule "邸" "저~b") (merge-rule "邽" "규~b") (merge-rule "éƒ" "욱") (merge-rule "郃" "합") (merge-rule "郄" "극") (merge-rule "郅" "질") (merge-rule "郊" "교~b") (merge-rule "郎" "낭") (merge-rule "郜" "고~b") (merge-rule "éƒ" "학") (merge-rule "郞" "랑") (merge-rule "郡" "군") (merge-rule "郢" "영") (merge-rule "部" "부~b") (merge-rule "郪" "처~b") (merge-rule "郫" "비~b") (merge-rule "郭" "곽") (merge-rule "郯" "담") (merge-rule "郴" "침") (merge-rule "郵" "á„‹á…®~b") (merge-rule "都" "도~b") (merge-rule "é„‚" "악") (merge-rule "é„’" "추~b") (merge-rule "é„•" "향") (merge-rule "é„™" "비~b") (merge-rule "鄞" "은") (merge-rule "é„¢" "언") (merge-rule "é„£" "장") (merge-rule "é„§" "등") (merge-rule "é„­" "정") (merge-rule "é„°" "린") (merge-rule "鄱" "á„‘á…¡~b") (merge-rule "鄲" "단") (merge-rule "é„´" "업") (merge-rule "鄽" "전") (merge-rule "é…ˆ" "력") (merge-rule "é…‰" "á„‹á…²~b") (merge-rule "é…Š" "정") (merge-rule "é…‹" "추~b") (merge-rule "é…Œ" "작") (merge-rule "é…" "배~b") (merge-rule "é…Ž" "주~b") (merge-rule "é…’" "주~b") (merge-rule "é…–" "á„ᅡᆷ") (merge-rule "é…—" "á„’á…®~b") (merge-rule "é…¢" "초~b") (merge-rule "é…£" "감") (merge-rule "é…¤" "고~b") (merge-rule "é…¥" "소~b") (merge-rule "é…©" "명") (merge-rule "é…ª" "낙") (merge-rule "é…¬" "수~b") (merge-rule "é…²" "정") (merge-rule "é…´" "도~b") (merge-rule "é…µ" "á„’á…­~b") (merge-rule "é…¶" "매~b") (merge-rule "é…·" "혹") (merge-rule "é…¸" "산") (merge-rule "é…¹" "á„…á…¬~b") (merge-rule "醃" "엄") (merge-rule "醇" "순") (merge-rule "醉" "취~b") (merge-rule "醋" "초~b") (merge-rule "é†" "제~b") (merge-rule "é†" "á„’á…©~b") (merge-rule "醒" "성") (merge-rule "醜" "추~b") (merge-rule "醞" "온") (merge-rule "醢" "á„’á…¢~b") (merge-rule "醪" "á„…á…­~b") (merge-rule "醫" "á„‹á…´~b") (merge-rule "醬" "장") (merge-rule "醮" "초~b") (merge-rule "醯" "á„’á…¨~b") (merge-rule "醱" "발") (merge-rule "醲" "농") (merge-rule "醴" "á„…á…¨~b") (merge-rule "醵" "갹") (merge-rule "釀" "양") (merge-rule "é‡" "흔") (merge-rule "釃" "시~b") (merge-rule "釅" "염") (merge-rule "采" "채~b") (merge-rule "釉" "á„‹á…²~b") (merge-rule "釋" "석") (merge-rule "里" "á„…á…µ~b") (merge-rule "é‡" "중") (merge-rule "野" "á„‹á…£~b") (merge-rule "é‡" "량") (merge-rule "é‡" "á„…á…µ~b") (merge-rule "金" "금") (merge-rule "釗" "쇠~b") (merge-rule "釘" "정") (merge-rule "釜" "부~b") (merge-rule "é‡" "침") (merge-rule "釣" "조~b") (merge-rule "釤" "삼") (merge-rule "釦" "구~b") (merge-rule "釧" "천") (merge-rule "釪" "á„‹á…®~b") (merge-rule "釭" "공") (merge-rule "釵" "채~b") (merge-rule "釿" "근") (merge-rule "鈇" "부~b") (merge-rule "éˆ" "둔") (merge-rule "éˆ" "검") (merge-rule "鈑" "판") (merge-rule "鈒" "삽") (merge-rule "鈔" "초~b") (merge-rule "鈗" "윤") (merge-rule "鈜" "횡") (merge-rule "鈞" "균") (merge-rule "鈟" "조~b") (merge-rule "鈴" "령") (merge-rule "鈵" "병") (merge-rule "鈷" "고~b") (merge-rule "鈸" "발") (merge-rule "鈺" "옥") (merge-rule "鈿" "전") (merge-rule "鉀" "갑") (merge-rule "é‰" "진") (merge-rule "鉅" "거~b") (merge-rule "鉉" "현") (merge-rule "鉋" "á„‘á…©~b") (merge-rule "鉎" "생") (merge-rule "é‰" "서~b") (merge-rule "é‰" "석") (merge-rule "鉒" "주~b") (merge-rule "鉗" "겸") (merge-rule "鉛" "연") (merge-rule "鉞" "월") (merge-rule "鉢" "발") (merge-rule "鉤" "구~b") (merge-rule "鉥" "술") (merge-rule "鉦" "정") (merge-rule "鉷" "홍") (merge-rule "鉸" "교~b") (merge-rule "鉼" "병") (merge-rule "鉾" "모~b") (merge-rule "銀" "은") (merge-rule "銃" "총") (merge-rule "銅" "동") (merge-rule "銋" "임") (merge-rule "銑" "선") (merge-rule "銓" "전") (merge-rule "銕" "철") (merge-rule "銖" "수~b") (merge-rule "銘" "명") (merge-rule "銙" "과~b") (merge-rule "銚" "조~b") (merge-rule "銛" "섬") (merge-rule "銜" "함") (merge-rule "銳" "á„‹á…¨~b") (merge-rule "銶" "구~b") (merge-rule "銷" "소~b") (merge-rule "銹" "수~b") (merge-rule "鋆" "윤") (merge-rule "鋌" "정") (merge-rule "é‹" "협") (merge-rule "é‹‘" "전") (merge-rule "é‹’" "봉") (merge-rule "é‹—" "현") (merge-rule "鋟" "침") (merge-rule "鋤" "서~b") (merge-rule "é‹¥" "정") (merge-rule "鋪" "á„‘á…©~b") (merge-rule "鋲" "병") (merge-rule "鋸" "거~b") (merge-rule "鋹" "창") (merge-rule "鋺" "원") (merge-rule "鋼" "강") (merge-rule "鋽" "조~b") (merge-rule "錄" "녹") (merge-rule "錆" "창") (merge-rule "éŒ" "á„‹á…¡~b") (merge-rule "éŒ" "추~b") (merge-rule "錕" "곤") (merge-rule "錘" "추~b") (merge-rule "錙" "치~b") (merge-rule "錚" "쟁") (merge-rule "錞" "순") (merge-rule "錟" "담") (merge-rule "錠" "정") (merge-rule "錡" "기~b") (merge-rule "錢" "전") (merge-rule "錣" "철") (merge-rule "錤" "기~b") (merge-rule "錦" "금") (merge-rule "錧" "관") (merge-rule "錨" "묘~b") (merge-rule "錪" "전") (merge-rule "錫" "석") (merge-rule "錬" "동") (merge-rule "錮" "고~b") (merge-rule "錯" "착") (merge-rule "éˆ" "영") (merge-rule "é‰" "시~b") (merge-rule "éŠ" "련") (merge-rule "é‹" "과~b") (merge-rule "é" "도~b") (merge-rule "é”" "악") (merge-rule "é—" "제~b") (merge-rule "é›" "단") (merge-rule "éœ" "á„’á…¡~b") (merge-rule "é" "á„‹á…®~b") (merge-rule "é¤" "삽") (merge-rule "é«" "초~b") (merge-rule "é¬" "초~b") (merge-rule "é®" "á„‹á…²~b") (merge-rule "é°" "환") (merge-rule "éµ" "건") (merge-rule "é¼" "침") (merge-rule "é¾" "종") (merge-rule "鎊" "방") (merge-rule "鎌" "겸") (merge-rule "鎔" "용") (merge-rule "鎖" "쇄~b") (merge-rule "鎗" "쟁") (merge-rule "鎚" "추~b") (merge-rule "鎛" "박") (merge-rule "鎟" "상") (merge-rule "鎡" "자~b") (merge-rule "鎣" "형") (merge-rule "鎤" "황") (merge-rule "鎧" "개~b") (merge-rule "鎬" "á„’á…©~b") (merge-rule "鎭" "진") (merge-rule "鎰" "일") (merge-rule "éƒ" "족") (merge-rule "é‡" "선") (merge-rule "éˆ" "련") (merge-rule "éŠ" "á„‹á…©~b") (merge-rule "é‹" "만") (merge-rule "éŒ" "막") (merge-rule "é‘" "적") (merge-rule "é–" "á„‹á…©~b") (merge-rule "é—" "갱") (merge-rule "é˜" "장") (merge-rule "éœ" "당") (merge-rule "é" "만") (merge-rule "éž" "용") (merge-rule "éŸ" "산") (merge-rule "é¡" "경") (merge-rule "é¢" "á„‘á…­~b") (merge-rule "é¤" "á„…á…®~b") (merge-rule "é¦" "총") (merge-rule "é¨" "참") (merge-rule "é¶" "집") (merge-rule "é»" "린") (merge-rule "éƒ" "á„‚á…­~b") (merge-rule "é„" "횡") (merge-rule "é" "준") (merge-rule "é" "á„…á…­~b") (merge-rule "é“" "대~b") (merge-rule "é”" "심") (merge-rule "é˜" "종") (merge-rule "é™" "등") (merge-rule "é¥" "선") (merge-rule "éª" "á„…á…©~b") (merge-rule "é«" "전") (merge-rule "éµ" "철") (merge-rule "é¶" "환") (merge-rule "é¸" "á„ᅡᆨ") (merge-rule "éº" "당") (merge-rule "é‘‚" "훈") (merge-rule "é‘„" "주~b") (merge-rule "鑊" "확") (merge-rule "鑌" "빈") (merge-rule "é‘‘" "감") (merge-rule "é‘’" "감") (merge-rule "é‘•" "질") (merge-rule "é‘›" "광") (merge-rule "鑞" "랍") (merge-rule "é‘ " "삭") (merge-rule "é‘¢" "á„…á…§~b") (merge-rule "é‘£" "á„‘á…­~b") (merge-rule "鑪" "á„…á…©~b") (merge-rule "é‘°" "약") (merge-rule "鑱" "참") (merge-rule "鑲" "양") (merge-rule "鑵" "관") (merge-rule "é‘·" "섭") (merge-rule "鑼" "á„…á…¡~b") (merge-rule "鑽" "찬") (merge-rule "鑾" "란") (merge-rule "é‘¿" "착") (merge-rule "é•·" "장") (merge-rule "é–€" "문") (merge-rule "é–ƒ" "섬") (merge-rule "é–ˆ" "한") (merge-rule "é–‰" "á„‘á…¨~b") (merge-rule "é–Š" "산") (merge-rule "é–‹" "개~b") (merge-rule "é–Ž" "굉") (merge-rule "é–" "윤") (merge-rule "é–‘" "한") (merge-rule "é–’" "한") (merge-rule "é–“" "간") (merge-rule "é–”" "민") (merge-rule "é–˜" "갑") (merge-rule "é–Ÿ" "비~b") (merge-rule "é–£" "각") (merge-rule "é–¤" "합") (merge-rule "é–¥" "벌") (merge-rule "é–¨" "규~b") (merge-rule "é–©" "민") (merge-rule "é–«" "곤") (merge-rule "é–¬" "랑") (merge-rule "é–­" "á„…á…§~b") (merge-rule "é–±" "열") (merge-rule "é–¶" "창") (merge-rule "é–¹" "엄") (merge-rule "é–»" "염") (merge-rule "é–¼" "알") (merge-rule "é–½" "혼") (merge-rule "é–¾" "역") (merge-rule "é—ƒ" "격") (merge-rule "é—‡" "암") (merge-rule "é—ˆ" "á„‹á…±~b") (merge-rule "é—Š" "활") (merge-rule "é—‹" "결") (merge-rule "é—Œ" "란") (merge-rule "é—" "도~b") (merge-rule "é—“" "개~b") (merge-rule "é—”" "합") (merge-rule "é—•" "궐") (merge-rule "é—–" "á„ᅳᆷ") (merge-rule "é—š" "규~b") (merge-rule "é—œ" "관") (merge-rule "é—ž" "함") (merge-rule "é— " "궤~b") (merge-rule "é—¡" "천") (merge-rule "é—¢" "벽") (merge-rule "é—¥" "달") (merge-rule "阜" "부~b") (merge-rule "阡" "천") (merge-rule "阤" "치~b") (merge-rule "阨" "액") (merge-rule "阪" "판") (merge-rule "阮" "완") (merge-rule "阯" "지~b") (merge-rule "防" "방") (merge-rule "阻" "조~b") (merge-rule "阿" "á„‹á…¡~b") (merge-rule "陀" "á„á…¡~b") (merge-rule "陂" "á„‘á…µ~b") (merge-rule "附" "부~b") (merge-rule "陋" "á„‚á…®~b") (merge-rule "陌" "맥") (merge-rule "é™" "강") (merge-rule "é™" "한") (merge-rule "陘" "형") (merge-rule "é™›" "á„‘á…¨~b") (merge-rule "陜" "합") (merge-rule "é™" "섬") (merge-rule "陞" "승") (merge-rule "陟" "척") (merge-rule "陡" "두~b") (merge-rule "院" "원") (merge-rule "陣" "진") (merge-rule "除" "제~b") (merge-rule "陪" "배~b") (merge-rule "陬" "추~b") (merge-rule "é™°" "음") (merge-rule "陲" "수~b") (merge-rule "陳" "진") (merge-rule "é™´" "비~b") (merge-rule "陵" "능") (merge-rule "é™¶" "도~b") (merge-rule "é™·" "함") (merge-rule "陸" "륙") (merge-rule "陼" "저~b") (merge-rule "陽" "양") (merge-rule "éš„" "제~b") (merge-rule "éš…" "á„‹á…®~b") (merge-rule "隆" "륭") (merge-rule "隊" "대~b") (merge-rule "éš‹" "수~b") (merge-rule "éš" "황") (merge-rule "階" "계~b") (merge-rule "éš‘" "기~b") (merge-rule "éš”" "격") (merge-rule "éš•" "운") (merge-rule "éš—" "á„‹á…¬~b") (merge-rule "隘" "á„‹á…¢~b") (merge-rule "éš™" "극") (merge-rule "éš›" "제~b") (merge-rule "éšœ" "장") (merge-rule "隣" "린") (merge-rule "隤" "á„á…¬~b") (merge-rule "éš§" "수~b") (merge-rule "隨" "수~b") (merge-rule "éš©" "á„‹á…©~b") (merge-rule "險" "험") (merge-rule "éš°" "습") (merge-rule "éš±" "은") (merge-rule "éš³" "á„’á…²~b") (merge-rule "éš´" "롱") (merge-rule "éš¶" "á„‹á…µ~b") (merge-rule "éš·" "á„…á…¨~b") (merge-rule "隸" "á„‹á…¨~b") (merge-rule "éš¹" "추~b") (merge-rule "éš»" "척") (merge-rule "éš¼" "준") (merge-rule "雀" "작") (merge-rule "é›" "안") (merge-rule "雄" "웅") (merge-rule "é›…" "á„‹á…¡~b") (merge-rule "集" "집") (merge-rule "雇" "고~b") (merge-rule "雉" "치~b") (merge-rule "雋" "준") (merge-rule "雌" "자~b") (merge-rule "é›" "옹") (merge-rule "雎" "저~b") (merge-rule "雕" "조~b") (merge-rule "é›–" "수~b") (merge-rule "é›™" "쌍") (merge-rule "雚" "관") (merge-rule "é››" "추~b") (merge-rule "雜" "잡") (merge-rule "é›" "옹") (merge-rule "雞" "계~b") (merge-rule "離" "á„…á…µ~b") (merge-rule "難" "난") (merge-rule "雨" "á„‹á…®~b") (merge-rule "雩" "á„‹á…®~b") (merge-rule "雪" "설") (merge-rule "雯" "문") (merge-rule "é›°" "분") (merge-rule "雲" "운") (merge-rule "é›¶" "령") (merge-rule "é›·" "á„‚á…¬~b") (merge-rule "雹" "박") (merge-rule "雺" "몽") (merge-rule "é›»" "전") (merge-rule "需" "수~b") (merge-rule "霄" "소~b") (merge-rule "霅" "삽") (merge-rule "霆" "정") (merge-rule "震" "진") (merge-rule "霈" "á„‘á…¢~b") (merge-rule "霉" "매~b") (merge-rule "霌" "주~b") (merge-rule "éœ" "곽") (merge-rule "霎" "삽") (merge-rule "éœ" "비~b") (merge-rule "霑" "점") (merge-rule "霓" "á„‹á…¨~b") (merge-rule "霔" "주~b") (merge-rule "霖" "림") (merge-rule "霙" "영") (merge-rule "霜" "상") (merge-rule "霞" "á„’á…¡~b") (merge-rule "霣" "운") (merge-rule "霦" "빈") (merge-rule "霧" "무~b") (merge-rule "霪" "음") (merge-rule "霰" "산") (merge-rule "露" "á„‚á…©~b") (merge-rule "霸" "á„‘á…¢~b") (merge-rule "霹" "벽") (merge-rule "霽" "제~b") (merge-rule "é‚" "력") (merge-rule "é„" "á„‹á…¢~b") (merge-rule "é†" "체~b") (merge-rule "éˆ" "령") (merge-rule "é‰" "á„‹á…¢~b") (merge-rule "éŒ" "보~b") (merge-rule "é‘" "청") (merge-rule "é–" "정") (merge-rule "éš" "정") (merge-rule "é›" "전") (merge-rule "éœ" "정") (merge-rule "é" "천") (merge-rule "éž" "비~b") (merge-rule "é " "고~b") (merge-rule "é¡" "미~b") (merge-rule "é¢" "면") (merge-rule "é¦" "전") (merge-rule "é¨" "엽") (merge-rule "é©" "혁") (merge-rule "é­" "인") (merge-rule "é³" "근") (merge-rule "é´" "á„’á…ª~b") (merge-rule "éµ" "á„‚á…²~b") (merge-rule "é·" "인") (merge-rule "éº" "말") (merge-rule "é¼" "달") (merge-rule "鞀" "도~b") (merge-rule "éž" "á„‘á…µ~b") (merge-rule "éž„" "á„‘á…©~b") (merge-rule "éž…" "앙") (merge-rule "éž‹" "á„’á…¨~b") (merge-rule "éž" "안") (merge-rule "éž" "공") (merge-rule "鞘" "초~b") (merge-rule "éž " "국") (merge-rule "鞣" "á„‹á…²~b") (merge-rule "鞦" "추~b") (merge-rule "鞨" "갈") (merge-rule "éž«" "국") (merge-rule "鞬" "건") (merge-rule "éž­" "편") (merge-rule "éž±" "도~b") (merge-rule "éž´" "비~b") (merge-rule "鞸" "필") (merge-rule "éž¹" "곽") (merge-rule "éŸ" "강") (merge-rule "韃" "달") (merge-rule "韆" "천") (merge-rule "韋" "á„‹á…±~b") (merge-rule "éŸ" "불") (merge-rule "éŸ" "갑") (merge-rule "韓" "한") (merge-rule "韙" "á„‹á…±~b") (merge-rule "韜" "도~b") (merge-rule "éŸ" "구~b") (merge-rule "韞" "온") (merge-rule "韠" "필") (merge-rule "韡" "á„‹á…±~b") (merge-rule "韭" "구~b") (merge-rule "韮" "구~b") (merge-rule "韱" "섬") (merge-rule "韲" "제~b") (merge-rule "音" "음") (merge-rule "韵" "운") (merge-rule "韶" "소~b") (merge-rule "韺" "영") (merge-rule "韻" "운") (merge-rule "響" "향") (merge-rule "é €" "á„’á…©~b") (merge-rule "é " "혈") (merge-rule "é ‚" "정") (merge-rule "é ƒ" "경") (merge-rule "é …" "항") (merge-rule "é †" "순") (merge-rule "é ˆ" "수~b") (merge-rule "é Š" "욱") (merge-rule "é Œ" "송") (merge-rule "é " "규~b") (merge-rule "é Ž" "기~b") (merge-rule "é " "항") (merge-rule "é " "á„‹á…¨~b") (merge-rule "é ‘" "완") (merge-rule "é ’" "반") (merge-rule "é “" "돈") (merge-rule "é –" "반") (merge-rule "é —" "á„‘á…¡~b") (merge-rule "é ˜" "령") (merge-rule "é ž" "알") (merge-rule "é ¡" "힐") (merge-rule "é £" "신") (merge-rule "é ¦" "á„’á…¢~b") (merge-rule "é «" "부~b") (merge-rule "é ­" "두~b") (merge-rule "é ®" "á„’á…¬~b") (merge-rule "é °" "협") (merge-rule "é ·" "암") (merge-rule "é ¸" "경") (merge-rule "é ¹" "á„á…¬~b") (merge-rule "é »" "빈") (merge-rule "é ¿" "자~b") (merge-rule "é¡‚" "á„…á…¬~b") (merge-rule "顆" "과~b") (merge-rule "顇" "췌~b") (merge-rule "顈" "경") (merge-rule "é¡‹" "시~b") (merge-rule "題" "제~b") (merge-rule "é¡" "액") (merge-rule "顎" "악") (merge-rule "é¡’" "옹") (merge-rule "é¡“" "전") (merge-rule "é¡”" "안") (merge-rule "願" "원") (merge-rule "é¡™" "상") (merge-rule "顚" "전") (merge-rule "類" "á„…á…²~b") (merge-rule "é¡¥" "á„’á…©~b") (merge-rule "顦" "초~b") (merge-rule "é¡§" "고~b") (merge-rule "é¡«" "전") (merge-rule "顯" "현") (merge-rule "é¡°" "빈") (merge-rule "顱" "á„…á…©~b") (merge-rule "顳" "섭") (merge-rule "é¡´" "관") (merge-rule "風" "풍") (merge-rule "颭" "점") (merge-rule "颯" "삽") (merge-rule "颱" "á„á…¢~b") (merge-rule "颲" "렬") (merge-rule "颶" "구~b") (merge-rule "颺" "양") (merge-rule "颼" "수~b") (merge-rule "颿" "범") (merge-rule "飂" "á„…á…­~b") (merge-rule "飄" "á„‘á…­~b") (merge-rule "飇" "á„‘á…­~b") (merge-rule "飉" "á„…á…­~b") (merge-rule "飋" "실") (merge-rule "飛" "비~b") (merge-rule "飜" "번") (merge-rule "食" "식") (merge-rule "飡" "손") (merge-rule "飢" "기~b") (merge-rule "飦" "전") (merge-rule "飧" "손") (merge-rule "飪" "임") (merge-rule "飫" "á„‹á…¥~b") (merge-rule "飭" "칙") (merge-rule "飮" "음") (merge-rule "飯" "반") (merge-rule "飱" "손") (merge-rule "飴" "á„‹á…µ~b") (merge-rule "飻" "철") (merge-rule "飼" "사~b") (merge-rule "飽" "á„‘á…©~b") (merge-rule "飾" "식") (merge-rule "餃" "교~b") (merge-rule "餉" "향") (merge-rule "養" "양") (merge-rule "餌" "á„‹á…µ~b") (merge-rule "é¤" "찬") (merge-rule "餒" "á„‚á…¬~b") (merge-rule "餓" "á„‹á…¡~b") (merge-rule "餔" "á„‘á…©~b") (merge-rule "餕" "준") (merge-rule "餘" "á„‹á…§~b") (merge-rule "餚" "á„’á…­~b") (merge-rule "餞" "전") (merge-rule "餠" "병") (merge-rule "餦" "장") (merge-rule "餧" "á„‹á…±~b") (merge-rule "館" "관") (merge-rule "餪" "난") (merge-rule "餬" "á„’á…©~b") (merge-rule "餮" "철") (merge-rule "餰" "전") (merge-rule "餱" "á„’á…®~b") (merge-rule "餳" "당") (merge-rule "餹" "당") (merge-rule "餼" "á„’á…´~b") (merge-rule "餽" "궤~b") (merge-rule "饂" "온") (merge-rule "饅" "만") (merge-rule "饈" "수~b") (merge-rule "饉" "근") (merge-rule "饋" "궤~b") (merge-rule "饌" "찬") (merge-rule "é¥" "선") (merge-rule "é¥" "á„‹á…´~b") (merge-rule "饑" "기~b") (merge-rule "饒" "á„‹á…­~b") (merge-rule "饔" "옹") (merge-rule "饕" "도~b") (merge-rule "饗" "향") (merge-rule "饜" "염") (merge-rule "饞" "참") (merge-rule "首" "수~b") (merge-rule "馗" "규~b") (merge-rule "馘" "괵") (merge-rule "香" "향") (merge-rule "é¦" "필") (merge-rule "馣" "암") (merge-rule "馥" "복") (merge-rule "馨" "형") (merge-rule "馬" "마~b") (merge-rule "馭" "á„‹á…¥~b") (merge-rule "馮" "풍") (merge-rule "馰" "적") (merge-rule "馱" "á„á…¡~b") (merge-rule "馳" "치~b") (merge-rule "馴" "순") (merge-rule "馹" "일") (merge-rule "é§" "박") (merge-rule "é§„" "á„á…¢~b") (merge-rule "駈" "구~b") (merge-rule "駉" "경") (merge-rule "é§" "거~b") (merge-rule "é§" "주~b") (merge-rule "é§‘" "á„‚á…©~b") (merge-rule "é§’" "구~b") (merge-rule "é§•" "가~b") (merge-rule "駘" "á„á…¢~b") (merge-rule "é§™" "부~b") (merge-rule "é§›" "사~b") (merge-rule "é§œ" "필") (merge-rule "é§" "á„á…¡~b") (merge-rule "é§ž" "á„á…¡~b") (merge-rule "é§Ÿ" "사~b") (merge-rule "é§¢" "변") (merge-rule "駨" "순") (merge-rule "駪" "신") (merge-rule "é§­" "á„’á…¢~b") (merge-rule "é§®" "박") (merge-rule "é§±" "낙") (merge-rule "駸" "침") (merge-rule "é§»" "한") (merge-rule "é§½" "현") (merge-rule "é§¿" "준") (merge-rule "é¨" "빙") (merge-rule "騂" "성") (merge-rule "騃" "á„‹á…¢~b") (merge-rule "騄" "록") (merge-rule "騅" "추~b") (merge-rule "騈" "병") (merge-rule "騋" "á„…á…¢~b") (merge-rule "é¨" "과~b") (merge-rule "騎" "기~b") (merge-rule "é¨" "기~b") (merge-rule "騑" "비~b") (merge-rule "騖" "무~b") (merge-rule "騘" "총") (merge-rule "騙" "편") (merge-rule "騛" "비~b") (merge-rule "騫" "건") (merge-rule "騭" "즐") (merge-rule "騰" "등") (merge-rule "騵" "원") (merge-rule "騶" "추~b") (merge-rule "騷" "소~b") (merge-rule "騸" "선") (merge-rule "騾" "á„…á…¡~b") (merge-rule "é©€" "맥") (merge-rule "é©" "á„‹á…©~b") (merge-rule "é©‚" "참") (merge-rule "驃" "á„‘á…­~b") (merge-rule "é©„" "총") (merge-rule "é©…" "구~b") (merge-rule "驊" "á„’á…ª~b") (merge-rule "驌" "숙") (merge-rule "é©" "á„’á…­~b") (merge-rule "驎" "린") (merge-rule "é©" "잔") (merge-rule "é©’" "á„ᅡᆫ") (merge-rule "é©•" "교~b") (merge-rule "é©—" "험") (merge-rule "驘" "á„…á…¡~b") (merge-rule "驚" "경") (merge-rule "é©›" "역") (merge-rule "驟" "취~b") (merge-rule "é©¢" "á„…á…§~b") (merge-rule "驤" "양") (merge-rule "é©¥" "기~b") (merge-rule "é©©" "환") (merge-rule "驪" "á„…á…§~b") (merge-rule "骨" "골") (merge-rule "骪" "á„‹á…±~b") (merge-rule "骰" "á„á…®~b") (merge-rule "骸" "á„’á…¢~b") (merge-rule "骹" "교~b") (merge-rule "骼" "격") (merge-rule "骿" "변") (merge-rule "é«€" "비~b") (merge-rule "髆" "박") (merge-rule "é«" "á„…á…®~b") (merge-rule "é«‘" "촉") (merge-rule "é«“" "수~b") (merge-rule "é«”" "체~b") (merge-rule "é«–" "관") (merge-rule "é«—" "á„…á…©~b") (merge-rule "高" "고~b") (merge-rule "髟" "á„‘á…­~b") (merge-rule "é«¡" "곤") (merge-rule "é«£" "방") (merge-rule "é«¥" "염") (merge-rule "髦" "모~b") (merge-rule "é««" "초~b") (merge-rule "é«­" "자~b") (merge-rule "é«®" "발") (merge-rule "é«°" "체~b") (merge-rule "髲" "á„‘á…µ~b") (merge-rule "é«´" "불") (merge-rule "髹" "á„’á…²~b") (merge-rule "髺" "괄") (merge-rule "é«»" "계~b") (merge-rule "髽" "좌~b") (merge-rule "鬂" "빈") (merge-rule "鬅" "붕") (merge-rule "鬆" "송") (merge-rule "鬊" "순") (merge-rule "鬋" "전") (merge-rule "é¬" "á„’á…©~b") (merge-rule "é¬" "기~b") (merge-rule "鬒" "진") (merge-rule "鬖" "삼") (merge-rule "鬘" "만") (merge-rule "鬙" "승") (merge-rule "鬚" "수~b") (merge-rule "鬟" "환") (merge-rule "鬢" "빈") (merge-rule "鬣" "렵") (merge-rule "鬧" "á„…á…­~b") (merge-rule "鬨" "홍") (merge-rule "鬩" "혁") (merge-rule "鬪" "á„á…®~b") (merge-rule "鬮" "구~b") (merge-rule "鬯" "창") (merge-rule "鬱" "울") (merge-rule "鬲" "격") (merge-rule "鬺" "상") (merge-rule "鬼" "귀~b") (merge-rule "é­" "괴~b") (merge-rule "é­‚" "혼") (merge-rule "é­ƒ" "발") (merge-rule "é­„" "백") (merge-rule "é­…" "매~b") (merge-rule "é­ˆ" "소~b") (merge-rule "é­‹" "추~b") (merge-rule "é­" "망") (merge-rule "é­Ž" "량") (merge-rule "é­" "á„‹á…±~b") (merge-rule "é­‘" "á„…á…µ~b") (merge-rule "é­”" "마~b") (merge-rule "é­˜" "염") (merge-rule "é­š" "á„‹á…¥~b") (merge-rule "é­¦" "사~b") (merge-rule "é­¯" "á„‚á…©~b") (merge-rule "é­´" "방") (merge-rule "鮀" "á„á…¡~b") (merge-rule "鮃" "평") (merge-rule "鮎" "점") (merge-rule "鮑" "á„‘á…©~b") (merge-rule "é®’" "부~b") (merge-rule "鮓" "자~b") (merge-rule "é®—" "동") (merge-rule "鮟" "안") (merge-rule "é®§" "제~b") (merge-rule "鮨" "지~b") (merge-rule "鮪" "á„‹á…²~b") (merge-rule "鮫" "교~b") (merge-rule "é®­" "á„’á…¢~b") (merge-rule "é®®" "선") (merge-rule "鮹" "소~b") (merge-rule "é¯" "경") (merge-rule "鯆" "á„‘á…©~b") (merge-rule "鯉" "á„…á…µ~b") (merge-rule "鯊" "사~b") (merge-rule "鯔" "치~b") (merge-rule "鯖" "청") (merge-rule "鯛" "조~b") (merge-rule "鯢" "á„‹á…¨~b") (merge-rule "鯤" "곤") (merge-rule "鯨" "경") (merge-rule "鯷" "제~b") (merge-rule "é°ˆ" "접") (merge-rule "é°Š" "련") (merge-rule "é°Œ" "추~b") (merge-rule "é°" "추~b") (merge-rule "é°" "악") (merge-rule "é°’" "복") (merge-rule "é°“" "새~b") (merge-rule "é°•" "á„’á…¡~b") (merge-rule "é°¤" "사~b") (merge-rule "é°¥" "환") (merge-rule "é°­" "기~b") (merge-rule "é°®" "온") (merge-rule "é°¯" "약") (merge-rule "é°±" "련") (merge-rule "é°²" "á„‹á…©~b") (merge-rule "é°µ" "민") (merge-rule "é°¹" "견") (merge-rule "é°º" "소~b") (merge-rule "é°»" "만") (merge-rule "é°¾" "á„‘á…­~b") (merge-rule "鱇" "강") (merge-rule "鱉" "별") (merge-rule "é±" "심") (merge-rule "é±’" "준") (merge-rule "鱓" "선") (merge-rule "é±—" "린") (merge-rule "é± " "á„’á…¬~b") (merge-rule "é±£" "전") (merge-rule "é±§" "á„…á…¨~b") (merge-rule "鱸" "á„…á…©~b") (merge-rule "é±»" "선") (merge-rule "é³¥" "조~b") (merge-rule "鳦" "을") (merge-rule "é³§" "부~b") (merge-rule "鳩" "구~b") (merge-rule "é³³" "봉") (merge-rule "é³´" "명") (merge-rule "é³¶" "연") (merge-rule "é´ƒ" "격") (merge-rule "é´†" "짐") (merge-rule "é´‡" "보~b") (merge-rule "é´ˆ" "안") (merge-rule "é´‰" "á„‹á…¡~b") (merge-rule "é´Œ" "봉") (merge-rule "é´’" "령") (merge-rule "é´•" "á„á…¡~b") (merge-rule "é´˜" "변") (merge-rule "é´™" "치~b") (merge-rule "é´›" "원") (merge-rule "é´Ÿ" "치~b") (merge-rule "é´£" "고~b") (merge-rule "é´¦" "앙") (merge-rule "é´¨" "압") (merge-rule "é´°" "괄") (merge-rule "é´¶" "알") (merge-rule "é´»" "홍") (merge-rule "éµ" "교~b") (merge-rule "鵂" "á„’á…²~b") (merge-rule "鵄" "치~b") (merge-rule "鵑" "견") (merge-rule "鵓" "발") (merge-rule "éµ”" "준") (merge-rule "éµ" "á„‹á…¡~b") (merge-rule "鵞" "á„‹á…¡~b") (merge-rule "éµ " "곡") (merge-rule "鵡" "무~b") (merge-rule "鵩" "복") (merge-rule "鵬" "붕") (merge-rule "鵯" "필") (merge-rule "éµ°" "조~b") (merge-rule "éµ²" "작") (merge-rule "éµ·" "원") (merge-rule "éµ»" "추~b") (merge-rule "éµ¾" "곤") (merge-rule "é¶„" "청") (merge-rule "鶉" "순") (merge-rule "é¶–" "추~b") (merge-rule "é¶š" "악") (merge-rule "é¶¡" "갈") (merge-rule "鶤" "곤") (merge-rule "é¶©" "목") (merge-rule "鶬" "창") (merge-rule "鶯" "앵") (merge-rule "é¶´" "학") (merge-rule "é¶µ" "추~b") (merge-rule "鶸" "약") (merge-rule "é¶¹" "á„…á…²~b") (merge-rule "é¶»" "골") (merge-rule "é¶¿" "자~b") (merge-rule "é·" "익") (merge-rule "é·‚" "á„‹á…­~b") (merge-rule "é·„" "계~b") (merge-rule "é·‡" "구~b") (merge-rule "é·“" "자~b") (merge-rule "é·–" "á„‹á…¨~b") (merge-rule "é·—" "구~b") (merge-rule "é·™" "지~b") (merge-rule "é·¦" "초~b") (merge-rule "é·©" "별") (merge-rule "é·ª" "앵") (merge-rule "é·«" "숙") (merge-rule "é·°" "연") (merge-rule "é·±" "고~b") (merge-rule "é·²" "취~b") (merge-rule "é·³" "한") (merge-rule "é·¸" "휼") (merge-rule "é·¹" "응") (merge-rule "é·º" "á„‚á…©~b") (merge-rule "é·½" "학") (merge-rule "é·¿" "벽") (merge-rule "鸇" "전") (merge-rule "é¸" "몽") (merge-rule "鸕" "á„…á…©~b") (merge-rule "鸚" "앵") (merge-rule "鸛" "관") (merge-rule "鸜" "구~b") (merge-rule "鸞" "난") (merge-rule "é¹µ" "á„…á…©~b") (merge-rule "é¹·" "령") (merge-rule "é¹¹" "함") (merge-rule "é¹»" "감") (merge-rule "é¹½" "염") (merge-rule "鹿" "녹") (merge-rule "麀" "á„‹á…®~b") (merge-rule "麂" "궤~b") (merge-rule "麄" "추~b") (merge-rule "麋" "미~b") (merge-rule "麌" "á„‹á…®~b") (merge-rule "éº" "균") (merge-rule "麑" "á„‹á…¨~b") (merge-rule "麒" "기~b") (merge-rule "麓" "록") (merge-rule "麗" "á„…á…§~b") (merge-rule "éº" "사~b") (merge-rule "麞" "장") (merge-rule "麟" "린") (merge-rule "麤" "추~b") (merge-rule "麥" "맥") (merge-rule "麩" "부~b") (merge-rule "麪" "면") (merge-rule "麯" "국") (merge-rule "麴" "국") (merge-rule "麵" "면") (merge-rule "麻" "마~b") (merge-rule "麽" "마~b") (merge-rule "麾" "á„’á…±~b") (merge-rule "麿" "마~b") (merge-rule "黃" "황") (merge-rule "é»…" "금") (merge-rule "黌" "횡") (merge-rule "é»" "서~b") (merge-rule "黎" "á„…á…§~b") (merge-rule "é»" "점") (merge-rule "é»" "á„…á…µ~b") (merge-rule "黑" "흑") (merge-rule "é»”" "검") (merge-rule "é»–" "기~b") (merge-rule "默" "묵") (merge-rule "黚" "겸") (merge-rule "é»›" "대~b") (merge-rule "黜" "출") (merge-rule "é»" "á„‹á…²~b") (merge-rule "點" "점") (merge-rule "é» " "힐") (merge-rule "黥" "경") (merge-rule "黨" "당") (merge-rule "é»®" "담") (merge-rule "黯" "암") (merge-rule "黲" "참") (merge-rule "é»´" "미~b") (merge-rule "黵" "담") (merge-rule "é»¶" "염") (merge-rule "é»·" "독") (merge-rule "黺" "분") (merge-rule "é»»" "불") (merge-rule "黼" "보~b") (merge-rule "黽" "민") (merge-rule "黿" "원") (merge-rule "é¼€" "축") (merge-rule "鼂" "조~b") (merge-rule "鼄" "주~b") (merge-rule "鼇" "á„‹á…©~b") (merge-rule "鼈" "별") (merge-rule "鼉" "á„á…¡~b") (merge-rule "鼊" "벽") (merge-rule "鼎" "정") (merge-rule "é¼" "á„‚á…¢~b") (merge-rule "鼓" "고~b") (merge-rule "é¼—" "도~b") (merge-rule "é¼™" "비~b") (merge-rule "é¼ " "서~b") (merge-rule "é¼¢" "분") (merge-rule "鼫" "석") (merge-rule "鼬" "á„‹á…²~b") (merge-rule "鼯" "á„‹á…©~b") (merge-rule "é¼´" "언") (merge-rule "鼸" "겸") (merge-rule "é¼¹" "언") (merge-rule "é¼»" "비~b") (merge-rule "é¼¾" "한") (merge-rule "齊" "제~b") (merge-rule "齋" "재~b") (merge-rule "齎" "재~b") (merge-rule "é½’" "치~b") (merge-rule "é½”" "친") (merge-rule "齕" "흘") (merge-rule "é½—" "은") (merge-rule "齟" "저~b") (merge-rule "é½ " "초~b") (merge-rule "齡" "령") (merge-rule "齦" "간") (merge-rule "é½§" "설") (merge-rule "齩" "교~b") (merge-rule "齪" "착") (merge-rule "齫" "곤") (merge-rule "齬" "á„‹á…¥~b") (merge-rule "é½²" "á„‹á…®~b") (merge-rule "é½¶" "악") (merge-rule "é½·" "악") (merge-rule "é¾" "룡") (merge-rule "龎" "롱") (merge-rule "é¾" "방") (merge-rule "é¾’" "룡") (merge-rule "é¾”" "공") (merge-rule "龕" "감") (merge-rule "龜" "구~b") (merge-rule "é¾" "추~b") (merge-rule "é¾ " "약") (merge-rule "é¾¢" "á„’á…ª~b") (merge-rule "é¾¥" "á„‹á…²~b") (merge-rule "豈" "개~b") (merge-rule "ï¤" "갱") (merge-rule "車" "거~b") (merge-rule "賈" "고~b") (merge-rule "滑" "골") (merge-rule "串" "관") (merge-rule "句" "귀~b") (merge-rule "龜" "귀~b") (merge-rule "龜" "균") (merge-rule "契" "글") (merge-rule "金" "금") (merge-rule "喇" "á„‚á…¡~b") (merge-rule "奈" "á„‚á…¡~b") (merge-rule "ï¤" "á„‚á…¡~b") (merge-rule "癩" "á„‚á…¡~b") (merge-rule "ï¤" "á„‚á…¡~b") (merge-rule "ï¤" "á„‚á…¡~b") (merge-rule "螺" "á„‚á…¡~b") (merge-rule "裸" "á„‚á…¡~b") (merge-rule "邏" "á„‚á…¡~b") (merge-rule "樂" "낙") (merge-rule "洛" "낙") (merge-rule "烙" "낙") (merge-rule "珞" "낙") (merge-rule "落" "낙") (merge-rule "酪" "낙") (merge-rule "駱" "낙") (merge-rule "亂" "난") (merge-rule "卵" "난") (merge-rule "ï¤" "난") (merge-rule "爛" "난") (merge-rule "蘭" "난") (merge-rule "鸞" "난") (merge-rule "嵐" "남") (merge-rule "濫" "남") (merge-rule "藍" "남") (merge-rule "襤" "남") (merge-rule "拉" "납") (merge-rule "臘" "납") (merge-rule "蠟" "납") (merge-rule "廊" "낭") (merge-rule "朗" "낭") (merge-rule "浪" "낭") (merge-rule "狼" "낭") (merge-rule "郎" "낭") (merge-rule "來" "á„‚á…¢~b") (merge-rule "冷" "냉") (merge-rule "勞" "á„‚á…©~b") (merge-rule "擄" "á„‚á…©~b") (merge-rule "櫓" "á„‚á…©~b") (merge-rule "爐" "á„‚á…©~b") (merge-rule "盧" "á„‚á…©~b") (merge-rule "老" "á„‚á…©~b") (merge-rule "蘆" "á„‚á…©~b") (merge-rule "虜" "á„‚á…©~b") (merge-rule "路" "á„‚á…©~b") (merge-rule "露" "á„‚á…©~b") (merge-rule "魯" "á„‚á…©~b") (merge-rule "鷺" "á„‚á…©~b") (merge-rule "碌" "녹") (merge-rule "祿" "녹") (merge-rule "綠" "녹") (merge-rule "菉" "녹") (merge-rule "錄" "녹") (merge-rule "鹿" "녹") (merge-rule "ï¥" "논") (merge-rule "壟" "농") (merge-rule "弄" "농") (merge-rule "籠" "농") (merge-rule "聾" "농") (merge-rule "牢" "á„‚á…¬~b") (merge-rule "磊" "á„‚á…¬~b") (merge-rule "賂" "á„‚á…¬~b") (merge-rule "雷" "á„‚á…¬~b") (merge-rule "壘" "á„‚á…®~b") (merge-rule "屢" "á„‚á…®~b") (merge-rule "樓" "á„‚á…®~b") (merge-rule "ï¥" "á„‚á…®~b") (merge-rule "漏" "á„‚á…®~b") (merge-rule "ï¥" "á„‚á…®~b") (merge-rule "ï¥" "á„‚á…®~b") (merge-rule "陋" "á„‚á…®~b") (merge-rule "勒" "늑") (merge-rule "肋" "늑") (merge-rule "凜" "늠") (merge-rule "凌" "능") (merge-rule "稜" "능") (merge-rule "綾" "능") (merge-rule "菱" "능") (merge-rule "陵" "능") (merge-rule "讀" "두~b") (merge-rule "拏" "á„…á…¡~b") (merge-rule "樂" "락") (merge-rule "ï¥" "락") (merge-rule "丹" "란") (merge-rule "寧" "령") (merge-rule "怒" "á„…á…©~b") (merge-rule "率" "률") (merge-rule "異" "á„…á…µ~b") (merge-rule "北" "배~b") (merge-rule "磻" "번") (merge-rule "便" "변") (merge-rule "復" "부~b") (merge-rule "不" "불") (merge-rule "泌" "비~b") (merge-rule "數" "삭") (merge-rule "索" "삭") (merge-rule "參" "삼") (merge-rule "塞" "색") (merge-rule "省" "생") (merge-rule "葉" "섭") (merge-rule "說" "세~b") (merge-rule "殺" "쇄~b") (merge-rule "辰" "신") (merge-rule "沈" "심") (merge-rule "拾" "십") (merge-rule "若" "á„‹á…£~b") (merge-rule "掠" "약") (merge-rule "略" "약") (merge-rule "亮" "양") (merge-rule "兩" "양") (merge-rule "凉" "양") (merge-rule "梁" "양") (merge-rule "糧" "양") (merge-rule "良" "양") (merge-rule "諒" "양") (merge-rule "量" "양") (merge-rule "勵" "á„‹á…§~b") (merge-rule "呂" "á„‹á…§~b") (merge-rule "ï¦" "á„‹á…§~b") (merge-rule "廬" "á„‹á…§~b") (merge-rule "旅" "á„‹á…§~b") (merge-rule "濾" "á„‹á…§~b") (merge-rule "礪" "á„‹á…§~b") (merge-rule "閭" "á„‹á…§~b") (merge-rule "驪" "á„‹á…§~b") (merge-rule "麗" "á„‹á…§~b") (merge-rule "黎" "á„‹á…§~b") (merge-rule "力" "역") (merge-rule "曆" "역") (merge-rule "歷" "역") (merge-rule "ï¦" "역") (merge-rule "年" "연") (merge-rule "ï¦" "연") (merge-rule "ï¦" "연") (merge-rule "撚" "연") (merge-rule "漣" "연") (merge-rule "煉" "연") (merge-rule "璉" "연") (merge-rule "秊" "연") (merge-rule "練" "연") (merge-rule "聯" "연") (merge-rule "輦" "연") (merge-rule "蓮" "연") (merge-rule "連" "연") (merge-rule "鍊" "연") (merge-rule "列" "열") (merge-rule "ï¦" "열") (merge-rule "咽" "열") (merge-rule "烈" "열") (merge-rule "裂" "열") (merge-rule "說" "열") (merge-rule "廉" "염") (merge-rule "念" "염") (merge-rule "捻" "염") (merge-rule "殮" "염") (merge-rule "簾" "염") (merge-rule "獵" "엽") (merge-rule "令" "영") (merge-rule "囹" "영") (merge-rule "寧" "영") (merge-rule "嶺" "영") (merge-rule "怜" "영") (merge-rule "玲" "영") (merge-rule "瑩" "영") (merge-rule "羚" "영") (merge-rule "聆" "영") (merge-rule "鈴" "영") (merge-rule "零" "영") (merge-rule "靈" "영") (merge-rule "領" "영") (merge-rule "例" "á„‹á…¨~b") (merge-rule "禮" "á„‹á…¨~b") (merge-rule "醴" "á„‹á…¨~b") (merge-rule "隸" "á„‹á…¨~b") (merge-rule "惡" "á„‹á…©~b") (merge-rule "了" "á„‹á…­~b") (merge-rule "僚" "á„‹á…­~b") (merge-rule "寮" "á„‹á…­~b") (merge-rule "尿" "á„‹á…­~b") (merge-rule "料" "á„‹á…­~b") (merge-rule "樂" "á„‹á…­~b") (merge-rule "ï§€" "á„‹á…­~b") (merge-rule "ï§" "á„‹á…­~b") (merge-rule "ï§‚" "á„‹á…­~b") (merge-rule "遼" "á„‹á…­~b") (merge-rule "ï§„" "용") (merge-rule "ï§…" "운") (merge-rule "阮" "원") (merge-rule "劉" "á„‹á…²~b") (merge-rule "杻" "á„‹á…²~b") (merge-rule "柳" "á„‹á…²~b") (merge-rule "ï§Š" "á„‹á…²~b") (merge-rule "ï§‹" "á„‹á…²~b") (merge-rule "ï§Œ" "á„‹á…²~b") (merge-rule "ï§" "á„‹á…²~b") (merge-rule "ï§Ž" "á„‹á…²~b") (merge-rule "ï§" "á„‹á…²~b") (merge-rule "ï§" "á„‹á…²~b") (merge-rule "ï§‘" "육") (merge-rule "ï§’" "육") (merge-rule "ï§“" "육") (merge-rule "ï§”" "윤") (merge-rule "ï§•" "윤") (merge-rule "ï§–" "윤") (merge-rule "ï§—" "윤") (merge-rule "律" "율") (merge-rule "ï§™" "율") (merge-rule "ï§š" "율") (merge-rule "ï§›" "율") (merge-rule "ï§œ" "융") (merge-rule "ï§" "á„‹á…µ~b") (merge-rule "ï§ž" "á„‹á…µ~b") (merge-rule "ï§Ÿ" "á„‹á…µ~b") (merge-rule "ï§ " "á„‹á…µ~b") (merge-rule "ï§¡" "á„‹á…µ~b") (merge-rule "ï§¢" "á„‹á…µ~b") (merge-rule "ï§£" "á„‹á…µ~b") (merge-rule "理" "á„‹á…µ~b") (merge-rule "ï§¥" "á„‹á…µ~b") (merge-rule "罹" "á„‹á…µ~b") (merge-rule "ï§§" "á„‹á…µ~b") (merge-rule "裡" "á„‹á…µ~b") (merge-rule "ï§©" "á„‹á…µ~b") (merge-rule "離" "á„‹á…µ~b") (merge-rule "ï§«" "익") (merge-rule "溺" "익") (merge-rule "ï§­" "인") (merge-rule "ï§®" "인") (merge-rule "璘" "인") (merge-rule "ï§°" "인") (merge-rule "ï§±" "인") (merge-rule "ï§²" "인") (merge-rule "ï§³" "인") (merge-rule "ï§´" "임") (merge-rule "ï§µ" "임") (merge-rule "ï§¶" "임") (merge-rule "ï§·" "입") (merge-rule "笠" "입") (merge-rule "ï§¹" "입") (merge-rule "狀" "장") (merge-rule "ï§»" "적") (merge-rule "ï§¼" "지~b") (merge-rule "ï§½" "집") (merge-rule "ï§¾" "차~b") (merge-rule "ï§¿" "척") (merge-rule "切" "체~b") (merge-rule "ï¨" "á„ᅡᆨ") (merge-rule "拓" "á„ᅡᆨ") (merge-rule "糖" "á„ᅡᆼ") (merge-rule "宅" "á„ᅢᆨ") (merge-rule "洞" "á„ᅩᆼ") (merge-rule "暴" "á„‘á…©~b") (merge-rule "輻" "폭") (merge-rule "行" "항") (merge-rule "降" "항") (merge-rule "見" "현") (merge-rule "廓" "확") ; insert jongsong-filler (merge-rule "([ᅠᅡᅢᅣᅤᅥᅦᅧᅨᅩᅪᅫᅬᅭᅮᅯᅰᅱᅲᅳᅴᅵᅶᅷᅸᅹᅺᅻᅼᅽᅾᅿᆀá†á†‚ᆃᆄᆅᆆᆇᆈᆉᆊᆋᆌá†á†Žá†á†á†‘ᆒᆓᆔᆕᆖᆗᆘᆙᆚᆛᆜá†á†žá†Ÿá† á†¡á†¢á†£á†¤á†¥á†¦á†§íž°íž±íž²íž³íž´ížµíž¶íž·íž¸íž¹ížºíž»íž¼íž½íž¾íž¿íŸ€íŸíŸ‚ퟃퟄퟅퟆ])" "\1~b" :eregexp ) (merge-rule "〮" "") (merge-rule "〯" "") ;; END xindy-2.5.1.20160104/modules/lang/latin/000077500000000000000000000000001264235421100172465ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/lang/latin/Makefile.am000066400000000000000000000017071264235421100213070ustar00rootroot00000000000000## Makefile.am fragment for modules/lang/latin/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_modules_DATA += \ lang/latin/caseisrt.xdy \ lang/latin/letgroup.xdy xindy-2.5.1.20160104/modules/lang/latin/caseisrt.xdy000066400000000000000000000014301264235421100216070ustar00rootroot00000000000000;; $Id: caseisrt.xdy,v 1.1 1996/07/03 18:44:47 kehr Exp $ ;; ;; These are the sort-rules for a latin-based alphabet. Usually in an ;; index lower- and uppercase letters appear intermixed. Therefore, we ;; map all uppercase-letters to their lowercase counterpart. (sort-rule "A" "a") (sort-rule "B" "b") (sort-rule "C" "c") (sort-rule "D" "d") (sort-rule "E" "e") (sort-rule "F" "f") (sort-rule "G" "g") (sort-rule "H" "h") (sort-rule "I" "i") (sort-rule "J" "j") (sort-rule "K" "k") (sort-rule "L" "l") (sort-rule "M" "m") (sort-rule "N" "n") (sort-rule "O" "o") (sort-rule "P" "p") (sort-rule "Q" "q") (sort-rule "R" "r") (sort-rule "S" "s") (sort-rule "T" "t") (sort-rule "U" "u") (sort-rule "V" "v") (sort-rule "W" "w") (sort-rule "X" "x") (sort-rule "Y" "y") (sort-rule "Z" "z") ;; End xindy-2.5.1.20160104/modules/lang/latin/letgroup.xdy000066400000000000000000000004431264235421100216360ustar00rootroot00000000000000;; $Id: letgroup.xdy,v 1.3 1996/07/18 16:04:18 kehr Exp $ ;; ;; This file contains the standard letter groups used in latin-based ;; languages. (define-letter-groups ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z")) ;; End xindy-2.5.1.20160104/modules/ord/000077500000000000000000000000001264235421100160025ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/ord/Makefile.am000066400000000000000000000016361264235421100200440ustar00rootroot00000000000000## Makefile.am fragment for modules/ord/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_modules_DATA += \ ord/letorder.xdy xindy-2.5.1.20160104/modules/ord/letorder.xdy000066400000000000000000000001351264235421100203470ustar00rootroot00000000000000;; $Id$ ;; ;; This module defined the letter ordering scheme. ;; (sort-rule " " "") ;; End xindy-2.5.1.20160104/modules/rules/000077500000000000000000000000001264235421100163505ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/rules/Makefile.am000066400000000000000000000020021264235421100203760ustar00rootroot00000000000000## Makefile.am fragment for modules/rules/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_modules_DATA += \ rules/isolatin1-exchange.xdy \ rules/latin-exchange.xdy \ rules/isolatin1-tolower.xdy \ rules/latin-tolower.xdy xindy-2.5.1.20160104/modules/rules/isolatin1-exchange.xdy000066400000000000000000000031221264235421100225570ustar00rootroot00000000000000;; isolatin1-exchange.xdy Roger Kehr 14 Jan 98 ;;---------------------------------------------------------------------- ;; This style maps swap uppercase with lowercase letters of the ISO ;; Latin1 alphabet in the range 160-255. These rules do not :again to ;; prevent looping. (define-rule-set "isolatin1-exchange" :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) )) ;; End xindy-2.5.1.20160104/modules/rules/isolatin1-tolower.xdy000066400000000000000000000023071264235421100224740ustar00rootroot00000000000000;; isolatin1-tolower Roger Kehr 14 Jan 98 ;;---------------------------------------------------------------------- ;; This style maps all uppercase letters of the ISO Latin1 alphabet ;; in the range 160-255 to their lowercase counterparts. (require "rules/latin-tolower.xdy") (define-rule-set "isolatin1-tolower" :inherit-from ("latin-tolower") :rules (("À" "à" :string :again) ("Á" "á" :string :again) ("Â" "â" :string :again) ("Ã" "ã" :string :again) ("Ä" "ä" :string :again) ("Å" "å" :string :again) ("Æ" "æ" :string :again) ("Ç" "ç" :string :again) ("È" "è" :string :again) ("É" "é" :string :again) ("Ê" "ê" :string :again) ("Ë" "ë" :string :again) ("Ì" "ì" :string :again) ("Í" "í" :string :again) ("Î" "î" :string :again) ("Ï" "ï" :string :again) ("Ð" "ð" :string :again) ("Ñ" "ñ" :string :again) ("Ò" "ò" :string :again) ("Ó" "ó" :string :again) ("Ô" "ô" :string :again) ("Õ" "õ" :string :again) ("Ö" "ö" :string :again) ("Ø" "ø" :string :again) ("Ù" "ù" :string :again) ("Ú" "ú" :string :again) ("Û" "û" :string :again) ("Ü" "ü" :string :again) ("Ý" "ý" :string :again) ("Þ" "þ" :string :again) )) ;; End xindy-2.5.1.20160104/modules/rules/latin-exchange.xdy000066400000000000000000000024461264235421100217730ustar00rootroot00000000000000;; latin-exchange.xdy Roger Kehr 14 Jan 98 ;;---------------------------------------------------------------------- ;; ;; Exchanges lower and uppercase letters. ;; (define-rule-set "latin-exchange" :rules (("A" "a" :string) ("B" "b" :string) ("C" "c" :string) ("D" "d" :string) ("E" "e" :string) ("F" "f" :string) ("G" "g" :string) ("H" "h" :string) ("I" "i" :string) ("J" "j" :string) ("K" "k" :string) ("L" "l" :string) ("M" "m" :string) ("N" "n" :string) ("O" "o" :string) ("P" "p" :string) ("Q" "q" :string) ("R" "r" :string) ("S" "s" :string) ("T" "t" :string) ("U" "u" :string) ("V" "v" :string) ("W" "w" :string) ("X" "x" :string) ("Y" "y" :string) ("Z" "z" :string) ("a" "A" :string) ("b" "B" :string) ("c" "C" :string) ("d" "D" :string) ("e" "E" :string) ("f" "F" :string) ("g" "G" :string) ("h" "H" :string) ("i" "I" :string) ("j" "J" :string) ("k" "K" :string) ("l" "L" :string) ("m" "M" :string) ("n" "N" :string) ("o" "O" :string) ("p" "P" :string) ("q" "Q" :string) ("r" "R" :string) ("s" "S" :string) ("t" "T" :string) ("u" "U" :string) ("v" "V" :string) ("w" "W" :string) ("x" "X" :string) ("y" "Y" :string) ("z" "Z" :string) )) ;; End xindy-2.5.1.20160104/modules/rules/latin-tolower.xdy000066400000000000000000000017061264235421100217020ustar00rootroot00000000000000;; latin-tolower.xdy Roger Kehr 14 Jan 98 ;;---------------------------------------------------------------------- ;; ;; Maps all latin letters to their lowercase counterpart ;; (define-rule-set "latin-tolower" :rules (("A" "a" :string :again) ("B" "b" :string :again) ("C" "c" :string :again) ("D" "d" :string :again) ("E" "e" :string :again) ("F" "f" :string :again) ("G" "g" :string :again) ("H" "h" :string :again) ("I" "i" :string :again) ("J" "j" :string :again) ("K" "k" :string :again) ("L" "l" :string :again) ("M" "m" :string :again) ("N" "n" :string :again) ("O" "o" :string :again) ("P" "p" :string :again) ("Q" "q" :string :again) ("R" "r" :string :again) ("S" "s" :string :again) ("T" "t" :string :again) ("U" "u" :string :again) ("V" "v" :string :again) ("W" "w" :string :again) ("X" "x" :string :again) ("Y" "y" :string :again) ("Z" "z" :string :again) )) ;; End xindy-2.5.1.20160104/modules/styles/000077500000000000000000000000001264235421100165415ustar00rootroot00000000000000xindy-2.5.1.20160104/modules/styles/Makefile.am000066400000000000000000000016671264235421100206070ustar00rootroot00000000000000## Makefile.am fragment for modules/styles/. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2014 Peter Breitenlohner ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. nobase_modules_DATA += \ styles/basic.xdy \ styles/makeidx.xdy xindy-2.5.1.20160104/modules/styles/basic.xdy000066400000000000000000000021771264235421100203570ustar00rootroot00000000000000;; $Id: basic.xdy,v 1.2 2008/01/09 15:13:54 jschrod Exp $ -*- Lisp -*- ;; ------------------------------------------------------------ ;; (history at end) ;; Licensed under GPL, see README and LICENSE. ;;; ;;; Very basic xindy style, to get some TeX-like output at all. ;;; Useful for testing without the whole texindy framework. ;;; It assumes the alphabets to be handled elsewhere, by language modules. ;;; (define-location-class "page-numbers" ("arabic-numbers")) (define-attributes ("default")) (markup-letter-group :open-head "~n~n \textbf{" :close-head "}~n" :capitalize) (markup-indexentry :open "~n \item " :depth 0) (markup-indexentry :open "~n \subitem " :depth 1) (markup-indexentry :open "~n \subsubitem " :depth 2) (markup-locclass-list :open "\quad ") (markup-locref-list :sep ", ") (markup-range :sep "--") ;====================================================================== ;; ;; $Log: basic.xdy,v $ ;; Revision 1.2 2008/01/09 15:13:54 jschrod ;; Add another newline in front of letter groups. ;; ;; Revision 1.1 2006/08/05 15:58:11 jschrod ;; Initial revision. ;; xindy-2.5.1.20160104/modules/styles/makeidx.xdy000066400000000000000000000103521264235421100207120ustar00rootroot00000000000000;; $Id: makeidx.xdy,v 1.1 1997/02/07 14:17:31 kehr Exp $ ;; ;; This file implements the Output Style Specifiers for plain ;; makeindex (see manpage of makeindex 2.x) in conjuction with ;; TeX/LaTeX. ;; ;; The Input Style Specifiers of makeindex cannot de defined in a ;; `xindy' style file. Use an appropriate version of the program ;; `tex2xindy' which should be included with this distribution. ;; ;; Since `xindy' uses a different specification language than ;; makeindex and some of the command-line options of makeindex are now ;; only available as style-file commands, this file can only serve as ;; a template that produces the default-markup of makeindex. However, ;; it may be used as a starting point for further modification and ;; specialization. ;; ;; The following values are taken from the source of the makeindex ;; distribution (see file scanst.h and the manpage) for further ;; details. ;; ;; Define all attributes appearing in your document. Your attributes ;; are all encapsulators you use in your \index commands following the ;; vertical bar sign `|'. For example `foo' is the attribute in the ;; command \index{...|foo}. Here you specify the set of attributes ;; that appear in your document, the order in which they appear in the ;; index and which one superdes the other. ;; ;; Example: a) (define-attibutes (("default") ("bf") ("it"))) ;; b) (define-attibutes (("bf" "default"))) ;; ;; The initial command is (change it accordingly): (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") ;; 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 "--") ;; Here follow all letter-groups. The short-cut notation is used here. (define-letter-groups ("a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z")) ;; ;; The sort-rules map all letters to their lowercase counterpart. ;; (sort-rule "A" "a") (sort-rule "B" "b") (sort-rule "C" "c") (sort-rule "D" "d") (sort-rule "E" "e") (sort-rule "F" "f") (sort-rule "G" "g") (sort-rule "H" "h") (sort-rule "I" "i") (sort-rule "J" "j") (sort-rule "K" "k") (sort-rule "L" "l") (sort-rule "M" "m") (sort-rule "N" "n") (sort-rule "O" "o") (sort-rule "P" "p") (sort-rule "Q" "q") (sort-rule "R" "r") (sort-rule "S" "s") (sort-rule "T" "t") (sort-rule "U" "u") (sort-rule "V" "v") (sort-rule "W" "w") (sort-rule "X" "x") (sort-rule "Y" "y") (sort-rule "Z" "z") ;; That's all ;-) ;; End ;; Local Variables: ;; mode: lisp ;; End: xindy-2.5.1.20160104/src/000077500000000000000000000000001264235421100143355ustar00rootroot00000000000000xindy-2.5.1.20160104/src/Makefile.am000066400000000000000000000045641264235421100164020ustar00rootroot00000000000000## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `automake Makefile' to create only Makefile.in. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2008,2009 by Joachim Schrod. ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. # Where the modules are found at runtime. MODULEDIR = $(pkglibdir)/modules # Automake has no CLISP support; moreover xindy.mem is not a binary # to be stripped upon 'make install-strip'. We define it as DATA. mem_DATA = xindy.mem # Tell the dist target about our sources, define the object files for # our own rule and the .lib files for the clean definition. Don't use # gmake-isms. FASSRC = base.lsp ordrules.lsp locref.lsp idxstyle.lsp \ index.lsp version.lsp markup.lsp FAS = base.fas ordrules.fas locref.fas idxstyle.fas \ index.fas version.fas markup.fas FASLIBS = base.lib ordrules.lib locref.lib idxstyle.lib \ index.lib version.lib markup.lib DEFAULTS = defaults.xdy DUMP_XINDY = dump-xindy.lsp MEMFILE = xindy.mem CLISP = @CLISP@ -q -E iso-8859-1 xindy.mem: $(DEFAULTS) $(FAS) $(DUMP_XINDY) rm -f $(MEMFILE) $(CLISP) $(srcdir)/$(DUMP_XINDY) if test "$(host_os)" != "mingw32"; then \ gzip -9n $@; \ mv $@.gz $@; \ fi $(DEFAULTS): $(DEFAULTS).in Makefile sed 's|@MODULEDIR[@]|$(MODULEDIR)|g' <$(srcdir)/$(DEFAULTS).in >$(DEFAULTS) EXTRA_DIST = $(DEFAULTS).in $(FASSRC) dump-xindy.lsp SUFFIXES = .fas .lsp .lsp.fas: $(CLISP) -c $< -o $@ CLEANFILES = $(FAS) $(FASLIBS) $(DEFAULTS) xindy.mem # Dependencies required for parallel make. markup.fas: index.fas version.fas index.fas: idxstyle.fas ordrules.fas idxstyle.fas: locref.fas locref.fas: base.fas xindy-2.5.1.20160104/src/Makefile.in000066400000000000000000000357371264235421100164210ustar00rootroot00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = xindy-2.5.1/src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ $(top_srcdir)/../../m4/kpse-progs.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 $(top_srcdir)/version.ac \ $(top_srcdir)/ac/xindy.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(memdir)" DATA = $(mem_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibdir = @pkglibdir@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLISP = @CLISP@ -q -E iso-8859-1 CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LISP_RUN = @LISP_RUN@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PERL = @PERL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WARNING_CFLAGS = @WARNING_CFLAGS@ WIN_WRAPPER = @WIN_WRAPPER@ XINDY_RUN = @XINDY_RUN@ XINDY_TREE = @XINDY_TREE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ memdir = @memdir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # Where the modules are found at runtime. MODULEDIR = $(pkglibdir)/modules # Automake has no CLISP support; moreover xindy.mem is not a binary # to be stripped upon 'make install-strip'. We define it as DATA. mem_DATA = xindy.mem # Tell the dist target about our sources, define the object files for # our own rule and the .lib files for the clean definition. Don't use # gmake-isms. FASSRC = base.lsp ordrules.lsp locref.lsp idxstyle.lsp \ index.lsp version.lsp markup.lsp FAS = base.fas ordrules.fas locref.fas idxstyle.fas \ index.fas version.fas markup.fas FASLIBS = base.lib ordrules.lib locref.lib idxstyle.lib \ index.lib version.lib markup.lib DEFAULTS = defaults.xdy DUMP_XINDY = dump-xindy.lsp MEMFILE = xindy.mem EXTRA_DIST = $(DEFAULTS).in $(FASSRC) dump-xindy.lsp SUFFIXES = .fas .lsp CLEANFILES = $(FAS) $(FASLIBS) $(DEFAULTS) xindy.mem all: all-am .SUFFIXES: .SUFFIXES: .fas .lsp $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xindy-2.5.1/src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign xindy-2.5.1/src/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-memDATA: $(mem_DATA) @$(NORMAL_INSTALL) @list='$(mem_DATA)'; test -n "$(memdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(memdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(memdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(memdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(memdir)" || exit $$?; \ done uninstall-memDATA: @$(NORMAL_UNINSTALL) @list='$(mem_DATA)'; test -n "$(memdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(memdir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(memdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-memDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-memDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-memDATA install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-memDATA .PRECIOUS: Makefile xindy.mem: $(DEFAULTS) $(FAS) $(DUMP_XINDY) rm -f $(MEMFILE) $(CLISP) $(srcdir)/$(DUMP_XINDY) if test "$(host_os)" != "mingw32"; then \ gzip -9n $@; \ mv $@.gz $@; \ fi $(DEFAULTS): $(DEFAULTS).in Makefile sed 's|@MODULEDIR[@]|$(MODULEDIR)|g' <$(srcdir)/$(DEFAULTS).in >$(DEFAULTS) .lsp.fas: $(CLISP) -c $< -o $@ # Dependencies required for parallel make. markup.fas: index.fas version.fas index.fas: idxstyle.fas ordrules.fas idxstyle.fas: locref.fas locref.fas: base.fas # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xindy-2.5.1.20160104/src/base.lsp000066400000000000000000000175411264235421100157770ustar00rootroot00000000000000;; line 30 "base.nw" (lisp:defpackage "BASE") (lisp:in-package "BASE") (lisp:provide "base") #+:CMU17 (defpackage "CLOS") (eval-when (compile load eval) (lisp:use-package "CLOS") (lisp:use-package "COMMON-LISP") #+CLISP (lisp:use-package "EXT") ) (eval-when (eval load compile) #+CLISP (when (find-package "XP") (pushnew :XP *features*)) #+(or ALLEGRO :CMU17) (pushnew :XP *features*) ) (setq *print-pretty* t) (setq *print-escape* t) (defparameter *mappings-trace* nil) (defparameter *locref-trace* nil) (eval-when (compile load eval) (export '(*mappings-trace* *locref-trace*))) ;; line 104 "base.nw" #-CLISP (defmacro simple-condition-format-string (&rest args) `(simple-condition-format-control ,@args)) #-CLISP (eval-when (compile load eval) (export '(simple-condition-format-string))) ;; line 133 "base.nw" (defmacro info (&rest msg) `(APPLY #'FORMAT *STANDARD-OUTPUT* (LIST ,@msg))) ;; line 138 "base.nw" (defparameter *nraw-error-message* "~&WARNING: ") (defmacro nraw (&rest msg) `(PROGN (FORMAT *ERROR-OUTPUT* BASE::*NRAW-ERROR-MESSAGE*) (APPLY #'FORMAT *ERROR-OUTPUT* (LIST ,@msg)))) ;; line 147 "base.nw" (defparameter *oops-error-message* "~&ERROR: ") (defmacro oops (&rest msg) `(LET ((MSG (LIST ,@msg))) (FORMAT *ERROR-OUTPUT* BASE::*OOPS-ERROR-MESSAGE*) (APPLY #'FORMAT *ERROR-OUTPUT* MSG) (WHEN *LOGGING-ON* (FORMAT *LOGGING-STREAM* BASE::*OOPS-ERROR-MESSAGE*) (APPLY #'FORMAT *LOGGING-STREAM* MSG)))) ;; line 162 "base.nw" (defmacro oops* (fmt args) `(LET ((FMT ,fmt) (ARGS ,args)) (FORMAT *ERROR-OUTPUT* BASE::*OOPS-ERROR-MESSAGE*) (APPLY #'FORMAT *ERROR-OUTPUT* FMT ARGS) (WHEN *LOGGING-ON* (FORMAT *LOGGING-STREAM* BASE::*OOPS-ERROR-MESSAGE*) (APPLY #'FORMAT *LOGGING-STREAM* FMT ARGS)))) ;; line 183 "base.nw" (defparameter *logging-stream* nil) (defparameter *logging-on* nil) (defmacro gol (flag &rest msg) `(WHEN (AND ,flag *LOGGING-ON*) (APPLY #'FORMAT *LOGGING-STREAM* (list ,@msg)))) ;; line 74 "base.nw" (defmacro ifnot (expr then-body else-body) `(IF (NOT ,expr) ,then-body ,else-body)) ;; line 82 "base.nw" (defun error-exit () #+CLISP (exit 1) #+ALLEGRO (excl:exit 1) #+CMU17 (unix:unix-exit 1) ) (defun exit-normally () #+CLISP (exit 0) #+ALLEGRO (excl:exit 0) #+CMU17 (unix:unix-exit 0) ) ;; line 201 "base.nw" (defmacro assert! (cond &optional msg) `(UNLESS ,cond (FORMAT *ERROR-OUTPUT* "Internal error! Assertion ~A failed!" ',cond) ,(if msg `(ERROR "~S" ,msg) `(ERROR "Entering debugger!")))) (pushnew :ASSERT! *features*) ;; line 218 "base.nw" (defmacro define-slot-accessors (accessors) `(eval-when (compile load eval) ,@(apply #'nconc (mapcar #'(lambda (acc) (let ((getnam (intern (concatenate 'string "GET-" (symbol-name acc)))) (setnam (intern (concatenate 'string "SET-" (symbol-name acc)))) ) `((defmacro ,getnam (obj) (list 'slot-value obj '',acc)) (defmacro ,setnam (val obj) (list 'setf (list 'slot-value obj '',acc) val)) (export '(,getnam ,setnam ,acc))))) accessors)))) (define-slot-accessors ( attribute base-alphabet basetype catattr catattr-grp-ordnum entries entry-list entry-table first group-definition hierdepth idxclass inner join-length last last-in-group layers length letters locclass locref-cache locref-string locrefs members merge-key sort-key print-key main-key name order ordnum ordnums origin processing-ordnum props rangeattr separator sort-ordnum state subentries subrefs symbols target type )) ;; line 297 "base.nw" (defun split-list (split-function list &key sortfunc headfunc) #+:ASSERT! (assert (not (and sortfunc headfunc)) () "split-list") (let ((list-len (length list))) (if (= 1 list-len) (list list) (let ((split-table (make-hash-table :test #'equal :size (round (* 1.2 list-len)))) (key-list '())) (mapc #'(lambda (elt) (let ((key (funcall split-function elt))) (setf (gethash key split-table) (cons elt (gethash key split-table))))) list) (maphash #'(lambda (key element) (declare (ignore element)) (push key key-list)) split-table) (maplist #'(lambda (rest-list) (let ((entries (gethash (car rest-list) split-table))) (if headfunc (let ((head (find-if headfunc entries))) (rplaca rest-list (if head (cons head (delete head entries)) entries))) (rplaca rest-list entries)))) (if sortfunc (sort key-list sortfunc) key-list)) key-list)))) #| This version seems to be a little bit slower than the above one, despite the fact that we use a temporary array with a fill-pointer. (defun split-list (split-function sort-function list) (let ((list-len (length list))) (if (= 1 list-len) (list list) (let ((split-table (make-hash-table :test #'equal :size (round (* 1.5 list-len))))) (mapc #'(lambda (elt) (let ((key (funcall split-function elt))) (setf (gethash key split-table) (cons elt (gethash key split-table))))) list) (let ((sort-array (make-array (hash-table-count split-table) :fill-pointer 0))) (maphash #'(lambda (key element) (declare (ignore element)) (vector-push key sort-array)) split-table) (map 'list #'(lambda (key) (gethash key split-table)) (sort sort-array sort-function))))))) |# ;; line 60 "base.nw" (defvar *RCS-Identifier* '( ;; line 68 "base.nw" ("base" . "$Id: base.nw,v 1.20 1997/03/26 16:17:58 kehr Exp $") ;; line 60 "base.nw" )) (eval-when (compile load eval) ;; line 96 "base.nw" (export '(ifnot error-exit exit-normally)) ;; line 192 "base.nw" (export '(oops oops* nraw info gol *logging-stream* *logging-on*)) ;; line 212 "base.nw" (export 'assert!) ;; line 357 "base.nw" (export '(split-list)) ;; line 64 "base.nw" ) xindy-2.5.1.20160104/src/defaults.xdy.in000066400000000000000000000002641264235421100173010ustar00rootroot00000000000000;; defaults.xdy.in 29 Mar 09 -*- Lisp -*- ;;------------------------------------------------------------ (setq *load-paths* (list (pathname ".") (pathname "@MODULEDIR@"))) xindy-2.5.1.20160104/src/dump-xindy.lsp000066400000000000000000000013651264235421100171600ustar00rootroot00000000000000;; $Id: dump-xindy.xdy,v 1.2 1996/08/02 17:41:07 kehr Exp $ ;; ---------------------------------------------------------------------- ;; ;; This file is necessary to dump xindy. ;; #+CLISP (setq custom:*suppress-check-redefinition* t) (load 'base) (load 'locref) (load 'ordrules) (load 'idxstyle) (load 'index) (load 'version) (load 'markup) (load "defaults.xdy") (setq *load-verbose* nil) (shadow 'require) (lisp:shadowing-import idxstyle:*idxstyle-user-interface-definitions*) (lisp:import markup:*markup-user-interface-definitions*) (lisp:import index:*raw-index-interface-definitions*) ;; Install the break-driver if its feature exists. #+:BREAK-DRIVER (setq *break-driver* #'xindy:*break-driver*) (gc) (saveinitmem "xindy.mem" :quiet t) (exit) xindy-2.5.1.20160104/src/idxstyle.lsp000066400000000000000000002460451264235421100167350ustar00rootroot00000000000000;; line 289 "idxstyle.nw" ;; $Id: idxstyle.nw,v 1.19 1997/03/26 16:18:23 kehr Exp $ ;; (lisp:defpackage "IDXSTYLE") (lisp:in-package "IDXSTYLE") (lisp:provide "idxstyle") #+CLISP (lisp:require "base") #+CLISP (lisp:require "locref") #+CLISP (lisp:require "ordrules") (eval-when (compile load eval) (lisp:use-package "CLOS") (lisp:use-package "COMMON-LISP") #+CLISP (lisp:use-package "EXT") #+(and :XP CLISP) (lisp:use-package "XP") #-CLISP (lisp:require "base") #-CLISP (lisp:require "locref") (lisp:use-package "BASE") (lisp:use-package "LOCREF") ;; line 472 "intface.nw" (eval-when (eval load compile) (when (find-package "ORDRULES") (pushnew :ORDRULES *features*))) ;; line 306 "idxstyle.nw" ;; see submodule intface ) ;; line 78 "idxstyle.nw" (defparameter *indexstyle* nil) (defparameter *indexstyle-readtable* (copy-readtable)) (defparameter *included-files* '()) (defvar *load-paths* "") (defparameter *default-load-paths* *load-paths*) (defparameter *default-minimum-range-length* 2) (defparameter *default-locref-hierdepth* 0) ;; line 1151 "intface.nw" ;; $Id: intface.nw,v 1.30 1997/10/20 11:25:09 kehr Exp $ ;; line 1016 "intface.nw" ;;; $Id: intface.nw,v 1.30 1997/10/20 11:25:09 kehr Exp $ ;;;---------------------------------------------------------------------- ;;; ;;; util-lib LISP Utitlity Library ;;; ;;; (history at end) ;(provide 'util-lib) ;(in-package 'util-lib) (defvar whole) (eval-when (compile load eval) (export '(destructuring-switch-bind &switch whole))) (defmacro destructuring-switch-bind (lambdalist expr . body) "Similar to 'destructuring-bind' but also allows switch options at the end of LAMBDALIST with the following syntax: &switch { var | (var key [defval]) | (var ({ key }*) [defval]) }* In all cases VAR will be accessible in BODY as a variable. If only VAR is specified, it is bound to the keyword with the same name, if that keyword occured in EXPR. Otherwise it is bound to NIL. If both a VAR and KEY were specified, VAR will be bound to KEY, if KEY occured in EXPR and to NIL otherwise. If VAR and a list of KEYs were specified, VAR will be bound to the first KEY, which occured in EXPR. If none of the KEYS occured within EXPR, VAR will be bound to NIL. If DEFVAL was specified, variable will be bound to DEFVAL instead of NIL in cases where no switch keyword was found in EXPR. " (let* ((switchlist (member '&switch lambdalist)) ;; 'remove' switches from lambdalist (lambdalist (ldiff lambdalist switchlist)) ;; drop &switch keyword (switches (when switchlist (cdr switchlist))) ;; construct bindings for each switch and collect valid ;; keywords in 'switchkeys' (switchkeys '()) (bindings (mapcar #'(lambda (spec) (cond ;; spec simply consists of VAR ((symbolp spec) (let ((key (intern (symbol-name spec) 'keyword))) (push key switchkeys) `(,spec (FIND ,key )) )) ;; spec is (VAR form) ((and (listp spec) (>= (list-length spec) 2)) (let ((var (first spec)) (keyspec (second spec)) (defval (when (cddr spec) (third spec)))) (cond ;; spec is (VAR (KEY1 KEY2 ...)) ((listp keyspec) `(,var (COND ,@(mapcar #'(lambda (key) (push key switchkeys) `((FIND ,key ) ,key)) keyspec) (T ,defval)))) ;; spec is (VAR KEY) (t (push keyspec switchkeys) ` (,var (OR (FIND ,keyspec ) ,defval))) ))) ;; illegal spec (t (error "~A is not a valid switch specifier." spec)) )) switches)) ) ;; construct the expansion form ` (LET (( ,expr)) (LET ,bindings (HANDLER-CASE (DESTRUCTURING-BIND ,lambdalist (SET-DIFFERENCE-KEEP-ORIGINAL-ORDER ',switchkeys) ,@body) (ERROR (COND) (DECLARE (IGNORE COND)) (ERROR "~&Syntax Error in ~S." WHOLE) ) ) ) ) )) (defun set-difference-keep-original-order (set1 set2) (mapcan #'(lambda (elt) (unless (member elt set2) (list elt))) set1)) #| (destructuring-switch-bind (name &rest args &key foo bar &switch on ; simple form (started :start) (speed (:fast :slow)) (off :turn-off :turn-on) ; with switch key (choose (:one :two :three) :three)) '(width :foo 5 :bar 7 :on :turn-off :one) (list name foo bar args on started speed off choose)) |# ;; line 111 "intface.nw" (eval-when (compile load eval) (defun stringify (name) (declare (inline)) (etypecase name (symbol (symbol-name name)) (string name) (number (write-to-string name))))) (defun list-of-strings-p (x) (cond ((not (listp x)) nil) ((every #'(lambda (elt) (or (stringp elt) (symbolp elt) (numberp elt))) x)))) ;; line 136 "intface.nw" (defun make-well-formed-list (attr-list) (mapcar #'(lambda (x) (cond ((null x) (error "empty lists are not allowed !")) ((or (symbolp x) (stringp x) (numberp x)) (list (stringify x))) ((listp x) (map-to-strings x)))) attr-list)) (defun map-to-strings (slist) (mapcar #'(lambda (x) (cond ((null x) (error "empty lists are not allowed !")) ((or (symbolp x) (stringp x) (numberp x)) (stringify x)) ((listp x) (error "nesting level too deep !")) (t (error "~S is not a string !" x)))) slist)) ;; line 185 "intface.nw" (defun c-string-reader (stream char) (declare (ignore char)) (let ((ch nil) (str (make-array 32 :element-type #+CLISP 'string-char #-CLISP 'base-char :adjustable t :fill-pointer 0))) (loop (setq ch (read-char stream t #\Newline t)) (case ch (#\" (let ((nextch (read-char-no-hang stream t #\Newline t))) (when nextch (unread-char nextch stream) (case nextch (#\Newline) (#\t) (#\Space) (#\)) (t (nraw "~&Possible read-error due to ill-formed string \"~A\" ~S" str *)))) (return str))) (#\~ (setq ch (read-char stream t #\Newline t)) (case ch (#\n (vector-push-extend #\Newline str)) (#\t (vector-push-extend #\Tab str)) (#\b (vector-push-extend (character 1) str)) (#\e (vector-push-extend (character 255) str)) (t (vector-push-extend ch str)))) (t (vector-push-extend ch str)))))) (set-macro-character #\" #'c-string-reader nil *indexstyle-readtable*) #| (let ((x #\Null)) (loop for i from 1 to 255 do (progn (print (character i)) (when (char>= x (character i)) (print "Whee!")) (setq x (character i))))) |# ;; line 254 "intface.nw" (defmacro define-alphabet (&whole whole &optional name string-list) (cond ;; line 239 "intface.nw" ((null name) (error "missing argument in `~S' !" whole)) ((not (or (symbolp name) (stringp name))) (error "~S is not a symbol or a string in `~S' !" name whole)) ;; line 256 "intface.nw" ((not (listp string-list)) (error "missing argument !")) ((not (list-of-strings-p string-list)) (error "~S is not a list of strings" string-list)) (t `(LET ((NAME (STRINGIFY ',name))) (WHEN (LOOKUP-BASETYPE *indexstyle* NAME) (NRAW "redefining alphabet `~S'" NAME)) (ADD *indexstyle* (MAKE-ALPHABET NAME ',string-list)))))) (defmacro define-alphabet* (&whole whole &optional name string-list) (cond ;; line 239 "intface.nw" ((null name) (error "missing argument in `~S' !" whole)) ((not (or (symbolp name) (stringp name))) (error "~S is not a symbol or a string in `~S' !" name whole)) ;; line 267 "intface.nw" ((not (listp string-list)) (error "missing argument !")) (t (let ((scar (car string-list))) (if (and (symbolp scar) (fboundp scar)) `(LET ((NAME (STRINGIFY ',name)) (STRING-LIST ,string-list)) #| evaluates string-list |# (UNLESS (LIST-OF-STRINGS-P STRING-LIST) (ERROR "~S is not a list of strings" STRING-LIST)) (WHEN (LOOKUP-BASETYPE *indexstyle* NAME) (NRAW "redefining alphabet `~S'" NAME)) (ADD *indexstyle* (MAKE-ALPHABET NAME STRING-LIST)))))))) ;; line 284 "intface.nw" (defmacro define-enumeration (&whole whole &optional name prefix-match-func base-alphabet) (cond ;; line 239 "intface.nw" ((null name) (error "missing argument in `~S' !" whole)) ((not (or (symbolp name) (stringp name))) (error "~S is not a symbol or a string in `~S' !" name whole)) ;; line 289 "intface.nw" ((null prefix-match-func) (error "missing argument !")) (t (let* ((name (stringify name)) (symbol (make-symbol (concatenate 'string "ENUMERATION-" name)))) `(LET () #| PROGN instead of LET () yields a runtime error !? |# (IF (LOOKUP-BASETYPE *indexstyle* ,name) (NRAW "redefining alphabet `~S'" ,name) (PROGN (DEFCLASS ,symbol (ENUMERATION) ()) (ADD *indexstyle* (MAKE-ENUMERATION ',symbol ,name ,base-alphabet)))) (DEFMETHOD PREFIX-MATCH ((STR STRING) (ENUM ,symbol)) (FUNCALL ,prefix-match-func STR))))))) ;; line 312 "intface.nw" (defmacro define-location-class (&whole whole &rest args) (destructuring-switch-bind (name layer-list &key (min-range-length *default-minimum-range-length*) (hierdepth 0) ;no hierarchies are to be formed &switch (var :var)) args (cond ((null name) (error "missing argument in~%~S" whole)) ((null layer-list) (error "missing argument in~%~S" whole)) ;;((not (list-of-strings-p layer-list)) ;; (error "~S is not a list of strings in~%~S" layer-list whole)) ((not (numberp hierdepth)) (error "~S is not a number! in~%~S" hierdepth whole)) ((not (or (numberp min-range-length) (eql 'none min-range-length))) (error "~S must be a number or the keyword `none' in~%~S" min-range-length whole)) (t (when (eql 'none min-range-length) (setq min-range-length 0)) `(LET ((NAME (STRINGIFY ',name)) (LAYERS (BUILD-LOCCLASS-LAYERS ',layer-list ',whole))) ;;(GOL T "~&define-location-class: ~S" LAYERS) (COND ((LOOKUP-CROSSREF-CLASS *indexstyle* NAME) (OOPS "replacing cross-reference-class `~S' is not allowed !" NAME)) (t (WHEN (LOOKUP-LOCATION-CLASS *indexstyle* NAME) (NRAW "redefining location-reference-class `~S' !" NAME)) (ADD *indexstyle* ,(if var `(CHECKED-MAKE-VAR-LOCATION-CLASS NAME LAYERS ,hierdepth) `(CHECKED-MAKE-STANDARD-LOCATION-CLASS NAME LAYERS ,min-range-length ,hierdepth)))) )))))) ;; line 354 "intface.nw" (defun build-locclass-layers (layers whole) (let ((res-list '())) (loop ;;(gol t "~&build-locclass-layers: ~S" layers) (when (endp layers) (return (nreverse res-list))) (cond ((eql :sep (car layers)) (setq layers (cdr layers)) (if (endp layers) (error "Reached end of list in~%~S" whole) (push (make-loccls-separator (stringify (car layers))) res-list))) (t (let* ((layer (stringify (car layers))) (basetype (lookup-basetype *indexstyle* layer))) (if basetype (push (make-loccls-layer basetype) res-list) (error "Unknown basetype ~S in~%~S" layer whole))))) (setq layers (cdr layers))))) ;; line 377 "intface.nw" (defmacro define-crossref-class (&whole whole &rest args) (destructuring-switch-bind (name &switch (verified :unverified)) args (cond ;; line 239 "intface.nw" ((null name) (error "missing argument in `~S' !" whole)) ((not (or (symbolp name) (stringp name))) (error "~S is not a symbol or a string in `~S' !" name whole)) ;; line 382 "intface.nw" (t `(LET ((NAME (STRINGIFY ',name))) (cond ((LOOKUP-LOCATION-CLASS *indexstyle* NAME) (OOPS "replacing location-reference-class `~S' is not allowed !" NAME)) (t (WHEN (LOOKUP-CROSSREF-CLASS *indexstyle* NAME) (NRAW "redefining crossref-location-class `~S'" NAME)) (ADD *indexstyle* ,(if verified `(MAKE-UNVERIFIED-CROSSREF-LOCATION-CLASS NAME) `(MAKE-VERIFIED-CROSSREF-LOCATION-CLASS NAME)))))))))) ;; line 398 "intface.nw" (defmacro define-location-class-order (olist) (cond ((not (listp olist)) (error "missing argument !")) ((not (list-of-strings-p olist)) (error "~S is not a list of strings" olist)) (t `(LET ((CTR 1)) (MAPC #'(LAMBDA (NAME) (LET* ((NEW-NAME (STRINGIFY NAME)) (LOCCLS (CDR (LOOKUP-LOCATION-CLASS *indexstyle* NEW-NAME)))) (INCF CTR) (COND (LOCCLS (SET-ORDNUM CTR LOCCLS)) (t (OOPS "unknown location-class `~S'" NEW-NAME))))) ',olist))))) ;; line 423 "intface.nw" (defmacro define-attributes (&whole whole &optional attr-list) (cond ((null attr-list) (error "missing argument in~&~S" whole)) (t (let* ((wf-attr-list (make-well-formed-list attr-list)) (plain-list (apply #'concatenate 'list wf-attr-list)) ) `(PROGN (MAPCAR #'(LAMBDA (CATATTR) (IF (LOOKUP-CATATTR *indexstyle* CATATTR) (NRAW "ignoring redefinition of attribute ~S in~&~S" CATATTR ',whole) (ADD *indexstyle* (MAKE-CATEGORY-ATTRIBUTE CATATTR)))) ',plain-list) (INITIALIZE-CATEGORY-ATTRIBUTES ',wf-attr-list *indexstyle*)) )))) ;; line 488 "intface.nw" #+:ORDRULES (defmacro merge-rule (&whole whole &rest args) (destructuring-switch-bind (pattern replacement &switch (again :again) (string :string) (extended-regexp :eregexp) (basic-regexp :bregexp)) args (cond ((null pattern) (error "missing argument !")) ((or (and string extended-regexp) (and string basic-regexp) (and extended-regexp basic-regexp)) (error "~&Only one of (:string :bregexp :eregexp) allowed in:~&~S !" whole)) ((null replacement) (error "~&Missing argument in:~&~S!" whole)) (t `(PROGN (ORDRULES:ADD-KEYWORD-MERGE-RULE ,pattern ,replacement ,(if again 1 0) ,(cond (string 1) (basic-regexp 2) (extended-regexp 3) (t 0))) (FLUSH-ORDRULES-MESSAGE-BUFFER)))))) #-:ORDRULES (defmacro merge-rule (&rest args) (declare (ignore args)) (oops "merge-rule not supported! ignoring definition")) ;; line 525 "intface.nw" #+:ORDRULES (defparameter *sort-rule-orientations* '(forward forward forward forward forward forward forward forward)) #+:ORDRULES (defmacro define-sort-rule-orientations (&whole whole &rest args) (destructuring-switch-bind (&optional (orientations *sort-rule-orientations*)) args (unless (every #'(lambda (run) (member run '(forward backward))) orientations) (error "~&Elements of ~S must be one of {forward,backward}!" orientations)) `(PROGN (SETQ *SORT-RULE-ORIENTATIONS* ',orientations) (ORDRULES:INITIALIZE (LENGTH *SORT-RULE-ORIENTATIONS*)) (FLUSH-ORDRULES-MESSAGE-BUFFER)))) #+:ORDRULES (defmacro define-rule-set (&whole whole &rest args) (destructuring-bind (&optional name &key inherit-from rules) args (cond ;; line 239 "intface.nw" ((null name) (error "missing argument in `~S' !" whole)) ((not (or (symbolp name) (stringp name))) (error "~S is not a symbol or a string in `~S' !" name whole)) ;; line 554 "intface.nw" ((not (listp rules)) (error "missing argument !")) (t `(LET ((RS (MAKE-RULE-SET ',name ',inherit-from ',rules))) (MAPC #'(LAMBDA (INH-NAME) (INHERIT-RULE-SET RS (LOOKUP-RULE-SET *INDEXSTYLE* INH-NAME))) ',inherit-from) (ADD-RULE-SET *INDEXSTYLE* RS)))))) #-:ORDRULES (defmacro define-rule-set (&rest args) (declare (ignore args)) (oops "define-rule-sets not supported! ignoring definition")) #+:ORDRULES (defmacro use-rule-set (&whole whole &rest args) ;; FIXME: if we use destructuring-switch-bind-here an error occurs (destructuring-bind (&key run rule-set) args (cond ((not (integerp run)) (error "incorrect argument !")) ((not rule-set) (error "missing argument !")) ((not (or (listp rule-set) (stringp rule-set))) (error "wrong argument to !")) (t `(INSTANTIATE-RULE-SET ,run ,rule-set))))) #-:ORDRULES (defmacro use-rule-set (&rest args) (declare (ignore args)) (oops "use-rule-sets not supported! ignoring definition")) #+:ORDRULES (defmacro sort-rule (&whole whole &rest args) (destructuring-switch-bind (pattern replacement &key (run 0) &switch (again :again) (string :string) (extended-regexp :eregexp) (basic-regexp :bregexp)) args (cond ((null pattern) (error "missing argument !")) ((or (< run 0) (>= run (length *sort-rule-orientations*))) (error "~&Argument of :run must be in the interval [0..~A]!" (length *sort-rule-orientations*))) ((or (and string extended-regexp) (and string basic-regexp) (and extended-regexp basic-regexp)) (error "~&Only one of (:string :bregexp :eregexp) allowed in:~&~S !" whole)) ((null replacement) (error "missing argument !")) (t `(PROGN (ORDRULES:ADD-KEYWORD-SORT-RULE ,run ,pattern ,replacement ,(if again 1 0) ,(cond (string 1) (basic-regexp 2) (extended-regexp 3) (t 0))) (FLUSH-ORDRULES-MESSAGE-BUFFER)))))) #-:ORDRULES (defmacro define-sort-rule-orientations (&rest args) (declare (ignore args)) (oops "define-sort-rule-orientations not supported! ignoring definition")) #-:ORDRULES (defmacro sort-rule (&rest args) (declare (ignore args)) (oops "sort-rule not supported! ignoring definition")) (defun flush-ordrules-message-buffer () #+:ORDRULES (when (and *mappings-trace* ordrules::*message-logging*) (gol t "~A" ordrules::*message-buffer*) (setq ordrules::*message-buffer-ptr* 0))) ;; line 696 "intface.nw" (defmacro define-letter-group (&whole whole name &key prefixes before after) (cond ;; line 239 "intface.nw" ((null name) (error "missing argument in `~S' !" whole)) ((not (or (symbolp name) (stringp name))) (error "~S is not a symbol or a string in `~S' !" name whole)) ;; line 699 "intface.nw" ((and before (not (lookup-letter-group-definition *indexstyle* before))) (error "~S does not name a letter group in~%~S" before whole)) ((and after (not (lookup-letter-group-definition *indexstyle* after))) (error "~S does not name a letter group in~%~S" after whole)) ((not (list-of-strings-p prefixes)) (error "argument is not a list of strings in~%~S" whole)) (t `(LET () (ADD-LETTER-GROUPS *INDEXSTYLE* ,name ',(or prefixes (list name)) :BEFORE ,before :AFTER ,after))))) ;; line 718 "intface.nw" (defmacro define-letter-groups (&whole whole &optional letter-groups) (cond ((not (list-of-strings-p letter-groups)) (error "~S is not a list of strings in~%~S" letter-groups whole)) (t `(LET () (ADD-LETTER-GROUPS *INDEXSTYLE* ,(car letter-groups) ',(list (car letter-groups))) ,@(let ((last (car letter-groups))) (mapcar #'(lambda (letter-group) (prog1 `(ADD-LETTER-GROUPS *INDEXSTYLE* ,letter-group ',(list letter-group) :AFTER ,last) (setq last letter-group))) (cdr letter-groups))))))) ;; line 650 "intface.nw" (defmacro merge-to (&whole whole &rest args) (destructuring-switch-bind (from to &switch drop) args (let ((from-attr (lookup-catattr *indexstyle* from)) (to-attr (lookup-catattr *indexstyle* to))) (cond ((not from-attr) (nraw "`~S' is not a known attribute in:~&~A" from whole)) ((not to-attr) (nraw "`~S' is not a known attribute in:~&~A" to whole)) (t (if drop `(ADD-DROP-IF-MERGED-RULE *INDEXSTYLE* ',from-attr ',to-attr) `(ADD-MERGE-RULE *INDEXSTYLE* ',from-attr ',to-attr))))))) ;; line 740 "intface.nw" ;;; we remove the inherited symbol and establish a new one (eval-when (compile load eval) (shadow 'require)) (defmacro require (&rest args) (cond ((null args) (error "missing argument !")) ((not (stringp (car args))) (error "(require ~S): expected !" (car args))) (t `(LET ((FILENAME (STRINGIFY ',(car args)))) (DO-REQUIRE FILENAME))))) (defun do-require (filename) (let ((file (find-file filename))) (unless (member file *included-files* :test #'equalp) (push file *included-files*) (info "~&Loading module ~S..." filename) (watched-load file :echo t) (info "~&Finished loading module ~S.~%" filename)))) #| (defun do-require (filename) (let ((file (find-file filename))) (unless (member file *included-files* :test #'equalp) (push file *included-files*) (info "~&Loading module ~S..." filename) (let ((*standard-output* (make-string-output-stream))) (handler-case (load file :verbose nil :echo t) ; (stream-error (cond) ; (step ; (progn ; (oops* ; (simple-condition-format-string cond) ; (simple-condition-format-arguments cond)) ; (exit)) ; ) ; ) (error (condition) (info "~&~%~A~%" ";;;;;;;;;;;;;;;;;;;;;;;;") (info "~A~%" ";; ERROR SECTION START") (info "~%~A~%" (get-output-stream-string *standard-output*)) (info "~%~A~%" ";; ERROR SECTION END") (info "~A~%~%" ";;;;;;;;;;;;;;;;;;;;;;;;") (oops* (simple-condition-format-string condition) (simple-condition-format-arguments condition)) (error-exit)) ) ) (info "~&Finished loading module ~S.~%" filename)))) |# ;; line 802 "intface.nw" (defun find-file (filename) (let ((file (parse-namestring filename))) (when (equal (file-namestring file) "") (error "~S is not a valid filename !" filename)) (let ((found (some #'(lambda (path) (and (probe-file (append-pathnames path file)))) *load-paths*))) (or found (error "Could not find file ~S !" filename))))) ;; line 813 "intface.nw" (defvar *wl-fmt* "~&~%Error in line ~S:~%~A~%") (defun watched-load (filename &key (print *load-print*) (if-does-not-exist t) echo) (let ((stream (open (setq filename (pathname filename)) :direction #+CLISP :input-immutable #-CLISP :input :element-type #+CLISP 'string-char #-CLISP 'base-char :if-does-not-exist nil)) (lineno 1)) (if stream (let* ((load-stream (make-string-output-stream)) (input-stream (if echo (make-echo-stream stream load-stream) stream )) (*load-pathname* (if (pathnamep filename) filename nil)) (*load-truename* (if (pathnamep filename) (truename filename) nil)) (*package* *package*) ; *PACKAGE* binden (*readtable* *readtable*) ; *READTABLE* binden (end-of-file "EOF")) ; einmaliges Objekt ;;(setq sys::*load-input-stream* input-stream) (block nil (unwind-protect (tagbody weiter (let* ((obj (handler-case (read input-stream nil end-of-file) (error (cond) (when echo (let* ((str (get-output-stream-string load-stream)) (cnt (count #\Newline str))) (info *wl-fmt* (+ cnt lineno) str) (oops* (simple-condition-format-string cond) (simple-condition-format-arguments cond)) (error-exit)))))) (str (get-output-stream-string load-stream)) (cnt (count #\Newline str))) (incf lineno cnt) (when (eql obj end-of-file) (return-from nil)) (setq obj (multiple-value-list (cond ((compiled-function-p obj) (funcall obj)) ;;(compiling (funcall (compile-form obj nil nil nil nil nil))) (t (handler-case (eval obj) (error (cond) (info *wl-fmt* lineno str) (oops* (simple-condition-format-string cond) (simple-condition-format-arguments cond)) (error-exit))) (get-output-stream-string load-stream) )))) (when print (when obj (print (first obj)))) ) (go weiter) ) (close stream) (close input-stream) ) ) t) (if if-does-not-exist (error "A file with name ~A does not exist" filename) nil) ) )) ;; line 891 "intface.nw" (defmacro searchpath (&rest args) (cond ((null args) (error "missing argument !")) ((stringp (car args)) `(SET-SEARCHPATH-BY-STRING ,(car args))) ((listp args) `(SET-SEARCHPATH ',(car args))))) (defun set-searchpath-by-string (searchpath-str) (set-searchpath (string-to-searchlist searchpath-str))) ;; line 913 "intface.nw" (defun string-to-searchlist (str) (let ((paths '()) pos) (nreverse (loop (when (equalp str "") (return (push :default paths))) (setq pos (position #+UNIX #\: #+OS/2 #\; #+WIN32 #\; str)) (if pos (progn (push (subseq str 0 pos) paths) (setq str (subseq str (1+ pos)))) (return (push str paths))))))) (defun set-searchpath (path-list) (setq *load-paths* (apply #'nconc (mapcar #'(lambda (elt) (cond ((stringp elt) (list (make-real-pathname elt))) ((eq elt :default) *default-load-paths*) ((eq elt :last) *load-paths*) (t (oops "~&searchpath: invalid argument ~S in~%~S" elt path-list)))) path-list)))) ;; line 954 "intface.nw" #+CLISP (defun make-real-pathname (pathname-str) (let* ((pn (pathname pathname-str)) (fname (file-namestring pn))) (if (string/= fname "") (make-pathname :device (pathname-device pn) :directory (append (or (pathname-directory pn) '(:relative)) (list fname))) pn))) ;; line 966 "intface.nw" #-CLISP (defun make-real-pathname (pathname-str) (let ((pn (parse-namestring (if (eql (elt pathname-str (1- (length pathname-str))) #\/) pathname-str (concatenate 'string pathname-str "/"))))) (if (pathname-directory pn) pn (make-pathname :directory (list :relative (pathname-name pn)))))) ;; line 986 "intface.nw" (defun append-pathnames (pn-dir pn-sub) (let ((dir-dir (pathname-directory pn-dir)) (dir-sub (pathname-directory pn-sub))) (cond ((eq :absolute (car dir-sub)) pn-sub) (t (make-pathname :device (pathname-device pn-dir) :directory (append dir-dir (cdr dir-sub)) :name (pathname-name pn-sub) :type (pathname-type pn-sub)))))) ;; line 62 "intface.nw" (defparameter *idxstyle-user-interface-definitions* '( *default-minimum-range-length* *included-files* *indexstyle-readtable* define-alphabet define-alphabet* define-attributes define-crossref-class define-enumeration define-letter-group define-letter-groups define-location-class define-location-class-order define-rule-set define-sort-rule-orientations forward backward info merge-rule merge-to require searchpath sort-rule use-rule-set *indexstyle* )) ;; line 1168 "intface.nw" (eval-when (compile load eval) ;; line 91 "intface.nw" (export '(*indexstyle* *indexstyle-readtable* do-require set-searchpath-by-string *sort-rule-orientations* forward backward *idxstyle-user-interface-definitions* )) ;; line 159 "intface.nw" (export '(stringify list-of-strings-p make-well-formed-list map-to-strings)) ;; line 642 "intface.nw" (export 'flush-ordrules-message-buffer) ;; line 1170 "intface.nw" ) ;; line 557 "idxrule.nw" ;; $Id: idxrule.nw,v 1.10 1997/03/26 16:18:19 kehr Exp $ ;; line 323 "idxrule.nw" (defclass relation () ((rel-sets :accessor get-rel-sets :initform '() ) (rel-hash :accessor get-rel-hash :initform (make-hash-table :test #'equal)))) (defun make-relation () (make-instance 'relation)) ;; line 344 "idxrule.nw" (defmethod rel-insert ((rel relation) x y) (let* ((rel-sets (get-rel-sets rel)) (x-node (assoc x rel-sets)) (y-node (assoc y rel-sets))) (cond ((null x-node) (setf (get-rel-sets rel) (cons (list x y) rel-sets))) ((member y (cdr x-node))) (t (rplacd x-node (cons y (cdr x-node))))) (when (and (null y-node) (not (eql x y))) (setf (get-rel-sets rel) (cons (list y) (get-rel-sets rel))))) rel) (defmethod rel-simple-insert ((rel relation) x) (let* ((rel-sets (get-rel-sets rel)) (x-node (assoc x rel-sets))) (unless x-node (setf (get-rel-sets rel) (cons (list x) rel-sets)))) rel) ;; line 366 "idxrule.nw" (defmethod rel-merge ((rel-1 relation) x) (declare (ignore x)) rel-1) (defmethod rel-merge ((rel-1 relation) (rel-2 relation)) (mapc #'(lambda (r-2) (let ((r-1 (assoc (car r-2) (get-rel-sets rel-1)))) (cond ((null r-1) (setf (get-rel-sets rel-1) (cons r-2 (get-rel-sets rel-1)))) (t (rplacd r-1 (union (cdr r-1) (cdr r-2))))))) (get-rel-sets rel-2)) rel-1) ;; line 387 "idxrule.nw" (defmacro relation-set (rel x) `(CDR (ASSOC ,x (SLOT-VALUE ,rel 'REL-SETS)))) ;; line 408 "idxrule.nw" (defmethod make-ready ((rel relation)) (let ((ht (get-rel-hash rel))) (mapc #'(lambda (node) (mapc #'(lambda (succ-node) (setf (gethash (cons (car node) succ-node) ht) t)) (cdr node))) (get-rel-sets rel))) rel) ;; line 423 "idxrule.nw" (defmacro relation-p (rel x y) `(GETHASH (CONS ,x ,y) (SLOT-VALUE ,rel 'REL-HASH))) ;; line 439 "idxrule.nw" (defun print-relation (rel-sets stream printfunc &key open close headsep listsep) (mapc #'(lambda (from) (when open (format stream open)) (write (funcall printfunc (car from)) :stream stream) (when headsep (format stream headsep)) (mapc #'(lambda (to) (write (funcall printfunc to) :stream stream) (when listsep (format stream listsep))) (cdr from)) (when close (format stream close))) rel-sets)) ;; line 467 "idxrule.nw" (defmethod topsort ((rel relation)) (let ((rel-set (copy-tree (get-rel-sets rel))) (topsort-list '())) (loop (let ((zero-indeg (find-if #'(lambda (x) (null (cdr x))) rel-set))) (when (null zero-indeg) (return)) (let ((zero-indeg-elt (car zero-indeg))) (setq topsort-list (cons zero-indeg-elt topsort-list)) (setq rel-set (delete zero-indeg rel-set :test #'equal)) (mapc #'(lambda (x) (rplacd x (delete zero-indeg-elt (cdr x) :test #'equal))) rel-set))) ) (if (null rel-set) (values topsort-list t) (values nil rel-set)))) ;; line 494 "idxrule.nw" (defmethod transform-relation ((rel relation) transform-func) (let ((new-rel (make-relation))) (mapc #'(lambda (x) (let ((transformed-x (funcall transform-func (car x)))) (mapc #'(lambda (y) (rel-insert new-rel transformed-x (funcall transform-func y))) (cdr x)))) (get-rel-sets rel)) new-rel)) ;; line 511 "idxrule.nw" (defmethod remove-reflexivity ((rel relation)) (mapc #'(lambda (x) (rplacd x (delete (car x) (cdr x) :test #'equal))) (get-rel-sets rel)) rel) ;; line 529 "idxrule.nw" (defmethod transitive-hull ((rel relation)) (setf (get-rel-sets rel) (let ((rel-sets (get-rel-sets rel))) (mapc #'(lambda (j) (mapc #'(lambda (i) (when (member (car j) (cdr i)) (mapc #'(lambda (k) (when (and (member (car k) (cdr j)) (not (member (car k) (cdr i)))) (rplacd (last i) (list (car k))))) rel-sets))) rel-sets)) rel-sets))) rel) ;; line 61 "idxrule.nw" (defclass index-rule () ()) (defclass relation-rule (index-rule relation) ()) ;; line 88 "idxrule.nw" (defclass merge-rule (relation-rule) ()) (defun make-merge-rule () (make-instance 'merge-rule)) ;; line 117 "idxrule.nw" (defclass drop-if-merged-rule (relation-rule) ()) (defun make-drop-if-merged-rule () (make-instance 'drop-if-merged-rule)) ;; line 278 "idxrule.nw" (defclass substitution-rule (relation-rule) ()) (defun make-substitution-rule () (make-instance 'substitution-rule)) ;; line 164 "idxrule.nw" (defclass catattr-groups (index-rule) ((attribute-list :reader get-attribute-list :writer set-attribute-list :initform nil) (attribute-table :reader get-attribute-table :initform (make-hash-table :test #'equal :size 16)))) (defun make-catattr-groups () (make-instance 'catattr-groups)) (defmethod add ((catattr-grp catattr-groups) (catattr category-attribute)) (setf (gethash (get-name catattr) (get-attribute-table catattr-grp)) catattr)) (defmacro lookup-catattr-name (catattr-grp catattr-name) `(GETHASH ,catattr-name (SLOT-VALUE ,catattr-grp 'ATTRIBUTE-TABLE))) ;; line 217 "idxrule.nw" (defun initialize-category-attributes (attribute-list idxcls) (let ((catattr-grps (get-cat-attrs idxcls)) (impl-subst-rule (get-implicit-subst-rules idxcls))) (set-attribute-list attribute-list catattr-grps) (let ((catattr-grp-counter 0) (sort-ordnum-counter 0)) (mapc #'(lambda (sublist) (incf catattr-grp-counter) (let ((last-in-group (lookup-catattr-name catattr-grps (car (last sublist)))) (prev-catattr nil)) (mapc #'(lambda (catattr) (cond ((stringp catattr) (let ((ca (lookup-catattr-name catattr-grps catattr))) (incf sort-ordnum-counter) (set-sort-ordnum sort-ordnum-counter ca) (set-catattr-grp-ordnum catattr-grp-counter ca) (set-last-in-group last-in-group ca) (when prev-catattr (rel-insert impl-subst-rule (lookup-catattr-name catattr-grps prev-catattr) (lookup-catattr-name catattr-grps catattr))) (setq prev-catattr catattr))) (t (error "~A is not a string" catattr)))) sublist))) attribute-list)) catattr-grps)) ;; line 566 "idxrule.nw" (eval-when (compile load eval) ;; line 69 "idxrule.nw" (export '(index-rule relation-rule)) ;; line 96 "idxrule.nw" (export '(merge-rule make-merge-rule)) ;; line 125 "idxrule.nw" (export '(drop-if-merged-rule make-drop-if-merged-rule)) ;; line 185 "idxrule.nw" (export '(catattr-groups make-catattr-groups lookup-catattr-name)) ;; line 252 "idxrule.nw" (export '(initialize-category-attributes catattr-single catattr-mixed)) ;; line 286 "idxrule.nw" (export '(substitution-rule make-substitution-rule)) ;; line 428 "idxrule.nw" (export '(relation make-relation get-rel-sets rel-insert rel-merge make-ready relation-set relation-p)) ;; line 549 "idxrule.nw" (export '(topsort transform-relation remove-reflexivity transitive-hull)) ;; line 568 "idxrule.nw" ) ;; line 873 "idxclass.nw" ;; $Id: idxclass.nw,v 1.20 1997/03/26 16:18:16 kehr Exp $ ;; ;; line 129 "idxclass.nw" (defparameter *locref-cache-size* 1000) (defparameter *locref-cache-rehash-size* 2) (defparameter *locref-cache-hits* 0) (defparameter *locref-cache-misses* 0) ;; line 80 "idxclass.nw" (defclass indexclass () ((name :initarg :name :type string) (basetypes :accessor get-basetypes :initform (make-hash-table :test #'equal :size 10)) (cat-attrs :accessor get-cat-attrs :initform (make-catattr-groups)) (locref-classes :accessor get-locref-classes :initform '() :type list) (xref-classes :accessor get-xref-classes :initform '() :type list) (letter-groups :reader get-letter-groups :initform (make-letter-group-manager)) (partial-order-dict :reader get-partial-order-dict :initform (make-partial-order-dict)) (letter-dict :reader get-letter-dict :initform (make-letter-dict)) (rule-sets :reader get-rule-sets :initform (make-hash-table :test #'equal :size 20)) ;; line 136 "idxclass.nw" (locref-cache :initform (initialize-locref-cache)) ;; line 99 "idxclass.nw" ;; (succ-table :accessor get-succ-table ;; :initform (make-hash-table)) ;; line 219 "idxclass.nw" (merge-rules :reader get-merge-rules :initform (make-merge-rule)) (drop-if-merged-rules :reader get-drop-if-merged-rules :initform (make-drop-if-merged-rule)) ;; (merge-rule-topsort :reader get-merge-rule-topsort ;; :writer set-merge-rule-topsort ;; :initform '()) ;; line 724 "idxclass.nw" (merge-drop-hook :reader get-merge-drop-hook :writer set-merge-drop-hook :initform #'set-state-deleted) ;; line 229 "idxclass.nw" (implicit-subst-rules :reader get-implicit-subst-rules :initform (make-substitution-rule)) (explicit-subst-rules :reader get-explicit-subst-rules :writer set-explicit-subst-rules :initform (make-substitution-rule)) ;; line 776 "idxclass.nw" (implicit-subst-hook :reader get-implicit-subst-hook :writer set-implicit-subst-hook :initform #'transitive-hull) (explicit-subst-hook :reader get-explicit-subst-hook :writer set-explicit-subst-hook :initform #'identity) (global-subst-hook :reader get-global-subst-hook :writer set-global-subst-hook :initform #'identity) (substitution-subst-hook :reader get-substitution-subst-hook :writer set-substitution-subst-hook :initform #'null) ;; line 102 "idxclass.nw" )) (defun make-indexclass (name) (make-instance 'indexclass :name name)) ;; line 253 "idxclass.nw" (defparameter *default-letter-group-definition* "default") (defclass letter-group-definition () ((name :initarg :name :type string) (ordnum :initarg :ordnum :type number))) (defun make-letter-group-definition (name) (make-instance 'letter-group-definition :name name :ordnum 0)) (defclass letter-group-manager () ((prefixes :accessor get-prefixes :initform (make-hash-table :test #'equal)) (letter-groups :accessor get-letter-groups :initform (make-hash-table :test #'equal)) (sort-relation :accessor get-sort-relation :initform (make-relation)) (lookup-list :accessor get-lookup-list :initform '()))) (defun make-letter-group-manager () (let* ((lgm (make-instance 'letter-group-manager)) (letter-groups (get-letter-groups lgm)) (default-group (make-letter-group-definition *default-letter-group-definition*))) (setf (gethash *default-letter-group-definition* letter-groups) default-group) (rel-simple-insert (get-sort-relation lgm) default-group) lgm)) ;; line 295 "idxclass.nw" (defun make-lookup-list (lgm) (setf (get-lookup-list lgm) (let ((lookup-list '())) (maphash #'(lambda (key elt) (push (cons key elt) lookup-list)) (get-prefixes lgm)) (sort lookup-list #'prefix<)))) (defun prefix< (x y) (let ((cx (car x)) (cy (car y))) (let ((same-prefix (string/= cx cy))) (cond ((null same-prefix)) ((> same-prefix 0) (and (= same-prefix (length (car y))))) (t (string< cx cy)))))) ;; line 326 "idxclass.nw" (defun add-letter-group-to-manager (lgm name prefix &key before after) (let* ((prefixes (get-prefixes lgm)) (letter-groups (get-letter-groups lgm)) (letter-group (gethash name letter-groups))) (unless letter-group;; this letter group is unknown -- create one! (setq letter-group (make-letter-group-definition name)) (setf (gethash name letter-groups) letter-group) (rel-simple-insert (get-sort-relation lgm) letter-group)) (let ((current-binding (gethash prefix prefixes))) (and current-binding (not (equal name (get-name current-binding))) (warn "define-letter-group: prefix ~S now maps to letter group ~S" prefix name))) (setf (gethash prefix prefixes) letter-group) (when before (rel-insert (get-sort-relation lgm) letter-group (lookup-letter-group-definition *indexstyle* before))) (when after (rel-insert (get-sort-relation lgm) (lookup-letter-group-definition *indexstyle* after) letter-group))) lgm) (defmethod lookup-letter-group-definition ((idxcls indexclass) (letter string)) (gethash letter (get-letter-groups (get-letter-groups idxcls)))) ;; line 360 "idxclass.nw" (defmethod make-ready ((lgm letter-group-manager)) (make-lookup-list lgm) (let ((sort-relation (get-sort-relation lgm))) (multiple-value-bind (topsorted-list remaining-relation) (topsort sort-relation) (if topsorted-list (let ((ctr 0)) (mapc #'(lambda (grp-def) (setf (get-ordnum grp-def) (incf ctr))) topsorted-list)) (error (concatenate 'string "The user-defined relations for the letter-groups contains cycles!~%The part of the relation containing cycles is" (with-output-to-string (s) (print-relation remaining-relation s #'(lambda (lgdef) (get-name lgdef)) :open "~%" :headsep " before " :listsep " ")))))))) ;; line 388 "idxclass.nw" (defmethod match-letter-group ((idxcls indexclass) (letter string)) (let* ((lgm (get-letter-groups idxcls)) (lookup-list (get-lookup-list lgm)) (match (find-if #'(lambda (prefix-cons) (let* ((prefix (car prefix-cons)) (match-len (string/= prefix letter))) (or (not match-len) #| full match |# (= match-len #| full match with lg |# (length prefix))))) lookup-list)) (letter-group-definition (if match (cdr match);; the corresponding letter-grp-def (lookup-letter-group-definition *indexstyle* *default-letter-group-definition*)))) (gol t "~&Letter-group: ~S -> ~S" letter (get-name letter-group-definition)) letter-group-definition)) ;; line 549 "idxclass.nw" (defclass rule-set () ((name :initarg :name) (rules-list :accessor rules-list :initarg :rules-list) (rules-hash :reader rules-hash :initform (make-hash-table :test #'equal :size 32)) )) (defun make-rule-set (name inherit rules) (unless (every #'(lambda (rule) (and (stringp (car rule));; pattern (stringp (cadr rule)));; replacement ) rules) (error "not a valid rule-set definition!")) (let ((rs (make-instance 'rule-set :name name :rules-list rules))) (let ((rh (rules-hash rs))) (mapc #'(lambda (rule) (setf (gethash (car rule) rh) rule)) rules) (mapc #'(lambda (inh-name) (let ((inh-rs (lookup-rule-set *indexstyle* inh-name))) (when inh-rs (inherit-rule-set rs inh-rs)))) inherit) rs))) #| (add-rule-set *indexstyle* (make-rule-set "foo" '() '(("foo" "bar" :again) ("baz" "bam" :string) ("1" "3")))) (add-rule-set *indexstyle* (make-rule-set "bar" '() '(("1" "bar" :again) ("2" "bam" :string)))) |# (defmacro instantiate-rule-set (run rule-set-names) (let ((rs (make-rule-set "temporary rule-set" rule-set-names '()))) (when rs (cons 'progn (mapcar #'(lambda (rule) `(SORT-RULE ,@rule :RUN ,RUN)) (rules-list rs)))))) (defun inherit-rule-set (rs parent) (let ((rs-hash (rules-hash rs))) (mapc #'(lambda (rule) (let ((pattern (car rule))) (unless (gethash pattern rs-hash) (setf (gethash pattern rs-hash) rule) (setf (rules-list rs) (append (rules-list rs) (list rule)))))) (rules-list parent)) rs)) ;; line 140 "idxclass.nw" (defun initialize-locref-cache () (setq *locref-cache-hits* 0) (setq *locref-cache-misses* 0) (make-hash-table :test #'equal :size *locref-cache-size* :rehash-size *locref-cache-rehash-size*)) (defmethod clear-locref-cache ((idxclass indexclass)) (setf (get-locref-cache idxclass) (initialize-locref-cache))) (defun set-locref-cache-parameters (&key (size 1000) (rehash-size 3)) (when (< size 100) (setq size 100)) (when (< rehash-size 1.5) (setq rehash-size 1.5)) (setq *locref-cache-size* size) (setq *locref-cache-rehash-size* rehash-size)) ;; line 165 "idxclass.nw" (defmacro lookup-locref-cache (idxcls locref-string) `(LET ((LOCREF-LOOKUP (GETHASH ,locref-string (SLOT-VALUE ,idxcls 'LOCREF-CACHE)))) (IF LOCREF-LOOKUP (PROGN (INCF *LOCREF-CACHE-HITS*) (VALUES (CAR LOCREF-LOOKUP) (CDR LOCREF-LOOKUP))) (PROGN (INCF *LOCREF-CACHE-MISSES*) (VALUES NIL NIL))))) (defmethod add-locref-cache ((idxcls indexclass) (locref-string string) (num number) ;; the next one is typeless, since we ;; also want to store the value NIL into ;; it, to denote a mismatch locref) (setf (gethash locref-string (get-locref-cache idxcls)) (cons num locref)) (values num locref)) (defmethod locref-statistics ((idxcls indexclass)) (let ((ht (get-locref-cache idxcls))) (with-output-to-string (s) (format s "Statistics for locref-cache of indexclass ~S:~%" (get-name idxcls)) (format s "Hash-table: size=~A, count=~A, cache-hits=~A, cache-misses=~A, hits=~4,1,,'*F%~%" (hash-table-size ht) (hash-table-count ht) *locref-cache-hits* *locref-cache-misses* (if (> *locref-cache-misses* 0) (* 100 (/ *locref-cache-hits* (+ *locref-cache-hits* *locref-cache-misses*))) 100.0 #| produces an invalid value |#))))) ;; line 430 "idxclass.nw" (defmethod add ((idxcls indexclass) (basetype basetype)) (setf (gethash (get-name basetype) (get-basetypes idxcls)) basetype) idxcls) (defmethod add-alias ((idxcls indexclass) basetype alias-name) (let ((new-basetype (make-copy (lookup-basetype idxcls basetype) alias-name))) (add idxcls new-basetype))) (defmethod add ((idxcls indexclass) (catattr category-attribute)) (add (get-cat-attrs idxcls) catattr) idxcls) ;; line 446 "idxclass.nw" (defun add-letter-groups (idxcls name prefixes &key before after) (let ((lgm (get-letter-groups idxcls))) (mapc #'(lambda (prefix) (add-letter-group-to-manager lgm name prefix :before before :after after)) prefixes))) ;; line 462 "idxclass.nw" (defmethod add ((idxcls indexclass) (loccls layered-location-class)) (let* ((loccls-name (get-name loccls)) (old-loccls (cdr (lookup-locref-class idxcls loccls-name)))) (when old-loccls (remove-location-class idxcls old-loccls)) (if (get-locref-classes idxcls) #| if it is empty, we can't rplacd |# (rplacd (last (get-locref-classes idxcls)) (acons loccls-name loccls nil)) (setf (get-locref-classes idxcls) (acons loccls-name loccls nil)))) idxcls) (defmethod remove-location-class ((idxcls indexclass) (loccls layered-location-class)) (setf (get-locref-classes idxcls) (delete-if #'(lambda (elt) (eq (cdr elt) loccls)) (get-locref-classes idxcls))) idxcls) ;; line 484 "idxclass.nw" (defmethod add ((idxcls indexclass) (xrefcls crossref-location-class)) (let ((xrefcls-name (get-name xrefcls))) (setf (get-xref-classes idxcls) (acons xrefcls-name xrefcls (get-xref-classes idxcls))) idxcls)) ;; line 495 "idxclass.nw" (defmethod add-merge-rule ((idxcls indexclass) (catattr-1 category-attribute) (catattr-2 category-attribute)) (rel-insert (get-merge-rules idxcls) catattr-1 catattr-2) idxcls) (defmethod add-drop-if-merged-rule ((idxcls indexclass) (catattr-1 category-attribute) (catattr-2 category-attribute)) (rel-insert (get-merge-rules idxcls) catattr-1 catattr-2) (rel-insert (get-drop-if-merged-rules idxcls) catattr-1 catattr-2) idxcls) ;; line 512 "idxclass.nw" (defmethod add-implicit-substitution-rule ( (idxcls indexclass) (catattr-1 category-attribute) (catattr-2 category-attribute)) (rel-insert (get-implicit-subst-rules idxcls) catattr-1 catattr-2) idxcls) (defmethod add-explicit-substitution-rule ( (idxcls indexclass) (catattr-1 category-attribute) (catattr-2 category-attribute)) (rel-insert (get-explicit-subst-rules idxcls) catattr-1 catattr-2) idxcls) ;; line 609 "idxclass.nw" (defmethod add-rule-set ((idxcls indexclass) (rs rule-set)) (let ((rule-sets (get-rule-sets idxcls)) (rs-name (get-name rs))) (setf (gethash rs-name rule-sets) rs))) ;; line 635 "idxclass.nw" (defmethod lookup-basetype ((idxcls indexclass) (basetype-name string)) (gethash basetype-name (get-basetypes idxcls))) (defmethod lookup-catattr ((idxcls indexclass) (catattr-name string)) (lookup-catattr-name (slot-value idxcls 'cat-attrs) catattr-name)) (defmethod lookup-location-class ((idxcls indexclass) (loccls-name string)) (or (lookup-crossref-class idxcls loccls-name) (lookup-locref-class idxcls loccls-name))) (defmethod lookup-crossref-class ((idxcls indexclass) (xref-name string)) (assoc xref-name (slot-value idxcls 'xref-classes) :test #'equal)) (defmethod lookup-locref-class ((idxcls indexclass) (loccls-name string)) (assoc loccls-name (slot-value idxcls 'locref-classes) :test #'equal)) (defmethod lookup-rule-set ((idxcls indexclass) (rule-set-name string)) (gethash rule-set-name (get-rule-sets idxcls))) ;; line 685 "idxclass.nw" (defmacro map-location-classes (idxcls apply-func &rest arguments) `(LET () (APPLY #'NCONC (MAPCAR #'(LAMBDA (ELT) (LET ((RES (FUNCALL ,apply-func ,idxcls (CDR ELT) #|ELT is ("name".))|# ,@arguments))) (WHEN RES (LIST RES)))) (GET-LOCREF-CLASSES ,idxcls))))) ;; line 800 "idxclass.nw" (defmethod apply-substitution-hooks ((idxcls indexclass)) (let ((impl (get-implicit-subst-rules idxcls)) (expl (get-explicit-subst-rules idxcls))) (funcall (get-implicit-subst-hook idxcls) impl) (funcall (get-explicit-subst-hook idxcls) expl) (rel-merge impl expl) (set-explicit-subst-rules nil idxcls) (funcall (get-global-subst-hook idxcls) impl) (make-ready impl) )) ;; line 838 "idxclass.nw" (defmethod make-ready ((idxcls indexclass)) (apply-substitution-hooks idxcls) (make-ready (get-merge-rules idxcls)) (make-ready (get-drop-if-merged-rules idxcls)) (make-ready (get-letter-groups idxcls)) ;; (set-merge-rule-topsort (topsort ;; (remove-reflexivity ;; (transform-relation ;; (get-drop-if-merged-rules idxcls) ;; #'(lambda (attr) ;; (get-ordnum attr))))) ;; *indexstyle*) ;;(pprint (get-drop-if-merged-rules idxcls)) ;;(pprint (topsort (get-drop-if-merged-rules idxcls))) (let ((counter 0)) (mapc #'(lambda (catattr) (set-processing-ordnum (incf counter) catattr)) (reverse (topsort (get-drop-if-merged-rules idxcls))))) idxcls) ;; line 888 "idxclass.nw" (eval-when (compile load eval) ;; line 109 "idxclass.nw" (export '(indexclass make-indexclass get-name get-basetypes get-cat-attrs get-xref-classes get-succ-table get-locref-classes get-rule-sets ;; line 241 "idxclass.nw" get-merge-rules get-drop-if-merged-rules ; get-merge-rule-topsort set-merge-rule-topsort get-implicit-subst-rules set-implicit-subst-rules get-explicit-subst-rules set-explicit-subst-rules ;; line 115 "idxclass.nw" )) ;; line 204 "idxclass.nw" (export '(locref-cache-size* *locref-cache-rehash-size* initialize-locref-cache clear-locref-cache lookup-locref-cache add-locref-cache locref-statistics)) ;; line 409 "idxclass.nw" (export '(letter-group-definition match-letter-group)) ;; line 530 "idxclass.nw" (export '(add set add-letter-groups add-merge-rule add-drop-if-merged-rule add-implict-substitution-rule add-explicit-substitution-rule)) ;; line 616 "idxclass.nw" (export '(rule-set make-rule-set add-rule-set instantiate-rule-set inherit-rule-set)) ;; line 656 "idxclass.nw" (export '(lookup-basetype lookup-catattr lookup-letter-group-definition lookup-location-class lookup-crossref-class lookup-locref-class lookup-rule-set)) ;; line 700 "idxclass.nw" (export 'map-location-classes) ;; line 730 "idxclass.nw" (export '(get-merge-drop-hook set-merge-drop-hook)) ;; line 791 "idxclass.nw" (export '(get-implicit-subst-hook set-implicit-subst-hook get-explicit-subst-hook set-explicit-subst-hook get-global-subst-hook set-global-subst-hook get-substitution-subst-hook set-substitution-subst-hook)) ;; line 823 "idxclass.nw" (export '(apply-substitution-hooks)) ;; line 865 "idxclass.nw" (export '(make-ready)) ;; line 890 "idxclass.nw" ) ;; line 54 "idxstyle.nw" (defun create-indexclass (idxcls-name) (setq *indexstyle* (make-indexclass idxcls-name))) ;; line 259 "letters.nw" ;; $Id$ ;; line 37 "letters.nw" (defclass letter () ((name :initarg :name :type string) (props :initarg :props :type list))) (defun make-letter (name properties inherits-from) (make-instance 'letter :name name :props (if inherits-from (append properties (get-props inherits-from)) properties))) (defun find-prop (letter prop) (assoc prop (get-props letter))) ;; line 53 "letters.nw" (defclass letter-dictionary () ((letters :initform (make-hash-table :test #'equal)))) (defun make-letter-dict () (make-instance 'letter-dictionary)) (defun find-letter* (dict-ht letter) (gethash letter dict-ht)) (defun find-letter (dict letter) (gethash letter (get-letters dict))) (defun add-letter-to-dict (letter-dict po-dict name props &optional inherits) (let ((dict-ht (get-letters letter-dict))) (when (gethash name dict-ht) (nraw "Letter `~S' redefined!" name)) (setf (gethash name dict-ht) (make-letter name (pre-calculate-props props po-dict) (when inherits (find-letter* dict-ht name)))))) ;; line 85 "letters.nw" (defun pre-calculate-props (props po-dict) (mapc #'(lambda (po-spec) (let ((po-name (car po-spec)) (po-val (cadr po-spec))) (setf (cdr (last po-spec)) (list (find-prop-weight (find-partial-order po-dict po-name) po-val))))) props) props) ;; line 98 "letters.nw" (defmacro define-letter (&whole whole &rest rest) (destructuring-switch-bind (name &rest proplist) rest (cond ;; line 239 "intface.nw" ((null name) (error "missing argument in `~S' !" whole)) ((not (or (symbolp name) (stringp name))) (error "~S is not a symbol or a string in `~S' !" name whole)) ;; line 102 "letters.nw" ((not (listp proplist)) (error "~S is not a property list in ~S." proplist whole)) (t `(LET ((NAME (STRINGIFY ',name))) (ADD-LETTER-TO-DICT (GET-LETTER-DICT *INDEXSTYLE*) (GET-PARTIAL-ORDER-DICT *INDEXSTYLE*) ,name ',proplist)))))) ;; line 119 "letters.nw" (defclass partial-order () ((name :initarg :name :type string) (order :initform (make-hash-table :test #'equal)) (direct :initarg :direct :type symbol))) (defun make-partial-order (name order &optional (direct :from-start)) (let* ((po (make-instance 'partial-order :name name :direct direct)) (po-ht (get-order po)) (ctr 0)) (mapc #'(lambda (elt) (when (gethash elt po-ht) (error "Element ~S doubly defined in partial order ~S." elt name)) (setf (gethash elt po-ht) (incf ctr))) order) po)) ;; line 140 "letters.nw" (defclass partial-order-dictionary () ((order :initform (make-hash-table :test #'equal)))) (defun make-partial-order-dict () (make-instance 'partial-order-dictionary)) (defun find-partial-order (dict po-name) (gethash po-name (get-order dict))) (defun find-prop-weight (po po-name) (gethash po-name (get-order po))) (defun add-partial-order-to-dict (dict po-name po-order po-direct) (let ((dict-ht (get-order dict))) (when (gethash po-name dict-ht) (nraw "Partial order ~S redefined!" po-name)) (setf (gethash po-name dict-ht) (make-partial-order po-name po-order po-direct)))) ;; line 161 "letters.nw" (defmacro define-partial-order (&whole whole &rest rest) (destructuring-switch-bind (name ordlist &switch from-start from-end) rest (cond ;; line 239 "intface.nw" ((null name) (error "missing argument in `~S' !" whole)) ((not (or (symbolp name) (stringp name))) (error "~S is not a symbol or a string in `~S' !" name whole)) ;; line 169 "letters.nw" ((not (listp ordlist)) (error "~S is not a partial order list in ~S." ordlist whole)) ((and from-start from-end) (error "Only one of :from-start or :from-end is allowed in ~S." whole)) (t `(LET ((NAME (STRINGIFY ',name))) (ADD-PARTIAL-ORDER-TO-DICT (GET-PARTIAL-ORDER-DICT *INDEXSTYLE*) ,name ',ordlist ,(if (or from-start (not from-end)) :from-start :from-end))))))) ;; line 194 "letters.nw" (defun word-cmp (word1 word2 po) (let ((po-name (get-name po)) let1 let2 weight1 weight2) (loop (cond ((and (endp word1) (endp word2)) (return :equal)) ((endp word1) (return :less)) ((endp word2) (return :greater)) (t (setq let1 (car word1)) (setq word1 (cdr word1)) (setq let2 (car word2)) (setq word2 (cdr word2)) (setq weight1 (lookup-letter-weight let1 po-name)) (setq weight2 (lookup-letter-weight let2 po-name)) (when (< weight1 weight2) (return :less)) (when (> weight1 weight2) (return :greater))))))) (defun calc-list-of-weights (word po) (let ((po-name (get-name po))) (mapcar #'(lambda (letter) (lookup-letter-weight letter po-name)) word))) ;; line 227 "letters.nw" (defun lookup-letter-weight (letter po-name) (let ((prop (find-prop letter po-name))) (if prop (car (last prop)) (find-prop-weight (find-partial-order (get-partial-order-dict *indexstyle*) po-name) 'others)))) ;; line 237 "letters.nw" (defun make-word (letter-list) (let ((dict (get-letter-dict *indexstyle*))) (mapcar #'(lambda (str) (find-letter dict str)) letter-list))) (defun sort-words (word-list po) (split-list #'(lambda (word) (calc-list-of-weights word po)) word-list)) ;; line 99 "idxstyle.nw" (create-indexclass "default") ;; line 107 "idxstyle.nw" (defmacro string-expand (str) (let ((str-expansion (map 'list #'(lambda (c) (make-string 1 :initial-element c)) str))) `(QUOTE ,str-expansion))) (define-alphabet* "ALPHA" (string-expand "ABCDEFGHIJKLMNOPQRSTUVWXYZ")) (define-alphabet* "alpha" (string-expand "abcdefghijklmnopqrstuvwxyz")) (define-alphabet* "digits" (string-expand "0123456789")) ;; line 128 "idxstyle.nw" (defun prefix-match-for-radix-numbers (str radix) (let* ((n nil) (strlen (length str)) (len-match (do ((i 0 (1+ i))) ((or (>= i strlen) (not (digit-char-p (char str i) radix))) i) (setq n (+ (* (if n n 0) radix) (digit-char-p (char str i) radix)))))) (values (subseq str 0 len-match) (subseq str len-match) n))) ;; line 155 "idxstyle.nw" (define-enumeration "arabic-numbers" #'(lambda (str) (prefix-match-for-radix-numbers str 10)) "0123456789") ;; line 178 "idxstyle.nw" (defparameter *lowercase-roman-numbers-lookup-table* '((#\i ("ix" . 9) ("iv" . 4) ("iiii" . 4) ("iii". 3) ("ii" . 2) ("i" . 1)) (#\v ("viiii" . 9) ("viii" . 8) ("vii" . 7) ("vi" . 6) ("v" . 5)) (#\x ("xc" . 90) ("xl" . 40) ("x" . 10)) (#\m ("m" . 1000)) (#\c ("cm" . 900) ("cd" . 400) ("c" . 100)) (#\l ("lxxxx" . 90) ("lxxx" . 80) ("lxx" . 70) ("lx" . 60) ("l" . 50)) (#\d ("dcccc" . 900) ("dccc" . 800) ("dcc" . 700) ("dc" . 600) ("d" . 500)) )) (defparameter *uppercase-roman-numbers-lookup-table* '((#\I ("IX" . 9) ("IV" . 4) ("IIII" . 4) ("III". 3) ("II" . 2) ("I" . 1)) (#\V ("VIIII" . 9) ("VIII" . 8) ("VII" . 7) ("VI" . 6) ("V" . 5)) (#\X ("XC" . 90) ("XL" . 40) ("X" . 10)) (#\M ("M" . 1000)) (#\C ("CM" . 900) ("CD" . 400) ("C" . 100)) (#\L ("LXXXX" . 90) ("LXXX" . 80) ("LXX" . 70) ("LX" . 60) ("L" . 50)) (#\D ("DCCCC" . 900) ("DCCC" . 800) ("DCC" . 700) ("DC" . 600) ("D" . 500)) )) ;; line 206 "idxstyle.nw" (defun roman-number-prefix-match (roman-number-string *table*) (let ((result 0) (str roman-number-string) (last-val 100000) #| hope that's enough |# (str-len (length roman-number-string)) ch table match-cons curr-val ) (loop (when (= 0 (length str)) (return (values roman-number-string "" result))) (setq ch (aref str 0)) (setq table (cdr (assoc ch *table*))) (setq match-cons (find-if #'(lambda (cons) (let* ((prefix (car cons)) (match-len (string/= prefix str))) (or (not match-len) (= match-len (length prefix))))) table)) (unless match-cons (return (if (= 0 result) (values nil nil nil) (values (subseq roman-number-string 0 (- str-len (length str))) str result)))) (setq curr-val (cdr match-cons)) (when (> curr-val last-val) (return (values (subseq roman-number-string 0 (- str-len (length str))) str result))) (incf result curr-val) (setq last-val curr-val) (setq str (subseq str (length (car match-cons))))))) ;; line 241 "idxstyle.nw" (define-enumeration "roman-numbers-uppercase" #'(lambda (str) (roman-number-prefix-match str *uppercase-roman-numbers-lookup-table*)) "IVXLCDM") (add-alias *indexstyle* "roman-numbers-uppercase" "ROMAN") (add-alias *indexstyle* "roman-numbers-uppercase" "roman-numerals-uppercase") (define-enumeration "roman-numbers-lowercase" #'(lambda (str) (roman-number-prefix-match str *lowercase-roman-numbers-lookup-table*)) "ivxlcdm") (add-alias *indexstyle* "roman-numbers-lowercase" "roman") (add-alias *indexstyle* "roman-numbers-lowercase" "roman-numerals-lowercase") ;; line 902 "idxclass.nw" #+:XP (defmacro pprint-slot-block (slot-name body) `(progn (pprint-logical-block (s nil :suffix " }") (pprint-indent :block 2 s) (write-string ,slot-name s) (pprint-newline :mandatory s) ,body) (pprint-newline :mandatory s))) #+:XP (defmacro pprint-slot-block-line (slot-name body) `(progn (pprint-logical-block (s nil :suffix " }") (pprint-indent :block 2 s) (write-string ,slot-name s) (pprint-newline :linear s) ,body) (pprint-newline :mandatory s))) ;; line 924 "idxclass.nw" #+:XP (set-pprint-dispatch 'indexclass #'(lambda (s idxcls) (pprint-logical-block (s nil :suffix "}") (pprint-indent :block 2 s) (write-string "indexclass " s) (write (get-name idxcls) :stream s) (write-string " {" s) (pprint-newline :mandatory s) (pprint-slot-block "basetypes {" (maphash #'(lambda (key bt) (declare (ignore key)) (write (get-name bt) :stream s) (write-string " " s) (pprint-newline :linear s)) (get-basetypes idxcls))) (pprint-slot-block "cat-attrs {" (write (get-cat-attrs idxcls) :stream s)) (pprint-slot-block "locclasses {" (mapc #'(lambda (lc) (write (get-name (cdr lc)) :stream s) (write-string " [" s) (write (get-ordnum (cdr lc)) :stream s) (write-string "] " s) (pprint-newline :linear s)) (get-locref-classes idxcls))) (pprint-slot-block "xrefclasses {" (mapc #'(lambda (lc) (write (get-name (cdr lc)) :stream s) (write-string " [" s) (write (get-ordnum (cdr lc)) :stream s) (write-string "] " s) (pprint-newline :linear s)) (get-xref-classes idxcls))) (write (get-letter-dict idxcls) :stream s) (pprint-newline :mandatory s) (write (get-partial-order-dict idxcls) :stream s) (pprint-newline :mandatory s) (pprint-slot-block "merge-rules {" (write (get-merge-rules idxcls) :stream s)) (pprint-slot-block "drop-if-merged-rules {" (write (get-drop-if-merged-rules idxcls) :stream s)) ;; (pprint-slot-block-line ;; "merge-rule-topsort { " ;; (write (get-merge-rule-topsort idxcls) :stream s)) (pprint-slot-block "implicit-subst-rules {" (write (get-implicit-subst-rules idxcls) :stream s)) (pprint-slot-block "explicit-subst-rules {" (write (get-explicit-subst-rules idxcls) :stream s)) (pprint-slot-block-line "implicit-subst-hook {" (write (get-implicit-subst-hook idxcls) :stream s)) (pprint-slot-block-line "explicit-subst-hook {" (write (get-explicit-subst-hook idxcls) :stream s)) (pprint-slot-block-line "global-subst-hook {" (write (get-global-subst-hook idxcls) :stream s)) (pprint-slot-block-line "substitution-subst-hook {" (write (get-substitution-subst-hook idxcls) :stream s)) (pprint-slot-block-line "merge-drop-hook {" (write (get-merge-drop-hook idxcls) :stream s)) ; (pprint-slot-block ; "keyword-markup {" ; (write (get-keyword-markup idxcls) :stream s)) ))) ;; line 580 "idxrule.nw" #+:XP (defun pprint-relation (s rel) (pprint-logical-block (s nil :suffix "}") (pprint-indent :block 2 s) (write-string "Relation { " s) (pprint-logical-block (s nil) (pprint-indent :block 2) (mapc #'(lambda (x) (when x (write (car x) :stream s) (write-string " ->" s) (mapc #'(lambda (y) (write-string " " s) (write y :stream s)) (cdr x)) (pprint-newline :mandatory s))) (get-rel-sets rel))))) #+:XP (set-pprint-dispatch 'relation-rule #'pprint-relation) #+:XP (set-pprint-dispatch 'relation #'pprint-relation) ;; line 606 "idxrule.nw" #+:XP (set-pprint-dispatch 'catattr-groups #'(lambda (s catgrp) (pprint-logical-block (s nil :suffix "}") (pprint-indent :block 2 s) (write-string "Category-attribute-group { " s) (pprint-newline :mandatory s) (write (get-attribute-list catgrp) :stream s) (pprint-newline :mandatory s) (write (get-attribute-table catgrp) :stream s)))) ;; line 277 "letters.nw" #+:XP (set-pprint-dispatch 'letter #'(lambda (s lt) (pprint-logical-block (s nil :suffix ">") (pprint-indent :block 2 s) (write-string "<" s) (write (get-name lt) :stream s) (write-string " " s) (pprint-newline :linear s) (write (get-props lt) :stream s)))) #+:XP (set-pprint-dispatch 'letter-dictionary #'(lambda (s dict) (pprint-logical-block (s nil :suffix "}") (pprint-indent :block 2 s) (write-string "letters {" s) (maphash #'(lambda (key lt) (declare (ignore key)) (write lt :stream s) (write-string " " s) (pprint-newline :linear s)) (get-letters dict))))) #+:XP (set-pprint-dispatch 'partial-order #'(lambda (s po) (pprint-logical-block (s nil :suffix ">") (pprint-indent :block 2 s) (write-string "<" s) (write (get-name po) :stream s) (pprint-newline :linear s) (maphash #'(lambda (key po) (write-string " [" s) (write key :stream s) (write-string " " s) (write po :stream s) (write-string "]" s) (pprint-newline :linear s)) (get-order po))))) #+:XP (set-pprint-dispatch 'partial-order-dictionary #'(lambda (s dict) (pprint-logical-block (s nil :suffix "}") (pprint-indent :block 2 s) (write-string "partial-orders {" s) (maphash #'(lambda (key po) (declare (ignore key)) (write po :stream s) (write-string " " s) (pprint-newline :linear s)) (get-order dict))))) ;; line 321 "idxstyle.nw" (defvar *RCS-Identifier* '( ;; line 894 "idxclass.nw" ("idxclass" . "$Id: idxclass.nw,v 1.20 1997/03/26 16:18:16 kehr Exp $") ;; line 572 "idxrule.nw" ("idxrule" . "$Id: idxrule.nw,v 1.10 1997/03/26 16:18:19 kehr Exp $") ;; line 335 "idxstyle.nw" ("idxstyle" . "$Id: idxstyle.nw,v 1.19 1997/03/26 16:18:23 kehr Exp $") ;; line 1174 "intface.nw" ("intface" . "$Id: intface.nw,v 1.30 1997/10/20 11:25:09 kehr Exp $") ;; line 269 "letters.nw" ("letters" . "$Id$") ;; line 321 "idxstyle.nw" )) (eval-when (compile load eval) ;; line 59 "idxstyle.nw" (export 'create-indexclass) ;; line 89 "idxstyle.nw" (export '*load-paths*) ;; line 325 "idxstyle.nw" ) xindy-2.5.1.20160104/src/index.lsp000066400000000000000000001573211264235421100161750ustar00rootroot00000000000000;; line 835 "index.nw" ;; $Id: index.nw,v 1.31 1997/03/26 16:18:37 kehr Exp $ (lisp:defpackage "INDEX") (lisp:in-package "INDEX") (lisp:provide "index") #+CLISP (lisp:require "base") #+CLISP (lisp:require "locref") #+CLISP (lisp:require "idxstyle") #+CLISP (lisp:require "ordrules") (eval-when (compile load eval) (lisp:use-package "CLOS") #+(and :XP CLISP) (lisp:use-package "XP") #-CLISP (lisp:require "base") #-CLISP (lisp:require "locref") #-CLISP (lisp:require "idxstyle") (lisp:use-package "BASE") (lisp:use-package "LOCREF") (lisp:use-package "IDXSTYLE")) ;; The following construct must be separated since the definition of ;; the *feature* :ORDRULES was added via loading the package ;; "idxstyle" but is only active *after* reading the whole SEXP. (eval-when (compile load eval) #+:ORDRULES (use-package "ORDRULES")) ;; line 986 "idxentry.nw" ;; $Id: idxentry.nw,v 1.29 1997/03/27 17:17:25 kehr Exp $ ;; line 1002 "idxentry.nw" (defvar *number-of-indexentries*) (defvar *current-number*) ;; line 1007 "idxentry.nw" (defvar *percentage-list*) (defvar *processing-percentage-list*) (defun print-rest-of-percentages (plist) (dolist (percent plist) (when (<= (cdr percent) 100) (print-percent percent)))) (defun print-percent (percent-cons) (info " [~A%]" (cdr percent-cons))) ;; line 85 "idxentry.nw" (defclass index-entry () ((main-key :initarg :main-key) (merge-key :initarg :merge-key) (sort-key :initarg :sort-key) (print-key :initarg :print-key) (locrefs :initarg :locrefs) (idxclass :initarg :idxclass) (subentries :initform '()))) (defun make-index-entry (&key (main-key '()) (merge-key '()) (sort-key '()) (print-key '()) (locrefs '()) (idxclass nil) &allow-other-keys) (make-instance 'index-entry :main-key main-key :merge-key merge-key :sort-key sort-key :print-key print-key :locrefs locrefs :idxclass idxclass)) ;; line 108 "idxentry.nw" (defvar *currently-processed-indexentry*) ;; line 116 "idxentry.nw" (defmacro add-location-reference-to-indexentry (idxent locref) `(PROGN (UNLESS (SOME #'(LAMBDA (LREF) (LOCREF= ,locref LREF)) (GET-LOCREFS ,idxent)) (SET-LOCREFS (CONS ,locref (GET-LOCREFS ,idxent)) ,idxent)) ,idxent)) ;; line 249 "idxentry.nw" (defun convert-sublists-to-group-objects (list-of-sublists object-type &key (initializer-func nil)) (mapcar #'(lambda (sublist) (let ((locref-grp (make-locref-group object-type sublist))) (if initializer-func (funcall initializer-func locref-grp) locref-grp))) list-of-sublists)) ;; line 267 "idxentry.nw" (defun convert-sublists-to-specialized-groups (list-of-sublists convert-func &optional initializer-func) (mapcar #'(lambda (sublist) (let ((locref-grp (make-locref-group (funcall convert-func sublist) sublist))) (if initializer-func (funcall initializer-func locref-grp) locref-grp))) list-of-sublists)) ;; line 292 "idxentry.nw" (defclass locref-group () ((members :initarg :members))) (defun make-locref-group (group-class members) (make-instance group-class :members members)) (defgeneric process-group (group-object indexclass)) ;; line 322 "idxentry.nw" (defclass locref-class-group (locref-group) ((locclass :initform 'nil))) ;; line 327 "idxentry.nw" (defclass crossref-class-group (locref-group) ((locclass :initform 'nil))) ;; line 333 "idxentry.nw" (defun process-indexentry (idxent) (setq *currently-processed-indexentry* idxent) (when (>= (incf *current-number*) (caar *processing-percentage-list*)) (print-percent (pop *processing-percentage-list*))) (set-locrefs (convert-sublists-to-specialized-groups (split-list #'(lambda (locref) (get-ordnum (get-locclass locref))) (get-locrefs idxent) :sortfunc #'<) #'(lambda (sublist) (typecase (car sublist) (layered-location-reference 'locref-class-group) (crossref-location-reference 'crossref-class-group) (t (error "internal error in `process-indexentry'")))) #'(lambda (locref-cls-grp) (set-locclass (get-locclass (car (get-members locref-cls-grp))) locref-cls-grp) locref-cls-grp)) idxent) (mapc #'(lambda (locref-cls-grp) (process-group locref-cls-grp *indexstyle*)) (get-locrefs idxent)) idxent) ;; line 899 "idxentry.nw" (defmacro take-first (list) `(AND ,list (LIST (CAR ,list)))) (defun tree-location-references (locref-list max-depth &optional (curr-depth 1)) (cond ((or (endp locref-list) #| nothing more to do |# (> curr-depth max-depth)) #| we reached the end |# locref-list) (t (let ((locref-slist (split-list #'(lambda (locref) (car (get-ordnums locref))) locref-list :sortfunc #'<))) (mapcar #'(lambda (sublist) (let* ((locref (car sublist)) (ordnums (get-ordnums locref))) (if (= 1 (length ordnums)) (progn #| length = 1 |# (set-subrefs (sort-locrefs (tree-location-references (remove-first-layers (cdr sublist)) max-depth (1+ curr-depth))) locref) locref) (let #| length > 1 |# ((new-locref (make-layered-location-reference :layers (take-first (get-layers locref)) :ordnums (take-first (get-ordnums locref)) :locclass (get-locclass locref) :catattr (get-last-in-group (get-catattr locref)) ))) (set-subrefs (sort-locrefs (tree-location-references (remove-first-layers sublist) max-depth (1+ curr-depth))) new-locref) new-locref)))) locref-slist))))) ;; line 947 "idxentry.nw" (defun remove-first-layers (locref-list) (declare (inline)) (mapc #'(lambda (locref) (typecase locref (layered-location-reference (set-layers (cdr (get-layers locref)) locref) (set-ordnums (cdr (get-ordnums locref)) locref)) (location-range (let ((first (get-first locref)) (last (get-last locref))) (set-layers (cdr (get-layers locref)) locref) (set-ordnums (cdr (get-ordnums locref)) locref) (set-layers (cdr (get-layers first)) first) (set-ordnums (cdr (get-ordnums first)) first) (set-layers (cdr (get-layers last)) last) (set-ordnums (cdr (get-ordnums last)) last) )))) locref-list) locref-list) ;; line 973 "idxentry.nw" (defun sort-locrefs (locref-list) #+:ASSERT! (assert! (listp locref-list)) (sort locref-list #'(lambda (locref-1 locref-2) (locref-ordnum< (get-ordnums locref-1) (get-ordnums locref-2))))) ;; line 370 "idxentry.nw" (defmethod process-group ((locref-cls-grp locref-class-group) (idxcls indexclass)) #+:XP (when *locref-trace* (pprint-locref-group *logging-stream* locref-cls-grp "Inital location-refrence group:")) (apply-substitution-and-merge-rules locref-cls-grp idxcls) #+:XP (when *locref-trace* (pprint-locref-group *logging-stream* locref-cls-grp "After subst- and merge-to-rules:")) (build-ranges-in-locref-class-group locref-cls-grp idxcls) #+:XP (when *locref-trace* (pprint-locref-group *logging-stream* locref-cls-grp "After build-ranges:")) (remove-virtual-locrefs locref-cls-grp) #+:XP (when *locref-trace* (pprint-locref-group *logging-stream* locref-cls-grp "After remove virtuals:")) (separate-into-catattr-groups locref-cls-grp) #+:XP (when *locref-trace* (pprint-locref-group *logging-stream* locref-cls-grp "After separate attr-groups:")) locref-cls-grp) ;; line 531 "idxentry.nw" (defmethod apply-substitution-and-merge-rules ((locref-cls-grp locref-class-group) (idxcls indexclass)) (let ((locref-same-ordnum-grps (split-same-locrefs (get-members locref-cls-grp)))) (set-members (mapcan #'(lambda (locref-same-ordnum-grp) (apply-merge-rules idxcls (apply-substitution-rules idxcls locref-same-ordnum-grp))) locref-same-ordnum-grps) locref-cls-grp)) locref-cls-grp) ;; line 553 "idxentry.nw" (defun split-same-locrefs (locrefs) #+ASSERT! (assert! (listp locrefs)) (split-list #'(lambda (locref) (get-ordnums locref)) locrefs :sortfunc #'(lambda (locref-ordnum-1 locref-ordnum-2) (locref-ordnum< locref-ordnum-1 locref-ordnum-2)) )) ;; line 569 "idxentry.nw" (defmethod apply-substitution-rules ((idxcls indexclass) (locrefs list)) (let ((substitute-locref (get-substitution-subst-hook idxcls))) (delete-if #'null (mapcar #'(lambda (test-locref) (cond ((some #'(lambda (against-locref) (substitutable-p idxcls test-locref against-locref)) locrefs) (funcall substitute-locref test-locref)) (t test-locref))) locrefs)))) ;; line 590 "idxentry.nw" (defmethod substitutable-p ((idxcls indexclass) (test-locref layered-location-reference) (against-locref layered-location-reference)) (cond ((eql test-locref against-locref) nil) ((and (state-normal-p against-locref) (relation-p (get-implicit-subst-rules idxcls) (get-catattr against-locref) (get-catattr test-locref)))) (t nil))) ;; line 638 "idxentry.nw" (defmethod apply-merge-rules ((idxcls indexclass) (locrefs list)) (let ((merge-rules (get-merge-rules idxcls)) (drop-if-merged-rules (get-drop-if-merged-rules idxcls))) (nconc locrefs (mapcan #'(lambda (locref) (mapcan #'(lambda (catattr) (let ((new-locref (make-layered-location-reference :virtual t :layers (get-layers locref) :ordnums (get-ordnums locref) :catattr catattr :locclass (get-locclass locref) :attribute (get-attribute locref) :string (get-locref-string locref) ))) (when (relation-p drop-if-merged-rules (get-catattr locref) catattr) (set-origin locref new-locref)) (list new-locref))) (relation-set merge-rules (get-catattr locref)))) locrefs)))) ;; line 721 "idxentry.nw" (defun build-ranges-in-locref-class-group (locref-cls-grp idxcls) (let ((locref-same-catattr-grps (split-list #'(lambda (locref) (get-catattr locref)) (get-members locref-cls-grp) :sortfunc #'(lambda (x y) (< (get-processing-ordnum x) (get-processing-ordnum y)))))) (set-members (mapcan #'(lambda (catattr-sublist) (let ((processed-locrefs (build-ranges catattr-sublist idxcls (get-locclass (car catattr-sublist))))) (when *locref-trace* (let ((*print-pretty* t)) (gol t "~&after build-ranges:") (pprint-newline :mandatory *logging-stream*) (pprint-newline :mandatory *logging-stream*) (write processed-locrefs :stream *logging-stream*))) (let ((s2 (mapcar #'(lambda (x) (post-process x #'set-state-deleted)) processed-locrefs))) (when *locref-trace* (let ((*print-pretty* t)) (gol t "~&after set-state-deleted:") (pprint-newline :mandatory *logging-stream*) (pprint-newline :mandatory *logging-stream*) (write s2 :stream *logging-stream*))) s2))) locref-same-catattr-grps) locref-cls-grp))) ;; line 396 "idxentry.nw" (defmethod process-group ((crossref-cls-grp crossref-class-group) (idxcls indexclass)) (let ((cross-references (get-members crossref-cls-grp))) (typecase (get-locclass (car cross-references)) (verified-crossref-location-class (mapc #'(lambda (xref) (let* ((target (get-target xref)) (merge-key-target #+:ORDRULES (gen-keyword-mergekey-list target) #-:ORDRULES target)) (unless (lookup-indexentry merge-key-target) (oops "Cross-reference-target ~S does not exist!" target)))) cross-references)) (unverified-crossref-location-class) (t (error "INTERNAL ERROR in process-group")))) crossref-cls-grp) ;; line 422 "idxentry.nw" (defun remove-virtual-locrefs (locref-cls-grp) (set-members (delete-if #'(lambda (object) (and (typep object 'location-reference) (state-virtual-p object))) (get-members locref-cls-grp)) locref-cls-grp)) ;; line 794 "idxentry.nw" (defclass category-attribute-group (locref-group) ((ordnum :initform 'nil))) (defun separate-into-catattr-groups (locref-cls-grp) (set-members (convert-sublists-to-group-objects (split-list #'(lambda (object) (get-catattr-grp-ordnum (get-catattr object))) (get-members locref-cls-grp) :sortfunc #'<) 'category-attribute-group) locref-cls-grp) (mapc #'(lambda (catattr-grp) (set-ordnum (get-catattr-grp-ordnum (get-catattr (car (get-members catattr-grp)))) catattr-grp) (set-members (sort (tree-location-references (get-members catattr-grp) (get-hierdepth (get-locclass locref-cls-grp))) #'(lambda (object-1 object-2) (let ((ordnum-1 (get-ordnums object-1)) (ordnum-2 (get-ordnums object-2))) (or (locref-ordnum< ordnum-1 ordnum-2) (and (locref-ordnum= ordnum-1 ordnum-2) (< (get-sort-ordnum (get-catattr object-1)) (get-sort-ordnum (get-catattr object-2)))))))) catattr-grp)) (get-members locref-cls-grp)) locref-cls-grp) #| (defun separate-into-catattr-groups-old-version (locref-cls-grp) (set-members (convert-sublists-to-group-objects (split-list #'(lambda (object) (get-catattr-grp-ordnum (get-catattr object))) #'< (get-members locref-cls-grp)) 'category-attribute-group) locref-cls-grp) (mapc #'(lambda (catattr-grp) (set-ordnum (get-catattr-grp-ordnum (get-catattr (car (get-members catattr-grp)))) catattr-grp) (set-members (sort (get-members catattr-grp) #'(lambda (object-1 object-2) (let ((ordnum-1 (get-ordnums object-1)) (ordnum-2 (get-ordnums object-2))) (or (locref-ordnum< ordnum-1 ordnum-2) (and (locref-ordnum= ordnum-1 ordnum-2) (< (get-sort-ordnum (get-catattr object-1)) (get-sort-ordnum (get-catattr object-2)))))))) catattr-grp)) (get-members locref-cls-grp)) locref-cls-grp) |# ;; line 992 "idxentry.nw" (eval-when (compile load eval) ;; line 127 "idxentry.nw" (export '(index-entry make-index-entry add-location-reference-to-indexentry)) ;; line 360 "idxentry.nw" (export '(locref-group get-members locref-class-group crossref-class-group get-locclass make-locref-group process-group process-indexentry)) ;; line 603 "idxentry.nw" (export '(process-group split-same-locrefs apply-substitution-rules substitutable-p)) ;; line 664 "idxentry.nw" (export '(apply-merge-rules)) ;; line 853 "idxentry.nw" (export '(category-attribute-group)) ;; line 1021 "idxentry.nw" (export '(*percentage-list* print-rest-of-percentages print-percent)) ;; line 994 "idxentry.nw" ) ;; line 594 "ranges.nw" ;; $Id: ranges.nw,v 1.11 1997/03/26 16:18:41 kehr Exp $ ;; line 68 "ranges.nw" (defclass location-range () ((length :initarg :length) (first :initarg :first) (last :initarg :last) (layers :initarg :layers) (ordnums :initarg :ordnums) (inner :initarg :inner) (locclass :initarg :locclass) (catattr :initarg :catattr) (subrefs :initform '()))) (defun make-location-range (&key length first last first-ordnum inner locclass) (make-instance 'location-range :length length :first first :last last :inner inner :ordnums first-ordnum :layers (get-layers first) :locclass locclass :catattr (get-catattr first))) ;; line 581 "ranges.nw" (defun ordnum-successor-p (ordnums-1 ordnums-2) (declare (inline)) (and ordnums-1 #|is there really something in it, or we are about to start?|# (equal (butlast ordnums-1) (butlast ordnums-2)) (equal (1+ (car (last ordnums-1))) (car (last ordnums-2))))) ;; line 143 "ranges.nw" (defmethod build-ranges ((locref-list list) (idxcls indexclass) (loccls var-location-class)) locref-list) ;; line 321 "ranges.nw" (defmacro newstat (s) `(setq new-state ,s)) (defmacro pushl () `(progn (setq curr-ordnum (get-ordnums locref)) (unless locref-stack (setq first-ordnum curr-ordnum) (setq first-locref locref)) (setq prev-ordnum curr-ordnum) (push locrefs locref-stack))) (defmacro pushone () `(progn (setq curr-ordnum (get-ordnums locref)) (unless locref-stack (setq first-ordnum curr-ordnum) (setq first-locref locref)) (setq prev-ordnum curr-ordnum) (push (list (car locrefs)) locref-stack))) (defmacro set-open-range () `(setq last-open-locref locref)) (defmacro keep () `(setq back-flag t)) (defmacro make-range () `(setq make-flag t)) ;; line 197 "ranges.nw" (defmethod build-ranges ((locref-list list) (idxcls indexclass) (loccls standard-location-class)) (let ((valid-list (mapcan #'(lambda (locref) (unless (state-deleted-p locref) (list locref))) locref-list))) (ifnot valid-list '() (ifnot (joining-allowed-p loccls) valid-list (let ((same-ordnum-list (split-same-locrefs valid-list)) ;; line 353 "ranges.nw" (locref-stack '()) (result-list '()) (state :START) (join-length (get-join-length loccls)) new-state open-p close-p open+close-p no-typ-p list-end make-flag back-flag locrefs locref last-open-locref first-locref first-ordnum prev-ordnum curr-ordnum ;; line 209 "ranges.nw" ) (loop ;; line 365 "ranges.nw" (setq locrefs (car same-ordnum-list)) (setq list-end (null locrefs)) (setq locref (car locrefs)) (setq open-p (find-if #'(lambda (locref) (rangeattr-open-p (get-rangeattr locref))) locrefs)) (setq close-p (find-if #'(lambda (locref) (rangeattr-close-p (get-rangeattr locref))) locrefs)) (setq open+close-p (and open-p close-p)) (setq no-typ-p (not (or open-p close-p))) ;; line 212 "ranges.nw" (ecase state (:START ;; line 230 "ranges.nw" (cond (list-end (return (apply #'nconc #| see note below for explanation |# (apply #'nconc result-list)))) (no-typ-p (newstat :READ) (pushl)) (open+close-p (newstat :READ) (pushone)) (open-p (newstat :OPEN-RANGE) (pushl) (set-open-range)) (close-p (warn-invalid-close locref) (newstat :START)) (t (error "INTERNAL-ERROR in build-ranges - :START"))) ;; line 213 "ranges.nw" ) (:READ ;; line 267 "ranges.nw" (if list-end (progn (newstat :START) (make-range)) (progn (setq curr-ordnum (get-ordnums locref)) (let ((succ-p (ordnum-successor-p prev-ordnum curr-ordnum))) (cond ((and succ-p no-typ-p) (pushl)) ((and succ-p open+close-p) (pushone)) ((or no-typ-p (not (and succ-p open-p))) (newstat :START) (keep) (make-range)) (open-p (newstat :OPEN-RANGE) (pushl) (set-open-range)) (close-p (warn-invalid-close locref) (newstat :READ)) (t (error "INTERNAL-ERROR in build-ranges - :READ")))))) ;; line 214 "ranges.nw" ) (:OPEN-RANGE ;; line 288 "ranges.nw" (cond (list-end ;; line 297 "ranges.nw" (warn (with-output-to-string (s) (format s "Found no :close-range matching an already opened one!~%") (format s "Location-reference is ~A in keyword ~A.~%" (get-locref-string last-open-locref) (get-main-key *currently-processed-indexentry*)) (format s "Maybe I lost some of the regular location-references.~%"))) ;; line 288 "ranges.nw" (newstat :START)) ((or no-typ-p open+close-p) (pushl)) (open-p ;; line 307 "ranges.nw" (warn (with-output-to-string (s) (format s "Found :open-range that was already opened!~%") (format s "Location-references are ~A and ~A in keyword ~A.~%" (get-locref-string last-open-locref) (get-locref-string locref) (get-main-key *currently-processed-indexentry*)) (format s "I'll continue and ignore this.~%"))) ;; line 291 "ranges.nw" (newstat :OPEN-RANGE)) (close-p (newstat :READ) (pushl)) (t (error "INTERNAL-ERROR in build-ranges - :OPEN-RANGE"))) ;; line 215 "ranges.nw" )) ;; line 402 "ranges.nw" (when make-flag (let ((range-len (- (car (last prev-ordnum)) (car (last first-ordnum))))) (if (>= range-len join-length) (push (list (list (make-location-range :first-ordnum first-ordnum :locclass loccls :inner locref-stack :first first-locref :last (caar locref-stack) :length range-len))) result-list) (push locref-stack result-list)) (setq locref-stack '()) (setq make-flag nil))) (if back-flag (setq back-flag nil) (setq same-ordnum-list (cdr same-ordnum-list))) (setq state new-state) ;; line 216 "ranges.nw" )))))) ;; line 241 "ranges.nw" (defun warn-invalid-close (locref) (warn (with-output-to-string (s) (format s "Found a :close-range in the index that wasn't opened before!~%") (format s "Location-reference is ~A in keyword ~A~%" (get-locref-string locref) (get-main-key *currently-processed-indexentry*)) (format s "I'll continue and ignore this.~%")))) ;; line 509 "ranges.nw" (defmethod post-process ((locrange location-range) (drop-function function)) (let ((locref-list (apply #'nconc (get-inner locrange)))) (cond ((>= (get-length locrange) (get-join-length (get-locclass locrange))) (mapc #'(lambda (locref) (let ((origin (get-origin locref))) (when origin (funcall drop-function origin)))) locref-list) ;;(set-inner '() locrange) locrange) (t locref-list)))) ;(defmethod post-process ((locref-list list) x) ; (declare (ignore x)) ; locref-list) (defmethod post-process ((locref location-reference) x) (declare (ignore x)) locref) ;; line 600 "ranges.nw" (eval-when (compile load eval) ;; line 92 "ranges.nw" (export '(location-range get-first get-last get-length)) ;; line 602 "ranges.nw" ) ;; line 88 "index.nw" (defparameter *index-entry-table* nil) #| faster access to the entry-table |# ;; line 69 "index.nw" (defconstant *all-hierarchy-layers* MOST-POSITIVE-FIXNUM) (defclass base-index () ((entry-table :initform (make-hash-table :test #'equal)) (entry-list :initform '()) (entries :initform '()) (idxclass :initarg :idxclass) (hierdepth :initform *all-hierarchy-layers*))) (defun make-base-index (idxclass) (make-instance 'base-index :idxclass idxclass)) ;; line 542 "index.nw" (defclass letter-group () ((members :initarg :members :type list) (group-definition :initarg :group-definition))) ;; line 555 "index.nw" (defun make-letter-group (members) (make-instance 'letter-group :members members :group-definition (match-letter-group *indexstyle* (car (get-sort-key (car members)))))) ;; line 273 "index.nw" (defun add-layered-locref-indexentry (&key (entry-table *index-entry-table*) (idxcls *indexstyle*) locref main-key (merge-key '()) (print-key '()) (open-range nil) (close-range nil) (catattr nil) (attribute nil)) #+:ASSERT! (assert! (and main-key locref)) (if (and open-range close-range) ;; line 320 "index.nw" (nraw "specification of both :open-range and :close-range is invalid! (ignored)") ;; line 285 "index.nw" (progn (when (or (not catattr) (string= catattr "")) (setq catattr "default")) (let ((catattr-obj (lookup-catattr idxcls catattr))) (if (not catattr-obj) (nraw "unknown attribute `~A'! (ignored)" catattr) (multiple-value-bind (num location-reference) (create-location-reference-from-string locref catattr-obj attribute) (when (eql 1 num) #| ; Only one vaild location-reference! Use #'eql and not #'= since we compare num against NIL, too. |# ;; line 359 "index.nw" #+:ORDRULES (unless merge-key (setq merge-key (gen-keyword-mergekey-list main-key))) #-:ORDRULES (unless merge-key (setq merge-key main-key)) ;; line 301 "index.nw" (cond (open-range (set-rangeattr-open location-reference)) (close-range (set-rangeattr-close location-reference))) (let ((old-entry (gethash merge-key entry-table))) (if old-entry (setf (gethash merge-key entry-table) (join-indexentries old-entry;;(gethash merge-key entry-table) main-key print-key location-reference)) (setf (gethash merge-key entry-table) (make-index-entry :main-key main-key :merge-key merge-key :print-key print-key :locrefs (list location-reference) :indexclass idxcls))))))))))) ;; line 324 "index.nw" (defun add-crossref-indexentry (&key (entry-table *index-entry-table*) (idxcls *indexstyle*) (merge-key '()) (print-key '()) main-key xref xref-class-name (attribute nil)) #+:ASSERT! (assert! (and main-key xref xref-class-name)) (unless xref-class-name (setq xref-class-name "default")) (let ((xref-class (cdr (lookup-crossref-class idxcls xref-class-name)))) (if (not xref-class) (nraw "unknown cross-reference-class `~A'! (ignored)~%" xref-class-name) (let ((cross-reference (create-cross-reference xref-class xref attribute))) (when cross-reference ;; line 359 "index.nw" #+:ORDRULES (unless merge-key (setq merge-key (gen-keyword-mergekey-list main-key))) #-:ORDRULES (unless merge-key (setq merge-key main-key)) ;; line 344 "index.nw" (let ((old-entry (gethash merge-key entry-table))) (if old-entry (setf (gethash merge-key entry-table) (join-indexentries old-entry ;;(gethash merge-key entry-table) main-key print-key cross-reference)) (setf (gethash merge-key entry-table) (make-index-entry :main-key main-key :merge-key merge-key :print-key print-key :locrefs (list cross-reference) :indexclass idxcls))))))))) ;; line 367 "index.nw" #+:ORDRULES (defun gen-keyword-mergekey-list (list-of-strings) #+ASSERT! (assert! (and (not (null list-of-strings)) (listp list-of-strings))) (let ((res (mapcar #'(lambda (str) (gen-keyword-mergekey str)) list-of-strings))) (flush-ordrules-message-buffer) res)) #+:ORDRULES (defun gen-keyword-sortkey-list (list-of-strings run) #+ASSERT! (assert! (and (not (null list-of-strings)) (listp list-of-strings) (<= 0 run) (run < 8))) (let ((res (mapcar #'(lambda (str) (gen-keyword-sortkey str run)) list-of-strings))) (flush-ordrules-message-buffer) res)) ;; line 398 "index.nw" (defun join-indexentries (idxent main-key print-key locref) (let ((old-main-key (get-main-key idxent)) (old-print-key (get-print-key idxent))) (unless old-main-key (set-main-key main-key idxent)) (set-print-key (mapcar #'(lambda (old curr) (or old curr)) old-print-key print-key) idxent) ;; (info "~&(join-indexentries :old-main-key ~S :old-print-key ~S :new-print-key ~S)" ;; old-main-key old-print-key (get-print-key idxent)) (add-location-reference-to-indexentry idxent locref))) ;; line 438 "index.nw" (defun create-location-reference-from-string (locref-str catattr attribute) (let* ((idxcls *indexstyle*)) (multiple-value-bind (num locref) (lookup-locref-cache idxcls locref-str) (if num #| something was found! |# (case num (0 ;; line 474 "index.nw" (nraw "location-reference ~S did not match any location-class! (ignored)" locref-str) ;; line 445 "index.nw" (values nil nil)) (1 (values 1 (copy-locref-from-template locref catattr attribute)) #| return its only member |#) (t ;; line 469 "index.nw" (nraw "location-reference ~S did match multiple location-classes! (taking first one)" locref-str) ;; line 449 "index.nw" (values num (copy-locref-from-template locref catattr attribute)) #| return a copy of the stored template |#)) (let ((locref-list (map-location-classes idxcls #'(lambda (idxcls loccls) (declare (ignore idxcls)) (build-location-reference loccls locref-str catattr attribute))))) (case (length locref-list) (0 ;; line 474 "index.nw" (nraw "location-reference ~S did not match any location-class! (ignored)" locref-str) ;; line 460 "index.nw" (add-locref-cache idxcls locref-str 0 nil)) (1 (add-locref-cache idxcls locref-str 1 (car locref-list)) #| return its only member |#) (t ;; line 469 "index.nw" (nraw "location-reference ~S did match multiple location-classes! (taking first one)" locref-str) ;; line 464 "index.nw" (add-locref-cache idxcls locref-str 1 (car locref-list)) #| return its first member |#))))))) ;; line 482 "index.nw" (defun copy-locref-from-template (locref catattr attribute) (declare (inline)) (make-layered-location-reference :catattr catattr :attribute attribute :string (get-locref-string locref) :locclass (get-locclass locref) :layers (copy-list (get-layers locref)) :ordnums (copy-list (get-ordnums locref)))) ;; line 727 "index.nw" (defun sort-indexentries (indexentries) #+:ASSERT! (assert! (listp indexentries)) (gol t "~&sort-indexentries: ~S" *sort-rule-orientations*) (sort indexentries #'(lambda (idxent-1 idxent-2) (multiple-value-bind (less-equal? equal?) (strlist<= (get-sort-key idxent-1) (get-sort-key idxent-2) (first *sort-rule-orientations*)) (if equal? (sort-other-runs (get-merge-key idxent-1) (get-merge-key idxent-2) (rest *sort-rule-orientations*) 1) less-equal?))))) ;; line 751 "index.nw" (defun sort-other-runs (merge-key-1 merge-key-2 orientations run) (gol t "~&sort-other-runs: ~S ~S ~S ~S." merge-key-1 merge-key-2 orientations run) (cond ((endp orientations) (nraw "Sort rules could not define exact order of key ~S." merge-key-1) nil) (t (let ((key-1 (mapcar #'(lambda (key) (gen-keyword-sortkey key run)) merge-key-1)) (key-2 (mapcar #'(lambda (key) (gen-keyword-sortkey key run)) merge-key-2))) (flush-ordrules-message-buffer) (multiple-value-bind (less-equal? equal?) (strlist<= key-1 key-2 (first orientations)) (if equal? (sort-other-runs merge-key-1 merge-key-2 (rest orientations) (1+ run)) less-equal?)))))) ;; line 782 "index.nw" (defun oriented-string (string orientation) (declare (inline)) (cond ((eql orientation 'forward) string) ((eql orientation 'backward) (reverse string)) (t (error "INDEX:ORIENTED-STRING wrong orientation!")))) ;; line 793 "index.nw" (defun strlist<= (slist-1 slist-2 orientation) (declare (inline)) (cond ((endp slist-1) (values t (endp slist-2))) ((endp slist-2) (values nil nil)) (t (let ((str-1 (oriented-string (first slist-1) orientation)) (str-2 (oriented-string (first slist-2) orientation))) (let ((pos (string/= str-1 str-2))) (if pos (let ((lt (string< str-1 str-2))) (if lt (values t nil) (values nil (string= str-1 str-2)))) (strlist<= (cdr slist-1) (cdr slist-2) orientation))))))) #| (strlist<= '("foo") '("foo") 'forward) (strlist<= '("fool") '("foo") 'forward) (strlist<= '("foo") '("fool") 'forward) (strlist<= '("foo") '("fool") 'backward) (strlist<= '("foo") '("foo" "bar") 'forward) (strlist<= '("foo" "bar") '("foo") 'forward) (strlist<= '("foo" "bar") '("foo") 'backward) |# #+OLDVER (defun strlist< (string-list-1 string-list-2) (declare (inline)) (do ((rest-1 string-list-1 (cdr rest-1)) (rest-2 string-list-2 (cdr rest-2))) ((or (endp rest-1) (endp rest-2) (string/= (first rest-1) (first rest-2))) (or (endp rest-1) (if (endp rest-2) 'nil (string< (first rest-1) (first rest-2))))))) ;; line 504 "index.nw" (defmethod process-index ((index base-index)) (let ((hash-list '())) (maphash #'(lambda (key idxentry) (declare (ignore key)) (setq hash-list (cons idxentry hash-list))) (get-entry-table index)) (set-entry-list hash-list index) (build-indexentry-tree index) (setq *number-of-indexentries* (length (get-entry-list index))) (setq *current-number* 0) (setq *percentage-list* (mapcar #'(lambda (percent) (cons (truncate (* (/ percent 100) *number-of-indexentries*)) percent)) ;; MOST-POSITIVE-FIXNUM acts as sentinel such that ;; we never run out of elements `(10 20 30 40 50 60 70 80 90 100 ,MOST-POSITIVE-FIXNUM))) (setq *processing-percentage-list* *percentage-list*) (mapc #'process-indexentry (get-entry-list index)) (print-rest-of-percentages *processing-percentage-list*) index)) ;; line 568 "index.nw" (defmethod build-indexentry-tree ((index base-index)) (let ((index-hierdepth (get-hierdepth index))) (gol t "~&~%Building indexentry-tree:~%") (gol t "Hierdepth of index is ~S~%~%" (if (= index-hierdepth most-positive-fixnum) :tree index-hierdepth)) (set-entries (build-indexentry-tree-recursive (get-entry-list index) index-hierdepth) index) (gol t "~&~%Forming letter-groups:~%") (let ((letter-groups (split-list #'(lambda (idxent) (get-ordnum (match-letter-group *indexstyle* (car (get-sort-key idxent))))) (get-entries index) :sortfunc #'<))) (set-entries (mapcar #'(lambda (lg-indexentries) (make-letter-group (sort-indexentries lg-indexentries))) letter-groups) index)))) ;; line 622 "index.nw" (defun build-indexentry-tree-recursive (idxent-list max-depth &optional (curr-depth 1)) (cond ((endp idxent-list) idxent-list) #| nothing more to do |# ((> curr-depth max-depth) #| we reached the end |# (gen-all-sort-keys idxent-list) #| this is the then case |# ) (t (let ((idxent-slist (split-list #'(lambda (idxent) (car (get-merge-key idxent))) idxent-list :headfunc #'(lambda (idxent) (= 1 (length (get-merge-key idxent))))))) (mapcar #'(lambda (sublist) (let* ((idxent (car sublist)) (merge-key (get-merge-key idxent))) (if (= 1 (length merge-key)) (progn #| length = 1 |# (set-sort-key #-:ORDRULES merge-key #+:ORDRULES (gen-keyword-sortkey-list merge-key 0) idxent) (set-subentries (sort-indexentries (build-indexentry-tree-recursive (remove-first-keywords (cdr sublist)) max-depth (1+ curr-depth))) idxent) idxent) (let* #| length > 1 |# ((main-key (get-main-key idxent)) (new-merge-key (take-first merge-key)) (some-print-key (find-print-key sublist)) (new-print-key (list (or some-print-key (car main-key)))) (new-idxent (make-index-entry :main-key (take-first main-key) :merge-key new-merge-key :print-key new-print-key :sort-key #-:ORDRULES new-merge-key #+:ORDRULES (gen-keyword-sortkey-list new-merge-key 0) :idxclass (get-idxclass idxent)))) ;; (info "~&(treeing :main ~S :some-print ~S :new-print ~S)" ;; main-key some-print-key new-print-key) (set-subentries (sort-indexentries (build-indexentry-tree-recursive (remove-first-keywords sublist) max-depth (1+ curr-depth))) new-idxent) new-idxent)))) idxent-slist))))) (defun find-print-key (idxent-list) (some #'(lambda (idxent) (car (get-print-key idxent))) idxent-list)) ;; line 689 "index.nw" (defun remove-first-keywords (idxent-list) (declare (inline)) (mapc #'(lambda (idxent) (setf (slot-value idxent 'merge-key) (cdr (slot-value idxent 'merge-key))) (setf (slot-value idxent 'main-key) (cdr (slot-value idxent 'main-key))) (setf (slot-value idxent 'print-key) (cdr (slot-value idxent 'print-key))) ) idxent-list) idxent-list) ;; line 713 "index.nw" (defun gen-all-sort-keys (idxent-list) (when idxent-list (mapc #'(lambda (idxent) (set-sort-key #-:ORDRULES (get-merge-key idxent) #+:ORDRULES (gen-keyword-sortkey-list (get-merge-key idxent) 0) idxent)) idxent-list)) idxent-list) ;; line 94 "index.nw" (defparameter *index* nil) (defun create-index () (setq *index* (make-base-index *indexstyle*)) (setq *index-entry-table* (get-entry-table *index*)) *index*) (create-index) ;; line 421 "index.nw" (defun lookup-indexentry (key &optional (index-entry-table *index-entry-table*)) (gethash key index-entry-table)) ;; line 258 "index.nw" (eval-when (compile load eval) (defparameter *raw-index-interface-definitions* '(indexentry))) ;; line 165 "index.nw" (defmacro indexentry (&whole whole &rest args) (destructuring-switch-bind (&key key print tkey merge attr locref xref &switch (open-range :open-range) (close-range :close-range)) args (cond ((not (or key tkey)) (error "missing argument :key or :tkey in~%~S.")) ((and key tkey) (error "you can't specify :key and :tkey at the same time in~%~S." whole)) ((and locref xref) ;; line 213 "index.nw" (error "you can't specify :locref and :xref at the same time in~%~S." whole) ;; line 177 "index.nw" ) (t (progn (if tkey (multiple-value-setq (key print) (tkey-to-normal-key tkey whole)) (when print;; check for correct key-length (let ((keylen (length key))) (unless (= keylen (length print)) (setq print;; take the first keylen elmts of print (mapcar #'(lambda (x y) (declare (ignore y)) x) key (append print (make-list keylen)))))))) (cond ((not (listp key)) (error ":key ~S is not a list in~%~S." key whole)) ((not (listp print)) (error ":print ~S is not a list in~%~S." print whole)) (locref `(ADD-LAYERED-LOCREF-INDEXENTRY :MAIN-KEY ',key :PRINT-KEY ',print :MERGE-KEY ',merge :CATATTR ',attr :LOCREF ',locref :OPEN-RANGE ',open-range :CLOSE-RANGE ',close-range)) (xref (when (or open-range close-range) ;; line 221 "index.nw" (error "you can't specify :open-range or :close-range with :xref at the same time in~%~S." whole) ;; line 202 "index.nw" ) (unless attr ;; line 217 "index.nw" (error "missing :attr in combination with :xref in~%~S." whole) ;; line 203 "index.nw" ) `(ADD-CROSSREF-INDEXENTRY :MAIN-KEY ',key :PRINT-KEY ',print :XREF ',xref :XREF-CLASS-NAME ',attr)) (t ;; line 226 "index.nw" (error "you must at least specify :locref or :xref in~%~S." whole) ;; line 209 "index.nw" ))))))) ;; line 238 "index.nw" (defun tkey-to-normal-key (tkey whole) (when (not (listp tkey)) ;; line 254 "index.nw" (error "INDEXENTRY: invalid structure of :tkey in~%~S." tkey whole) ;; line 239 "index.nw" ) (let ((main-key '()) (print-key '())) (mapc #'(lambda (key-elt) (cond ((listp key-elt) (push (car key-elt) main-key) (if (cdr key-elt) (push (cadr key-elt) print-key) (push nil print-key))) (t ;; line 254 "index.nw" (error "INDEXENTRY: invalid structure of :tkey in~%~S." tkey whole) ;; line 248 "index.nw" ))) tkey) (values (nreverse main-key) (nreverse print-key)))) ;; line 889 "index.nw" (eval-when (compile load eval) ;; line 83 "index.nw" (export '(base-index make-base-index get-entries)) ;; line 105 "index.nw" (export '(*index* create-index)) ;; line 264 "index.nw" (export '*raw-index-interface-definitions*) (export *raw-index-interface-definitions*) ;; line 412 "index.nw" (export '(add-locref-indexentry add-crossref-indexentry)) ;; line 530 "index.nw" (export '(process-index)) ;; line 564 "index.nw" (export '(letter-group get-members get-group-definition)) ;; line 891 "index.nw" ) ;; line 1029 "idxentry.nw" #+:XP (set-pprint-dispatch 'index-entry #'(lambda (s idxent) (pprint-logical-block (s nil :suffix "}") (pprint-indent :block 2 s) (write-string "Indexentry {" s) (pprint-newline :mandatory s) (write-string "main-key: " s) (write (get-main-key idxent) :stream s) (pprint-newline :mandatory s) (write-string "merge-key: " s) (write (get-merge-key idxent) :stream s) (pprint-newline :mandatory s) (write-string "sort-key: " s) (write (get-sort-key idxent) :stream s) (pprint-newline :mandatory s) (pprint-logical-block (s nil :suffix "}") (write-string "Locrefs {" s) (pprint-indent :block 2) (pprint-newline :mandatory s) (pprint-linear s (get-locrefs idxent))) (pprint-newline :mandatory s) (pprint-logical-block (s nil :suffix "}") (write-string "Subentries {" s) (pprint-indent :block 2) (pprint-newline :mandatory s) (pprint-linear s (get-subentries idxent))) (pprint-newline :mandatory s)) )) ;; line 1071 "idxentry.nw" #+:XP (defun pprint-locref-group (s grp name) (format s "~%") (pprint-logical-block (s nil :prefix "(" :suffix ")") (write-string name s) (write-string ":" s) (when (typep grp 'category-attribute-group) (write (get-ordnum grp) :stream s)) (pprint-indent :block 2 s) (pprint-newline :mandatory s) (pprint-fill s (get-members grp) nil) (pprint-indent :block -1 s) (pprint-newline :mandatory s))) #+:XP (defun set-pprint-locref-group-dispatch (class name &optional (rank 0)) (set-pprint-dispatch class #'(lambda (s grp) (pprint-locref-group s grp name)) rank)) ;; line 1107 "idxentry.nw" #+:XP (set-pprint-locref-group-dispatch 'locref-group "LOCREF-GROUP" 0) #+:XP (set-pprint-locref-group-dispatch 'locref-class-group "LOCREF-CLASS-GROUP" 1) #+:XP (set-pprint-locref-group-dispatch 'crossref-class-group "CROSSREF-CLASS-GROUP" 2) #+:XP (set-pprint-locref-group-dispatch 'category-attribute-group "CATEGORY-ATTRIBUTE-GROUP" 3) ;; line 614 "ranges.nw" #+:XP (defun pprint-location-range (s range) (pprint-logical-block (s nil :prefix "[" :suffix "]") (format s "range: ~D " (get-length range)) (pprint-newline :fill s) (write-string " loccls: " s) (write (get-locclass range) :stream s) (pprint-newline :fill s) (write-string " catattr: " s) (write (get-catattr range) :stream s) (format s "/~D" (get-sort-ordnum (get-catattr range))) (pprint-newline :fill s) (format s " ordnums: ~A " (get-ordnums range)) (pprint-newline :fill s) (pprint-logical-block (s nil :prefix "<" :suffix ">") (write-string "first " s) (pprint-newline :miser s) (write (get-first range) :stream s)) (pprint-newline :mandatory s) (pprint-logical-block (s nil :prefix "<" :suffix ">") (write-string "inner " s) (pprint-newline :linear s) (write (get-inner range) :stream s)) (pprint-newline :mandatory s) (pprint-logical-block (s nil :prefix "<" :suffix ">") (write-string "last " s) (pprint-newline :miser s) (write (get-last range) :stream s)) (pprint-newline :mandatory s))) #+:XP (set-pprint-dispatch 'location-range #'pprint-location-range) ;; line 868 "index.nw" (defvar *RCS-Identifier* '( ;; line 998 "idxentry.nw" ("idxentry" . "$Id: idxentry.nw,v 1.29 1997/03/27 17:17:25 kehr Exp $") ;; line 895 "index.nw" ("index" . "$Id: index.nw,v 1.31 1997/03/26 16:18:37 kehr Exp $") ;; line 606 "ranges.nw" ("ranges" . "$Id: ranges.nw,v 1.11 1997/03/26 16:18:41 kehr Exp $") ;; line 868 "index.nw" )) xindy-2.5.1.20160104/src/locref.lsp000066400000000000000000000500011264235421100163230ustar00rootroot00000000000000;; line 360 "locref.nw" ;; $Id: locref.nw,v 1.29 1997/03/26 16:18:53 kehr Exp $ (lisp:defpackage "LOCREF") (lisp:in-package "LOCREF") (lisp:provide "locref") #+CLISP (lisp:require "base") (eval-when (compile load eval) #-CLISP (lisp:require "base") (lisp:use-package "BASE") #+(and :XP CLISP) (lisp:use-package "XP") (lisp:use-package "CLOS")) ;; line 251 "basetype.nw" ;; $Id: basetype.nw,v 1.17 1997/03/26 16:18:47 kehr Exp $ ;; line 110 "basetype.nw" (defgeneric prefix-match (str object)) ;; line 114 "basetype.nw" (defclass basetype () ((name :initarg :name) (base-alphabet :initarg :base-alphabet))) ;; line 142 "basetype.nw" (defclass alphabet (basetype) ((symbols :initarg :symbols))) (defun make-alphabet (name symbols) (make-instance 'alphabet :name name :symbols symbols :base-alphabet (calculate-base-alphabet symbols))) (defmethod make-copy ((alph alphabet) new-name) (make-instance 'alphabet :name new-name :symbols (get-symbols alph) :base-alphabet (get-base-alphabet alph))) ;; line 163 "basetype.nw" (defun calculate-base-alphabet (list-of-strings) (sort (remove-duplicates (apply #'nconc (mapcar #'(lambda (str) (coerce str 'list)) list-of-strings))) #'char<)) ;; line 183 "basetype.nw" (defmethod prefix-match ((str string) (alph alphabet)) (multiple-value-bind (matched-string rest-string order-num) (prefix-match-stringlist str (get-symbols alph)) (values matched-string rest-string order-num))) (defun prefix-match-stringlist (pattern list-of-str) (let* ((matched-string "") (rest-string pattern) (ordnum-of-max-match nil) (len-max-match 0) (strlen (length pattern))) (do ((ordnum 0 (1+ ordnum)) (string-list list-of-str (cdr string-list))) ((endp string-list)) (let ((len-curr-match (string/= pattern (car string-list)))) (when (null len-curr-match) (setq len-curr-match strlen)) (when (> len-curr-match len-max-match) (setq ordnum-of-max-match ordnum) (setq len-max-match len-curr-match) (setq rest-string (subseq pattern len-curr-match)) (setq matched-string (subseq (car string-list) 0 len-curr-match))))) (values matched-string rest-string ordnum-of-max-match))) ;; line 227 "basetype.nw" (defclass enumeration (basetype) ()) (defun make-enumeration (enum-class name base-alphabet) (make-instance enum-class :name name :base-alphabet base-alphabet)) (defmethod make-copy ((enum enumeration) new-name) (make-instance (class-name (class-of enum)) :name new-name :base-alphabet (get-base-alphabet enum))) ;; line 257 "basetype.nw" (eval-when (compile load eval) ;; line 120 "basetype.nw" (export '(basetype prefix-match get-name get-base-alphabet)) ;; line 157 "basetype.nw" (export '(alphabet make-alphabet get-symbols make-copy)) ;; line 242 "basetype.nw" (export '(enumeration make-enumeration)) ;; line 259 "basetype.nw" ) ;; line 493 "locclass.nw" ;; $Id: locclass.nw,v 1.21 1997/03/26 16:18:49 kehr Exp $ ;; line 67 "locclass.nw" (defclass location-class () ((name :type string :initarg :name) (ordnum :type number :initform (gen-next-loccls-ordnum)))) ;; line 87 "locclass.nw" (defparameter *curr-loccls-ordnum* 0) (defun gen-next-loccls-ordnum () (incf *curr-loccls-ordnum*)) ;; line 106 "locclass.nw" (defclass layered-location-class (location-class) ((layers :initarg :layers) (hierdepth :initarg :hierdepth))) ;; line 125 "locclass.nw" (defclass standard-location-class (layered-location-class) ((join-length :initarg :join-length))) (defun make-standard-location-class (name layers join-length hierdepth) (make-instance 'standard-location-class :name name :layers layers :join-length join-length :hierdepth hierdepth)) ;; line 135 "locclass.nw" (defmacro joining-allowed-p (loccls) `(SLOT-VALUE ,loccls 'JOIN-LENGTH)) ;; line 144 "locclass.nw" (defun checked-make-standard-location-class (name layers join-layers &optional (hierdepth 0)) (make-standard-location-class name layers join-layers hierdepth)) ;; line 163 "locclass.nw" (defclass var-location-class (layered-location-class) ()) (defun make-var-location-class (name layers hierdepth) (make-instance 'var-location-class :name name :layers layers :hierdepth hierdepth)) ;; line 172 "locclass.nw" (defun checked-make-var-location-class (name layers &optional (hierdepth 0)) (make-var-location-class name layers hierdepth)) ;; line 189 "locclass.nw" (defclass loccls-layer () ((basetype :initarg :basetype))) (defun make-loccls-layer (basetype) (make-instance 'loccls-layer :basetype basetype)) ;; line 206 "locclass.nw" (defmethod prefix-match ((locstring string) (layer loccls-layer)) (prefix-match locstring (get-basetype layer))) ;; line 220 "locclass.nw" (defclass loccls-separator () ((separator :initarg :separator))) (defun make-loccls-separator (separator) (make-instance 'loccls-separator :separator separator)) ;; line 246 "locclass.nw" (defmethod prefix-match ((locstring string) (separator loccls-separator)) (let* ((sepstr (get-separator separator)) (seplen (length sepstr)) (match-len (string/= sepstr locstring))) (if (or (null match-len) (eql seplen match-len)) (values locstring (subseq locstring seplen) t) (values nil nil nil)))) ;; line 273 "locclass.nw" (defclass crossref-location-class (location-class) ((target :initarg :target))) ;; line 299 "locclass.nw" (defclass verified-crossref-location-class (crossref-location-class) ()) (defun make-verified-crossref-location-class (name) (make-instance 'verified-crossref-location-class :name name)) ;; line 319 "locclass.nw" (defclass unverified-crossref-location-class (crossref-location-class) ()) (defun make-unverified-crossref-location-class (name) (make-instance 'unverified-crossref-location-class :name name)) ;; line 374 "locclass.nw" (defgeneric perform-match (locstring locclass)) ;; line 402 "locclass.nw" (defmethod perform-match ((locstring string) (loccls standard-location-class)) (let ((layer-list '()) (ordnum-list '()) (give-up nil) (matched-string nil) (rest-string nil) (ordnum nil)) (do ((layers (get-layers loccls) (cdr layers))) ((or give-up (let ((empty-string (= 0 (length locstring))) (empty-list (endp layers))) (cond ((and empty-string empty-list) t) ((or empty-string empty-list) (setq give-up t)) (t nil))))) (let ((curr-layer (car layers))) (multiple-value-setq (matched-string rest-string ordnum) (prefix-match locstring curr-layer)) (cond ((eq ordnum nil) (setq give-up t)) ((numberp ordnum) (setq locstring rest-string) (setq layer-list (cons matched-string layer-list)) (setq ordnum-list (cons ordnum ordnum-list))) (t (setq locstring rest-string))) )) (if (not give-up) (values (nreverse layer-list) (nreverse ordnum-list)) (values nil nil)))) ;; line 446 "locclass.nw" (defmethod perform-match ((locstring string) (loccls var-location-class)) (let ((layer-list '()) (ordnum-list '()) (give-up nil) (matched-string nil) (rest-string nil) (ordnum nil)) (do ((layers (get-layers loccls) (cdr layers))) ((or give-up (let ((empty-string (= 0 (length locstring))) (empty-list (endp layers))) (cond (empty-string t) (empty-list (setq give-up t)) (t nil))))) (let ((curr-layer (car layers))) (multiple-value-setq (matched-string rest-string ordnum) (prefix-match locstring curr-layer)) (cond ((eq ordnum nil) (setq give-up t)) ((numberp ordnum) (setq locstring rest-string) (setq layer-list (cons matched-string layer-list)) (setq ordnum-list (cons ordnum ordnum-list))) (t (setq locstring rest-string))) )) (if (not give-up) (values (nreverse layer-list) (nreverse ordnum-list)) (values nil nil)))) ;; line 482 "locclass.nw" ;; FIXME (do we need this) ;;(defmethod perform-match ((locstring string) ;; (loccls crossref-location-class)) ;; t) ;; line 507 "locclass.nw" (eval-when (compile load eval) ;; line 94 "locclass.nw" (export '(location-class perform-match get-name get-ordnum set-ordnum ordnum)) ;; line 112 "locclass.nw" (export '(layered-location-class)) ;; line 150 "locclass.nw" (export '(standard-location-class checked-make-standard-location-class get-join-length set-join-length joining-allowed-p join-length)) ;; line 177 "locclass.nw" (export '(var-location-class checked-make-var-location-class)) ;; line 197 "locclass.nw" (export '(loccls-layer make-loccls-layer get-basetype get-markup)) ;; line 228 "locclass.nw" (export '(loccls-separator make-loccls-separator get-separator get-markup)) ;; line 278 "locclass.nw" (export '(crossref-location-class get-target)) ;; line 307 "locclass.nw" (export '(verified-crossref-location-class make-verified-crossref-location-class)) ;; line 327 "locclass.nw" (export '(unverified-crossref-location-class make-unverified-crossref-location-class)) ;; line 183 "locref.nw" (export '(crossref-location-reference create-cross-reference)) ;; line 215 "locref.nw" (export 'build-location-reference) ;; line 509 "locclass.nw" ) ;; line 56 "locref.nw" (defclass location-reference () ((locclass :initarg :locclass) (attribute :initarg :attribute))) ;; line 78 "locref.nw" (defclass layered-location-reference (location-reference) ((layers :initarg :layers) (locref-string :initarg :string :type string) (ordnums :initarg :ordnums) (catattr :initarg :catattr) (state :initarg :state) (rangeattr :initform 'nil) (origin :initform 'nil) (subrefs :initform '() :type list))) ;; line 95 "locref.nw" (defun make-layered-location-reference (&key (string "") (layers '()) (ordnums '()) (catattr nil) (locclass nil) (attribute nil) (virtual nil)) (make-instance 'layered-location-reference :string string :layers layers :ordnums ordnums :catattr catattr :locclass locclass :attribute attribute :state (if virtual 'locref-state-virtual 'locref-state-normal))) ;; line 116 "locref.nw" (defmacro state-normal-p (locref) `(EQL 'LOCREF-STATE-NORMAL (SLOT-VALUE ,locref 'STATE))) (defmacro state-virtual-p (locref) `(EQL 'LOCREF-STATE-VIRTUAL (SLOT-VALUE ,locref 'STATE))) (defmacro state-deleted-p (locref) `(EQL 'LOCREF-STATE-DELETED (SLOT-VALUE ,locref 'STATE))) (defun set-state-normal (locref) (set-state 'locref-state-normal locref) locref) (defun set-state-virtual (locref) (set-state 'locref-state-virtual locref) locref) (defun set-state-deleted (locref) (set-state 'locref-state-deleted locref) locref) ;; line 139 "locref.nw" (defmacro rangeattr-open-p (attr) `(EQL ,attr :RANGEATTR-OPEN)) (defmacro rangeattr-close-p (attr) `(EQL ,attr :RANGEATTR-CLOSE)) (defmacro set-rangeattr-open (locref) `(SETF (SLOT-VALUE ,locref 'RANGEATTR) :RANGEATTR-OPEN)) (defmacro set-rangeattr-close (locref) `(SETF (SLOT-VALUE ,locref 'RANGEATTR) :RANGEATTR-CLOSE)) ;; line 241 "locref.nw" (defclass category-attribute () ((name :initarg :name) (catattr-grp-ordnum :initarg :ordnum) (sort-ordnum :initform 0) (processing-ordnum :initform 0) (last-in-group :initarg :type))) (defun make-category-attribute (attr-name) (make-instance 'category-attribute :name attr-name)) ;; line 174 "locref.nw" (defclass crossref-location-reference (location-reference) ((target :initarg :target))) (defun create-cross-reference (loccls target attribute) (make-instance 'crossref-location-reference :locclass loccls :target target :attribute attribute)) ;; line 201 "locref.nw" (defmethod build-location-reference ((locclass layered-location-class) (locref-str string) (catattr category-attribute) attribute) (multiple-value-bind (layers ordnums) (perform-match locref-str locclass) (and layers ordnums (make-layered-location-reference :locclass locclass :layers layers :ordnums ordnums :catattr catattr :attribute attribute :string locref-str)))) ;; line 288 "locref.nw" (defun locref-class< (locref-1 locref-2) (declare (inline)) (< (get-ordnum (get-locclass locref-1)) (get-ordnum (get-locclass locref-2)))) (defun locref-class= (locref-1 locref-2) (declare (inline)) (eql (get-locclass locref-1) (get-locclass locref-2))) ;; line 301 "locref.nw" (defmacro locref-ordnum< (ordnum-list-1 ordnum-list-2) `(COND ((EQUAL ,ordnum-list-1 ,ordnum-list-2) NIL) (T (DO ((REST-1 ,ordnum-list-1 (CDR REST-1)) (REST-2 ,ordnum-list-2 (CDR REST-2))) ((OR (ENDP REST-1) (ENDP REST-2) (/= (FIRST REST-1) (FIRST REST-2))) (COND ((ENDP REST-1) T) ((ENDP REST-2) NIL) (T (< (FIRST REST-1) (FIRST REST-2))))))))) (defmacro locref-ordnum= (ordnum-list-1 ordnum-list-2) `(EQUAL ,ordnum-list-1 ,ordnum-list-2)) ;; line 320 "locref.nw" #| FIXME (defun locref< (locref-1 locref-2) (cond ((locref-class= locref-1 locref-2) (locref-ordnum< locref-1 locref-2)) (t (locref-class< locref-1 locref-2)))) |# (defmethod locref= ((locref-1 crossref-location-reference) (locref-2 layered-location-reference)) nil) (defmethod locref= ((locref-1 layered-location-reference) (locref-2 crossref-location-reference)) nil) (defmethod locref= ((locref-1 crossref-location-reference) (locref-2 crossref-location-reference)) (and (locref-class= locref-1 locref-2) (equal (get-target locref-1) (get-target locref-2)))) (defmethod locref= ((locref-1 layered-location-reference) (locref-2 layered-location-reference)) (and (locref-class= locref-1 locref-2) (eql (get-catattr locref-1) (get-catattr locref-2)) (locref-ordnum= (get-ordnums locref-1) (get-ordnums locref-2)) (eql (get-rangeattr locref-1) (get-rangeattr locref-2)))) ;; line 391 "locref.nw" (eval-when (compile load eval) ;; line 62 "locref.nw" (export 'location-reference) ;; line 153 "locref.nw" (export '(layered-location-reference make-layered-location-reference get-layers set-layers layers get-ordnums set-ordnums ordnums get-subrefs set-subrefs subrefs get-catattr catattr get-rangeattr rangeattr get-locref-string string get-origin set-origin state state-normal-p state-virtual-p state-deleted-p set-state-normal set-state-virtual set-state-deleted set-rangeattr-open set-rangeattr-close rangeattr-open-p rangeattr-close-p)) ;; line 257 "locref.nw" (export '(category-attribute make-category-attribute get-name catattr-grp-ordnum get-catattr-grp-ordnum set-catattr-grp-ordnum get-sort-ordnum set-sort-ordnum get-processing-ordnum set-processing-ordnum get-last-in-group set-last-in-group get-type set-type get-markup set-markup)) ;; line 350 "locref.nw" (export '(locref-class< locref-class= locref-ordnum< locref-ordnum= locref=)) ;; line 393 "locref.nw" ) ;; line 521 "locclass.nw" #+:XP (set-pprint-dispatch 'location-class #'(lambda (s loccls) (pprint-logical-block (s nil :prefix "{" :suffix "}") (write (get-name loccls) :stream s) (write-string ":" s) (write (get-ordnum loccls) :stream s)))) #+:XP (set-pprint-dispatch 'layered-location-class #'(lambda (s loccls) (pprint-logical-block (s nil :prefix "{" :suffix "}") (write (get-name loccls) :stream s) (write-string ":" s) (write (get-ordnum loccls) :stream s) (mapc #'(lambda (x) (write-string " " s) (pprint x s)) (get-layers loccls))))) #+:XP (set-pprint-dispatch 'loccls-layer #'(lambda (s layer) (pprint-logical-block (s nil :prefix "<" :suffix ">") (pprint (get-basetype layer) s)))) #+:XP (set-pprint-dispatch 'loccls-separator #'(lambda (s sep) (pprint-logical-block (s nil :prefix "<" :suffix ">") (write (get-separator sep) :stream s)))) ;; line 406 "locref.nw" #+:XP (defun pprint-layered-location-reference (s locref) (pprint-logical-block (s nil :prefix "[" :suffix "]") (cond ((state-normal-p locref) (write-string "Nor:" s)) ((state-virtual-p locref) (write-string "Vir:" s)) (t (write-string "Del:" s))) (cond ((rangeattr-open-p (get-rangeattr locref)) (write-string "OPEN:" s)) ((rangeattr-close-p (get-rangeattr locref)) (write-string "CLOSE:" s))) (write-string "\"" s) (write-string (get-locref-string locref) s) (write-string "\"=" s) (write (get-layers locref) :stream s) (write-string "=" s) (write (get-ordnums locref) :stream s) (write-string ";" s) (pprint-newline :fill s) (write (get-locclass locref) :stream s) (write-string ";" s) (pprint-newline :fill s) (write (get-catattr locref) :stream s) (when (get-origin locref) (write-string "<-" s) (write (get-catattr (get-origin locref)) :stream s)) (pprint-newline :fill s) (write (get-subrefs locref) :stream s) )) #+:XP (set-pprint-dispatch 'layered-location-reference #'pprint-layered-location-reference) ;; line 440 "locref.nw" #+:XP (defun pprint-crossref-location-reference (s xref) (pprint-logical-block (s nil :prefix "[" :suffix "]") (write (get-locclass xref) :stream s) (write-string "->" s) (write (get-target xref) :stream s) )) #+:XP (set-pprint-dispatch 'crossref-location-reference #'pprint-crossref-location-reference) ;; line 455 "locref.nw" #+:XP (set-pprint-dispatch 'category-attribute #'(lambda (s catattr) (write-string "`" s) (write-string (get-name catattr) s) (write-string "'" s))) ;; line 380 "locref.nw" (defvar *RCS-Identifier* '( ;; line 263 "basetype.nw" ("basetype" . "$Id: basetype.nw,v 1.17 1997/03/26 16:18:47 kehr Exp $") ;; line 513 "locclass.nw" ("locclass" . "$Id: locclass.nw,v 1.21 1997/03/26 16:18:49 kehr Exp $") ;; line 397 "locref.nw" ("locref" . "$Id: locref.nw,v 1.29 1997/03/26 16:18:53 kehr Exp $") ;; line 380 "locref.nw" )) xindy-2.5.1.20160104/src/markup.lsp000066400000000000000000001463721264235421100163710ustar00rootroot00000000000000;; line 1154 "markup.nw" ;; $Id: markup.nw,v 1.24 1997/03/26 16:18:58 kehr Exp $ (lisp:defpackage "MARKUP") (lisp:in-package "MARKUP") (lisp:provide "markup") #+CLISP (lisp:require "base") #+CLISP (lisp:require "locref") #+CLISP (lisp:require "idxstyle") #+CLISP (lisp:require "index") #+CLISP (lisp:require "ordrules") #+CLISP (lisp:require "version") (eval-when (compile load eval) (lisp:use-package "CLOS") #+(and :XP CLISP) (lisp:use-package "XP") #+CLISP (setq custom:*suppress-check-redefinition* t) #-CLISP (lisp:require "base") #-CLISP (lisp:require "locref") #-CLISP (lisp:require "idxstyle") #-CLISP (lisp:require "index") (lisp:use-package "BASE") (lisp:use-package "LOCREF") (lisp:use-package "IDXSTYLE") (lisp:use-package "INDEX")) ;; line 1222 "markup.nw" ;; $Id: markup.nw,v 1.24 1997/03/26 16:18:58 kehr Exp $ ;; line 71 "markup.nw" (defparameter *markup-output-stream* *standard-output*) (defparameter *markup-verbose-mode* nil) (defparameter *markup-verbose-open* "<") (defparameter *markup-verbose-close* ">") (defparameter *markup-indentation* 2) (defparameter *markup-indent-level* 0) (defparameter *empty-markup* "") (defvar *markup-percentage-list*) (defvar *current-number*) (defun do-markup-indent () (incf *markup-indent-level* *markup-indentation*)) (defun do-markup-outdent () (decf *markup-indent-level* *markup-indentation*)) ;; line 102 "markup.nw" (defun do-markup-string (str) (declare (inline)) (write-string str *markup-output-stream*)) ;; line 111 "markup.nw" (defun do-markup-default (str &optional arg1 arg2 arg3) (when *markup-verbose-mode* (loop for x from 1 to *markup-indent-level* do (write-string " " *markup-output-stream*)) (do-markup-string *markup-verbose-open*) (do-markup-string str) (when arg1 (format *markup-output-stream* " [~S]" arg1) (when arg2 (format *markup-output-stream* " [~S]" arg2) (when arg3 (format *markup-output-stream* " [~S]" arg3) ))) (do-markup-string *markup-verbose-close*) (terpri *markup-output-stream*) )) ;; line 138 "markup.nw" (defmacro do-markup-list (some-list &key identifier counter elt-body sep-body open-body close-body) `(PROGN ,(when open-body `,open-body) (LET ,(if counter `((LIST-END (CAR (LAST ,some-list))) (COUNTER ,counter)) `((LIST-END (CAR (LAST ,some-list))))) (DO ((SLIST ,some-list (CDR SLIST))) ((ENDP SLIST)) (LET ((,identifier (CAR SLIST))) ,elt-body ,(if sep-body `(UNLESS (EQL ,identifier LIST-END) ,sep-body))))) ,(when close-body close-body))) ;; line 162 "markup.nw" #| (macroexpand '(markup-list '(1 2 3) :identifier FOO :open-body (print "open") :close-body (print "close") :elt-body (print FOO) :sep-body (print ","))) expands to (PROGN (PRINT "open") (LET ((LIST-END (CAR (LAST '(1 2 3))))) (DO ((SLIST '(1 2 3) (CDR SLIST))) ((ENDP SLIST)) (LET ((FOO (CAR SLIST))) (PRINT FOO) (UNLESS (EQL FOO LIST-END) (PRINT ",")) ) ) ) (PRINT "close") ) ; T |# ;; line 193 "markup.nw" (defmacro define-list-environment-methods (name signature &key open close sep declare body) (let ((name (stringify name))) `(EVAL-WHEN (COMPILE LOAD EVAL) (HANDLER-BIND ((WARNING #'MUFFLE-WARNING)) (CL:DEFMETHOD ,(intern (string-upcase (concatenate 'string name "-open")) 'markup) ,signature ,@declare ,@open ,@body) (CL:DEFMETHOD ,(intern (string-upcase (concatenate 'string name "-close")) 'markup) ,signature ,@declare ,@close ,@body) (CL:DEFMETHOD ,(intern (string-upcase (concatenate 'string name "-sep")) 'markup) ,signature ,@declare ,@sep ,@body))))) ;; line 214 "markup.nw" (defmacro define-environment-methods (name signature &key open close declare body) (let ((name (stringify name))) `(EVAL-WHEN (COMPILE LOAD EVAL) (HANDLER-BIND ((WARNING #'MUFFLE-WARNING)) (CL:DEFMETHOD ,(intern (string-upcase (concatenate 'string name "-open")) 'markup) ,signature ,@declare ,@open ,@body) (CL:DEFMETHOD ,(intern (string-upcase (concatenate 'string name "-close")) 'markup) ,signature ,@declare ,@close ,@body))))) (defmacro define-method (name signature &key declare body) (let ((name (stringify name))) `(EVAL-WHEN (COMPILE LOAD EVAL) (HANDLER-BIND ((WARNING #'MUFFLE-WARNING)) (CL:DEFMETHOD ,(intern (string-upcase name) 'markup) ,signature ,@declare ,@body))))) ;; line 326 "markup.nw" (defmethod do-markup-index ((idx base-index)) (setq *current-number* 0) (setq *markup-percentage-list* index:*percentage-list*) (do-markup-index-open idx) (do-markup-list (get-entries idx) :identifier LETTER-GRP :open-body (do-markup-letter-group-list-open) :elt-body (do-markup-letter-group LETTER-GRP) :sep-body (do-markup-letter-group-list-sep) :close-body (do-markup-letter-group-list-close)) (index:print-rest-of-percentages *markup-percentage-list*) (do-markup-index-close idx)) (define-environment-methods do-markup-index ((idx base-index)) :open ((do-markup-default "INDEX:OPEN") (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "INDEX:CLOSE"))) ;; line 351 "markup.nw" (defmacro markup-index (&whole whole &rest args) (destructuring-switch-bind (&key open close hierdepth &switch tree flat) args (let (hierdepth-cmd) (when (or hierdepth tree flat) (cond ((and tree flat) (error "you can't specify :tree and :flat simultaneously in ~%~S~%" whole)) ((and hierdepth (or tree flat)) (error "you can't specify :hierdepth with :tree or :flat simultaneously in ~%~S~%" whole)) (flat (setq hierdepth-cmd `(SET-HIERDEPTH 0 *INDEX*)));; no tree-structure ;; MOST-POSITIVE-FIXNUM means make all trees (tree (setq hierdepth-cmd `(SET-HIERDEPTH MOST-POSITIVE-FIXNUM *INDEX*))) (hierdepth (when (not (numberp hierdepth)) (error "~S is not a number in ~S~%" whole)) (setq hierdepth-cmd `(SET-HIERDEPTH ,hierdepth *INDEX*)))) `(LET () (markup::define-environment-methods DO-MARKUP-INDEX ((idx index:base-index)) :declare ((declare (ignore idx))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close)))) ,hierdepth-cmd))))) ;; line 390 "markup.nw" (define-list-environment-methods do-markup-letter-group-list () :open ((do-markup-default "LETTER-GROUP-LIST:OPEN") (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "LETTER-GROUP-LIST:CLOSE")) :sep ((do-markup-default "LETTER-GROUP-LIST:SEP"))) ;; line 409 "markup.nw" (defmethod do-markup-letter-group ((letter-grp letter-group)) (let ((group-definition (get-group-definition letter-grp))) (do-markup-letter-group-open group-definition) (do-markup-letter-group-head-open group-definition) (do-markup-letter-group-head group-definition) (do-markup-letter-group-head-close group-definition) (do-markup-list (get-members letter-grp) :identifier IDXENT #| the identifier to use in the expansion |# :open-body (do-markup-indexentry-list-open 0 #|initial depth:=0|#) :elt-body (do-markup-indexentry IDXENT 0) :sep-body (do-markup-indexentry-list-sep 0) :close-body (do-markup-indexentry-list-close 0)) (do-markup-letter-group-close group-definition))) (define-environment-methods do-markup-letter-group ((group letter-group-definition)) :open ((do-markup-default "LETTER-GROUP:OPEN" (get-name group)) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "LETTER-GROUP:CLOSE" (get-name group)))) (define-environment-methods do-markup-letter-group-head ((group letter-group-definition)) :open ((do-markup-default "LETTER-GROUP-HEAD:OPEN" (get-name group)) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "LETTER-GROUP-HEAD:CLOSE" (get-name group)))) (define-method do-markup-letter-group-head ((group letter-group-definition)) :body ((do-markup-default "LETTER-GROUP-HEAD" (get-name group)))) ;; line 503 "markup.nw" (define-list-environment-methods do-markup-indexentry-list ((depth number)) :open ((do-markup-default "INDEXENTRY-LIST:OPEN" depth) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "INDEXENTRY-LIST:CLOSE" depth)) :sep ((do-markup-default "INDEXENTRY-LIST:SEP" depth))) ;; line 525 "markup.nw" (defmethod do-markup-indexentry ((idxent index-entry) (depth number)) (when (>= (incf *current-number*) (caar *markup-percentage-list*)) (index:print-percent (pop *markup-percentage-list*))) (do-markup-indexentry-open depth) (let ((print-key (get-print-key idxent))) (do-markup-list (merge-print-and-main-key print-key (get-main-key idxent)) :identifier KEYWORD :open-body (do-markup-keyword-list-open depth) :elt-body (do-markup-keyword KEYWORD depth) :sep-body (do-markup-keyword-list-sep depth) :close-body (do-markup-keyword-list-close depth))) (let ((locrefs (get-locrefs idxent))) (unless (endp locrefs) (do-markup-list locrefs :identifier LOCCLS-GRP :open-body (do-markup-locclass-list-open) :elt-body (do-markup-locclass LOCCLS-GRP) :sep-body (do-markup-locclass-list-sep) :close-body (do-markup-locclass-list-close)))) (let ((subentries (get-subentries idxent))) (unless (endp subentries) (let ((new-depth (1+ depth))) (do-markup-list subentries :identifier IDXENT :open-body (do-markup-indexentry-list-open new-depth) :elt-body (do-markup-indexentry IDXENT new-depth) :sep-body (do-markup-indexentry-list-sep new-depth) :close-body (do-markup-indexentry-list-close new-depth))))) (do-markup-indexentry-close depth)) (defun merge-print-and-main-key (print-key main-key) ;;(info "~&(merge-print-and-main-key ~S ~S)" print-key main-key) (if print-key (mapcar #'(lambda (print main) (or print main)) print-key main-key) main-key)) ;; line 571 "markup.nw" (define-environment-methods do-markup-indexentry ((depth number)) :open ((do-markup-default "INDEXENTRY:OPEN" depth) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "INDEXENTRY:CLOSE" depth))) ;; line 595 "markup.nw" (define-list-environment-methods do-markup-keyword-list ((depth number)) :open ((do-markup-default "KEYWORD-LIST:OPEN" depth) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "KEYWORD-LIST:CLOSE" depth)) :sep ((do-markup-default "KEYWORD-LIST:SEP" depth))) ;; line 617 "markup.nw" (defmethod do-markup-keyword (keyword (depth number)) (do-markup-keyword-open depth) (do-markup-string keyword) (do-markup-keyword-close depth)) ;; line 624 "markup.nw" (define-environment-methods do-markup-keyword ((depth number)) :open ((do-markup-default "KEYWORD:OPEN" depth) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "KEYWORD:CLOSE" depth))) ;; line 654 "markup.nw" (define-list-environment-methods do-markup-locclass-list () :open ((do-markup-default "LOCCLASS-LIST:OPEN") (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "LOCCLASS-LIST:CLOSE")) :sep ((do-markup-default "LOCCLASS-LIST:SEP"))) ;; line 677 "markup.nw" (defmethod do-markup-locclass ((locref-cls-grp locref-class-group)) (let ((locclass (get-locclass locref-cls-grp))) (do-markup-locref-class-open locclass) (do-markup-list (get-members locref-cls-grp) :identifier ATTRIBUTE-GRP :open-body (do-markup-attribute-group-list-open) :elt-body (do-markup-attribute-group ATTRIBUTE-GRP locclass) :sep-body (do-markup-attribute-group-list-sep) :close-body (do-markup-attribute-group-list-close)) (do-markup-locref-class-close locclass))) (define-environment-methods do-markup-locref-class ((locrefcls layered-location-class)) :open ((do-markup-default "LOCREF-CLASS:OPEN" (get-name locrefcls)) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "LOCREF-CLASS:CLOSE" (get-name locrefcls)))) ;; line 1044 "markup.nw" (defmethod do-markup-locclass ((xref-cls-grp crossref-class-group)) (let ((xrefclass (get-locclass xref-cls-grp))) (do-markup-list (get-members xref-cls-grp) :identifier XREF :open-body (do-markup-crossref-list-open xrefclass) :elt-body (do-markup-crossref XREF) :sep-body (do-markup-crossref-list-sep xrefclass) :close-body (do-markup-crossref-list-close xrefclass)))) (define-list-environment-methods do-markup-crossref-list ((xrefclass crossref-location-class)) :open ((do-markup-default "CROSSREF-LIST:OPEN" (get-name xrefclass)) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "CROSSREF-LIST:CLOSE" (get-name xrefclass))) :sep ((do-markup-default "CROSSREF-LIST:SEP" (get-name xrefclass)))) ;; line 1080 "markup.nw" (defmethod do-markup-crossref ((xref crossref-location-reference)) (let ((xrefclass (get-locclass xref))) (do-markup-list (get-target xref) :identifier XREF-LAYER :open-body (do-markup-crossref-layer-list-open xrefclass) :elt-body (do-markup-crossref-layer XREF-LAYER xrefclass) :sep-body (do-markup-crossref-layer-list-sep xrefclass) :close-body (do-markup-crossref-layer-list-close xrefclass)))) (define-list-environment-methods do-markup-crossref-layer-list ((xref-class crossref-location-class)) :open ((do-markup-default "CROSSREF-LAYER-LIST:OPEN" (get-name xref-class)) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "CROSSREF-LAYER-LIST:CLOSE" (get-name xref-class))) :sep ((do-markup-default "CROSSREF-LAYER-LIST:SEP" (get-name xref-class)))) ;; line 1119 "markup.nw" (defmethod do-markup-crossref-layer (xref-layer (xref-class crossref-location-class)) (do-markup-crossref-layer-open xref-class) (do-markup-string xref-layer) (do-markup-crossref-layer-close xref-class)) (define-environment-methods do-markup-crossref-layer ((xref-class crossref-location-class)) :open ((do-markup-default "CROSSREF-LAYER:OPEN" (get-name xref-class)) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "CROSSREF-LAYER:CLOSE" (get-name xref-class)))) ;; line 718 "markup.nw" (define-list-environment-methods do-markup-attribute-group-list () :open ((do-markup-default "ATTRIBUTE-GROUP-LIST:OPEN") (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "ATTRIBUTE-GROUP-LIST:CLOSE")) :sep ((do-markup-default "ATTRIBUTE-GROUP-LIST:SEP"))) ;; line 737 "markup.nw" (defmethod do-markup-attribute-group ((attribute-group category-attribute-group) (loccls layered-location-class)) (let ((ordnum (get-ordnum attribute-group))) (do-markup-attribute-group-open ordnum) (do-markup-list (get-members attribute-group) :identifier LOCREF :open-body (do-markup-locref-list-open loccls 0) :elt-body (do-markup-locref LOCREF loccls 0) :sep-body (do-markup-locref-list-sep loccls 0) :close-body (do-markup-locref-list-close loccls 0)) (do-markup-attribute-group-close ordnum))) (define-environment-methods do-markup-attribute-group ((ordnum number)) :open ((do-markup-default "ATTRIBUTE-GROUP:OPEN" ordnum) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "ATTRIBUTE-GROUP:CLOSE" ordnum))) ;; line 776 "markup.nw" (define-list-environment-methods do-markup-locref-list ((loccls layered-location-class) (depth number)) :open ((do-markup-default "LOCREF-LIST:OPEN" (get-name loccls) depth) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "LOCREF-LIST:CLOSE" (get-name loccls) depth)) :sep ((do-markup-default "LOCREF-LIST:SEP" (get-name loccls) depth))) ;; line 808 "markup.nw" (defmethod do-markup-locref ((locref location-reference) (loccls layered-location-class) (depth number)) #+ASSERT! (assert! (and (typep locref 'layered-location-reference) (typep depth 'number))) (let ((attr (get-catattr locref)) (subrefs (get-subrefs locref)) (new-depth (1+ depth))) (do-markup-locref-open attr loccls depth) (cond (subrefs (let ((layer 0)) (do-markup-list (get-layers locref) :identifier LOCREF-LAYER :open-body (do-markup-locref-layer-list-open loccls depth) :elt-body (do-markup-locref-layer LOCREF-LAYER loccls depth (prog1 layer (incf layer))) :sep-body (do-markup-locref-layer-list-sep loccls depth) :close-body (do-markup-locref-layer-list-close loccls depth))) (do-markup-list subrefs :identifier LOCREF :open-body (do-markup-locref-list-open loccls new-depth) :elt-body (do-markup-locref LOCREF loccls new-depth) :sep-body (do-markup-locref-list-sep loccls new-depth) :close-body (do-markup-locref-list-close loccls new-depth))) ((= 0 depth) (do-markup-string (get-locref-string locref))) (t (let ((layer 0)) (do-markup-list (get-layers locref) :identifier LOCREF-LAYER :open-body (do-markup-locref-layer-list-open loccls depth) :elt-body (do-markup-locref-layer LOCREF-LAYER loccls depth (prog1 layer (incf layer))) :sep-body (do-markup-locref-layer-list-sep loccls depth) :close-body (do-markup-locref-layer-list-close loccls depth))))) (do-markup-locref-close attr loccls depth))) ;; line 855 "markup.nw" (define-list-environment-methods do-markup-locref-layer-list ((loccls layered-location-class) (depth number)) :open ((do-markup-default "LOCREF-LAYER-LIST:OPEN" (get-name loccls) depth) (do-markup-indent)) :sep ((do-markup-default "LOCREF-LAYER-LIST:SEP" (get-name loccls) depth)) :close ((do-markup-outdent) (do-markup-default "LOCREF-LAYER-LIST:CLOSE" (get-name loccls) depth))) ;; line 883 "markup.nw" (defun do-markup-locref-layer (locref-layer loccls depth layer) (do-markup-locref-layer-open loccls depth layer) (do-markup-string locref-layer) (do-markup-locref-layer-close loccls depth layer)) (define-environment-methods do-markup-locref-layer ((locref-class layered-location-class) (depth number) (layer number)) :open ((do-markup-default "LOCREF-LAYER:OPEN" (get-name locref-class) depth layer) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "LOCREF-LAYER:CLOSE" (get-name locref-class) depth layer))) ;; line 918 "markup.nw" (define-environment-methods do-markup-locref ((attr category-attribute) (loccls layered-location-class) (depth number)) :open ((do-markup-default "LOCREF:OPEN" (get-name attr) (get-name loccls) depth) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "LOCREF:CLOSE" (get-name attr) (get-name loccls) depth))) ;; line 955 "markup.nw" (defmethod do-markup-locref ((range location-range) (loccls layered-location-class) (depth number)) (let ((length (get-length range))) (do-markup-range-open loccls length) (do-markup-locref (get-first range) loccls depth) (do-markup-range-sep loccls length) (when (markup-range-print-end-p loccls length) (do-markup-locref (get-last range) loccls depth)) (do-markup-range-close loccls length))) (define-list-environment-methods do-markup-range ((loccls layered-location-class) (length number)) :open ((do-markup-default "RANGE:OPEN" (get-name loccls) length) (do-markup-indent)) :close ((do-markup-outdent) (do-markup-default "RANGE:CLOSE" (get-name loccls) length)) :sep ((do-markup-default "RANGE:SEP" (get-name loccls) length))) (defmethod markup-range-print-end-p ((loccls layered-location-class) (length number)) t) ;; line 304 "markup.nw" (defmacro markup-trace (&rest args) (destructuring-switch-bind (&key (open *markup-verbose-open*) (close *markup-verbose-close*) &switch on) args (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 312 "markup.nw" (t `(LET () (SETQ *markup-verbose-open* ,open) (SETQ *markup-verbose-close* ,close) ,(when on `(SETQ *markup-verbose-mode* t))))))) ;; line 399 "markup.nw" (defmacro markup-letter-group-list (&key open close sep) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 401 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-LETTER-GROUP-LIST () :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep))))))) ;; line 443 "markup.nw" (defmacro markup-letter-group (&whole whole &rest args) (destructuring-switch-bind (&key open close group open-head close-head &switch upcase downcase capitalize) args (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 451 "markup.nw" ;; line 252 "markup.nw" ((and open-head (not (stringp open-head))) (nraw "parameter `~S' is not a string! (ignored)~%" open-head)) ((and close-head (not (stringp close-head))) (nraw "parameter `~S' is not a string! (ignored)~%" close-head)) ;; line 452 "markup.nw" ;; line 275 "markup.nw" ((and group (progn (setq group (stringify group)) (not (lookup-letter-group-definition *indexstyle* group)))) (nraw "parameter `~S' is not a valid letter-group! (ignored)~%" group)) ;; line 453 "markup.nw" ((or (and upcase downcase) (and upcase capitalize) (and downcase capitalize)) (error "more than one modifier in~%~S" whole)) (t `(LET () (markup::define-environment-methods DO-MARKUP-LETTER-GROUP (,(if group `(lg-def (EQL ',(lookup-letter-group-definition *indexstyle* group))) '(lg-def letter-group-definition))) :declare ((declare (ignore lg-def))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close)))) (markup::define-environment-methods DO-MARKUP-LETTER-GROUP-HEAD (,(if group `(lg-def (EQL ',(lookup-letter-group-definition *indexstyle* group))) '(lg-def letter-group-definition))) :declare ((declare (ignore lg-def))) :open ,(when open-head `((do-markup-string ,open-head))) :close ,(when close-head `((do-markup-string ,close-head)))) ,(when (or open-head close-head) `(markup::define-method DO-MARKUP-LETTER-GROUP-HEAD (,(if group `(lg-def (EQL ',(lookup-letter-group-definition *indexstyle* group))) '(lg-def letter-group-definition))) :body ((do-markup-string ,(cond (upcase `(string-upcase (get-name lg-def))) (downcase `(string-downcase (get-name lg-def))) (capitalize `(string-capitalize (get-name lg-def))) (t `(get-name lg-def)))))))))))) ;; line 512 "markup.nw" (defmacro markup-indexentry-list (&key open close sep depth) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 514 "markup.nw" ;; line 265 "markup.nw" ((and depth (not (integerp depth))) (nraw "parameter `~S' is not a number! (ignored)~%" depth)) ;; line 515 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-INDEXENTRY-LIST (,(if depth `(depth (EQL ,depth)) '(depth number))) :declare ((declare (ignore depth))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep))))))) ;; line 579 "markup.nw" (defmacro markup-indexentry (&key open close depth) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 581 "markup.nw" ;; line 265 "markup.nw" ((and depth (not (integerp depth))) (nraw "parameter `~S' is not a number! (ignored)~%" depth)) ;; line 582 "markup.nw" (t `(markup::define-environment-methods DO-MARKUP-INDEXENTRY (,(if depth `(depth (EQL ,depth)) '(depth number))) :declare ((declare (ignore depth))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))))))) ;; line 604 "markup.nw" (defmacro markup-keyword-list (&key open close sep depth) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 606 "markup.nw" ;; line 265 "markup.nw" ((and depth (not (integerp depth))) (nraw "parameter `~S' is not a number! (ignored)~%" depth)) ;; line 607 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-KEYWORD-LIST (,(if depth `(depth (EQL ,depth)) '(depth number))) :declare ((declare (ignore depth))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep))))))) ;; line 632 "markup.nw" (defmacro markup-keyword (&key open close depth) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 634 "markup.nw" ;; line 265 "markup.nw" ((and depth (not (integerp depth))) (nraw "parameter `~S' is not a number! (ignored)~%" depth)) ;; line 635 "markup.nw" (t `(markup::define-environment-methods DO-MARKUP-KEYWORD (,(if depth `(depth (EQL ,depth)) '(depth number))) :declare ((declare (ignore depth))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))))))) ;; line 663 "markup.nw" (defmacro markup-locclass-list (&key open close sep) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 665 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-LOCCLASS-LIST () :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep))))))) ;; line 699 "markup.nw" (defmacro markup-locref-class (&key open close class) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 701 "markup.nw" ;; line 282 "markup.nw" ((and class (progn (setq class (stringify class)) (not (lookup-locref-class *indexstyle* class)))) (nraw "parameter `~S' is not a location-reference class! (ignored)~%" class)) ;; line 702 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-LOCREF-CLASS (,(if class `(locrefcls (EQL ',(cdr (lookup-locref-class *indexstyle* class)))) '(locrefcls layered-location-class))) :declare ((declare (ignore locrefcls))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))))))) ;; line 727 "markup.nw" (defmacro markup-attribute-group-list (&key open close sep) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 729 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-ATTRIBUTE-GROUP-LIST () :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep))))))) ;; line 759 "markup.nw" (defmacro markup-attribute-group (&key open close group) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 761 "markup.nw" ;; line 275 "markup.nw" ((and group (progn (setq group (stringify group)) (not (lookup-letter-group-definition *indexstyle* group)))) (nraw "parameter `~S' is not a valid letter-group! (ignored)~%" group)) ;; line 762 "markup.nw" (t `(markup::define-environment-methods DO-MARKUP-ATTRIBUTE-GROUP (,(if group `(ordnum (EQL ,group)) '(ordnum number))) :declare ((declare (ignore ordnum))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))))))) ;; line 786 "markup.nw" (defmacro markup-locref-list (&key open close sep class depth) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 788 "markup.nw" ;; line 265 "markup.nw" ((and depth (not (integerp depth))) (nraw "parameter `~S' is not a number! (ignored)~%" depth)) ;; line 789 "markup.nw" ;; line 282 "markup.nw" ((and class (progn (setq class (stringify class)) (not (lookup-locref-class *indexstyle* class)))) (nraw "parameter `~S' is not a location-reference class! (ignored)~%" class)) ;; line 790 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-LOCREF-LIST (,(if class `(locrefcls (EQL ',(cdr (lookup-locref-class *indexstyle* class)))) '(locrefcls layered-location-class)) ,(if depth `(depth (EQL ,depth)) '(depth number))) :declare ((declare (ignore locrefcls depth))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep))))))) ;; line 865 "markup.nw" (defmacro markup-locref-layer-list (&key open close sep class depth) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 867 "markup.nw" ;; line 265 "markup.nw" ((and depth (not (integerp depth))) (nraw "parameter `~S' is not a number! (ignored)~%" depth)) ;; line 868 "markup.nw" ;; line 282 "markup.nw" ((and class (progn (setq class (stringify class)) (not (lookup-locref-class *indexstyle* class)))) (nraw "parameter `~S' is not a location-reference class! (ignored)~%" class)) ;; line 869 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-LOCREF-LAYER-LIST (,(if class `(locrefcls (EQL ',(cdr (lookup-locref-class *indexstyle* class)))) '(locrefcls layered-location-class)) ,(if depth `(depth (EQL ,depth)) '(depth number))) :declare ((declare (ignore locrefcls depth))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep))))))) ;; line 899 "markup.nw" (defmacro markup-locref-layer (&key class open close depth layer) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 901 "markup.nw" ;; line 265 "markup.nw" ((and depth (not (integerp depth))) (nraw "parameter `~S' is not a number! (ignored)~%" depth)) ;; line 902 "markup.nw" ;; line 270 "markup.nw" ((and layer (not (integerp layer))) (nraw "parameter `~S' is not a number! (ignored)~%" layer)) ;; line 903 "markup.nw" ;; line 282 "markup.nw" ((and class (progn (setq class (stringify class)) (not (lookup-locref-class *indexstyle* class)))) (nraw "parameter `~S' is not a location-reference class! (ignored)~%" class)) ;; line 904 "markup.nw" (t `(markup::define-environment-methods DO-MARKUP-LOCREF-LAYER (,(if class `(locrefcls (EQL ',(cdr (lookup-locref-class *indexstyle* class)))) '(locrefcls layered-location-class)) ,(if depth `(depth (EQL ,depth)) '(depth number)) ,(if layer `(layer (EQL ,layer)) '(layer number))) :declare ((declare (ignore depth layer))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))))))) ;; line 930 "markup.nw" (defmacro markup-locref (&key open close class attr depth) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 932 "markup.nw" ;; line 294 "markup.nw" ((and attr (progn (setq attr (stringify attr)) (not (lookup-catattr *indexstyle* attr)))) (nraw "parameter `~S' is not an attribute! (ignored)~%" attr)) ;; line 933 "markup.nw" ;; line 265 "markup.nw" ((and depth (not (integerp depth))) (nraw "parameter `~S' is not a number! (ignored)~%" depth)) ;; line 934 "markup.nw" ;; line 282 "markup.nw" ((and class (progn (setq class (stringify class)) (not (lookup-locref-class *indexstyle* class)))) (nraw "parameter `~S' is not a location-reference class! (ignored)~%" class)) ;; line 935 "markup.nw" (t `(markup::define-environment-methods DO-MARKUP-LOCREF (,(if attr `(attr (EQL ',(lookup-catattr *indexstyle* attr))) '(attr category-attribute)) ,(if class `(locrefcls (EQL ',(cdr (lookup-locref-class *indexstyle* class)))) '(locrefcls layered-location-class)) ,(if depth `(depth (EQL ,depth)) '(depth number))) :declare ((declare (ignore attr locrefcls depth))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))))))) ;; line 1002 "markup.nw" (defmacro markup-range (&whole whole &rest args) (destructuring-switch-bind (&key open close sep class length &switch ignore-end) args (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 1008 "markup.nw" ;; line 282 "markup.nw" ((and class (progn (setq class (stringify class)) (not (lookup-locref-class *indexstyle* class)))) (nraw "parameter `~S' is not a location-reference class! (ignored)~%" class)) ;; line 1009 "markup.nw" ((and length (not (numberp length))) (nraw "parameter `~S' is not a number! (ignored)~%" length)) (t `(let () (markup::define-list-environment-methods DO-MARKUP-RANGE (,(if class `(locrefcls (EQL ',(cdr (lookup-locref-class *indexstyle* class)))) '(locrefcls layered-location-class)) ,(if length `(length (EQL ,length)) '(length number))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep)))) (define-method markup::MARKUP-RANGE-PRINT-END-P (,(if class `(locrefcls (EQL ',(cdr (lookup-locref-class *indexstyle* class)))) '(locrefcls layered-location-class)) ,(if length `(length (EQL ,length)) '(length number))) :declare ((declare (ignore locrefcls length))) :body (,(not ignore-end)))))))) ;; line 1064 "markup.nw" (defmacro markup-crossref-list (&key open sep close class) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 1066 "markup.nw" ;; line 288 "markup.nw" ((and class (progn (setq class (stringify class)) (not (lookup-crossref-class *indexstyle* class)))) (nraw "parameter `~S' is not a cross-reference class! (ignored)~%" class)) ;; line 1067 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-CROSSREF-LIST (,(if class `(xrefcls (EQL ',(cdr (lookup-crossref-class *indexstyle* class)))) '(xrefcls crossref-location-class))) :declare ((declare (ignore xrefcls))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep))))))) ;; line 1103 "markup.nw" (defmacro markup-crossref-layer-list (&key open sep close class) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 260 "markup.nw" ((and sep (not (stringp sep))) (nraw "parameter `~S' is not a string! (ignored)~%" sep)) ;; line 1105 "markup.nw" ;; line 288 "markup.nw" ((and class (progn (setq class (stringify class)) (not (lookup-crossref-class *indexstyle* class)))) (nraw "parameter `~S' is not a cross-reference class! (ignored)~%" class)) ;; line 1106 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-CROSSREF-LAYER-LIST (,(if class `(xrefcls (EQL ',(cdr (lookup-crossref-class *indexstyle* class)))) '(xrefcls crossref-location-class))) :declare ((declare (ignore xrefcls))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))) :sep ,(when sep `((do-markup-string ,sep))))))) ;; line 1134 "markup.nw" (defmacro markup-crossref-layer (&key open close class) (cond ;; line 245 "markup.nw" ((and open (not (stringp open))) (nraw "parameter `~S' is not a string! (ignored)~%" open)) ((and close (not (stringp close))) (nraw "parameter `~S' is not a string! (ignored)~%" close)) ;; line 1136 "markup.nw" ;; line 288 "markup.nw" ((and class (progn (setq class (stringify class)) (not (lookup-crossref-class *indexstyle* class)))) (nraw "parameter `~S' is not a cross-reference class! (ignored)~%" class)) ;; line 1137 "markup.nw" (t `(markup::define-list-environment-methods DO-MARKUP-CROSSREF-LAYER (,(if class `(xrefcls (EQL ',(cdr (lookup-crossref-class *indexstyle* class)))) '(xrefcls crossref-location-class))) :declare ((declare (ignore xrefcls))) :open ,(when open `((do-markup-string ,open))) :close ,(when close `((do-markup-string ,close))))))) ;; line 1188 "markup.nw" (eval-when (compile load eval) (defparameter *markup-user-interface-definitions* '(*markup-verbose-mode* *markup-verbose-open* *markup-verbose-close* markup-crossref-layer markup-crossref-layer-list markup-crossref-list markup-index markup-letter-group markup-letter-group-list markup-indexentry markup-indexentry-list markup-keyword markup-keyword-list markup-locclass-list markup-locref-class markup-attribute-group-list markup-attribute-group markup-locref-list markup-locref markup-locref-layer-list markup-locref-layer markup-range markup-trace ))) ;; line 1238 "markup.nw" (eval-when (compile load eval) ;; line 89 "markup.nw" (export '(*markup-output-stream* *markup-verbose-mode* *markup-verbose-open* *markup-verbose-close* *indexstyle-readtable*)) ;; line 347 "markup.nw" (export '(do-markup-index)) ;; line 1217 "markup.nw" (export '*markup-user-interface-definitions*) (export *markup-user-interface-definitions*) ;; line 1240 "markup.nw" ) ;; line 1178 "markup.nw" (defvar *RCS-Identifier* '( ;; line 1244 "markup.nw" ("markup" . "$Id: markup.nw,v 1.24 1997/03/26 16:18:58 kehr Exp $") ;; line 236 "startup.nw" ("startup" . "$Id: startup.nw,v 1.17 1997/03/26 16:19:03 kehr Exp $") ;; line 1178 "markup.nw" )) ;; this should be the last of the module since it defines the ;; additional package `xindy'. ;; line 210 "startup.nw" ;; $Id: startup.nw,v 1.17 1997/03/26 16:19:03 kehr Exp $ (lisp:defpackage "XINDY") (lisp:in-package "XINDY") (eval-when (compile load eval) (lisp:use-package "BASE") (lisp:use-package :xindy-version) (lisp:use-package "MARKUP") (lisp:use-package "CLOS") (lisp:use-package "COMMON-LISP") #+CLISP (lisp:use-package "EXT") (lisp:import markup:*markup-user-interface-definitions*)) (eval-when (compile load eval) (pushnew :HANDLER *features*)) ;; FIXME: error messages about package locks ;(eval-when (compile load eval) ; (pushnew :BREAK-DRIVER *features*)) ;; line 44 "startup.nw" (defun issue-startup-message () (info "xindy kernel version: ~A~%" *xindy-kernel-version*) (info "~A version ~A~% architecture: ~A~%" (lisp-implementation-type) (lisp-implementation-version) (machine-version)) ) (defun startup (&key idxstyle rawindex output logfile show-version markup-trace (trace-level 0)) (when show-version (issue-startup-message) (exit-normally)) (when markup-trace (setq *markup-verbose-mode* t)) #+:HANDLER (handler-case (do-startup idxstyle rawindex output logfile trace-level) (error (condition) (oops* (simple-condition-format-string condition) (simple-condition-format-arguments condition)) (error-exit))) #-:HANDLER (do-startup idxstyle rawindex output logfile trace-level)) ;; line 70 "startup.nw" (defun do-startup (idxstyle raw-index output logfile trace-level) (set-searchpath-by-environment) (setq custom:*default-file-encoding* charset:iso-8859-1) (when logfile (info "~&Opening logfile ~S " logfile) (handler-case (setq *logging-stream* (open logfile :direction :output :if-does-not-exist :create :if-exists :supersede)) (error () (oops "Opening logfile ~S failed!" logfile) (error-exit))) (info "(done)~%") ;; Set necessary flags... (setq *logging-on* t) (case trace-level (0) (1 (setq *mappings-trace* t)) (2 (setq *mappings-trace* t) (setq *locref-trace* t)) (3 (setq *mappings-trace* t) (setq *locref-trace* t)) (t (error "Invalid :trace-level ~S !" trace-level))) #+:ORDRULES (when *mappings-trace* (setq ordrules::*message-logging* 1)) (multiple-value-bind (sec min hour day mon year) (get-decoded-time) (gol t ";; This logfile was generated automatically by `xindy'~%") (gol t ";; at ~2,'0D.~2,'0D.~4,'0D ~2,'0D:~2,'0D:~2,'0D~%" day mon year hour min sec)) (gol t ";; Indexstyle: ~S, Rawindex: ~S, Output: ~S~%~%" idxstyle raw-index output) ) (info "~&Reading indexstyle...~%") (let ((*readtable* idxstyle:*indexstyle-readtable*)) (idxstyle:do-require idxstyle)) (info "~&Finished reading indexstyle.") (info "~&Finalizing indexstyle... ") (idxstyle:make-ready idxstyle:*indexstyle*) (info "(done)~%~%") (info "~&Reading raw-index ~S..." raw-index) (load raw-index :verbose nil) (info "~&Finished reading raw-index.~%~%") (handler-case (setq *markup-output-stream* (open output :direction :output :if-does-not-exist :create :if-exists :supersede)) (error () (oops "Opening file ~S failed!" output) (error-exit))) (info "~&Processing index...") (index:process-index index:*index*) (info "~&Finished processing index.~%~%") (info "~&Writing markup...") (markup:do-markup-index index:*index*) (info "~%Markup written into file ~S.~%" output)) ;; line 139 "startup.nw" (defun set-searchpath-by-environment () (let ((sp (#+CLISP system::getenv #+ALLEGRO sys:getenv "XINDY_SEARCHPATH"))) (when sp (idxstyle:set-searchpath-by-string sp)))) ;; line 170 "startup.nw" #+:BREAK-DRIVER (fmakunbound '*break-driver*) #+:BREAK-DRIVER (defun *break-driver* (continuable &optional (condition nil) (print-it nil) &aux (may-continue (or continuable (and condition (find-restart 'continue condition)) ) ) (interactive-p (interactive-stream-p *debug-io*)) (commandsr '()) ) (declare (ignore may-continue interactive-p commandsr)) ;; This when-clause is from Bruno Haible. (when (and condition print-it) (terpri *error-output*) (write-string "*** - " *error-output*) #+CLISP (system::print-condition condition *error-output*) #-CLISP (print condition *error-output*) ) (format *ERROR-OUTPUT* "~&Bye.") (error-exit)) #+:BREAK-DRIVER-OLD (defun *break-driver* (continuable &rest rest) (declare (ignore continuable rest)) (format *ERROR-OUTPUT* "~&Bye.") (error-exit)) #+:BREAK-DRIVER (eval-when (compile load eval) (export '*break-driver*)) ;; line 230 "startup.nw" (eval-when (compile load eval) ;; line 135 "startup.nw" (export '(startup *xindy-kernel-version*)) ;; line 232 "startup.nw" ) xindy-2.5.1.20160104/src/ordrules.lsp000066400000000000000000000347021264235421100167220ustar00rootroot00000000000000;;; $Id$ ;;;---------------------------------------------------------------------- ;;; ;;; ordrules --- order rules for xindy ;;; ;;; (history at end) (provide "ordrules") ;;;; ============================================================ ;;;; ;;;; SPECIFICATION ;;;; ;;; ;;; package ordrules XXX ;;; (defpackage "ORDRULES" (:documentation "Order rules for xindy. Provides functionality for merge-rules and sort-rules, as ordrule collections. An ordrule collection is an ordered set of order rules. An order rule is an object that manages replacement of a string or regular expression by a string. Ordrule collections are applied to strings, the result is created by successive application of matching order rules.") (:use common-lisp clos regexp) (:shadow match) (:export ;; object interface "MAKE-ORDRULE-TABLE" "ADD-RULE" "APPLY-RULES" ;; legacy (C plugin) interface "INITIALIZE" "ADD-KEYWORD-MERGE-RULE" "ADD-KEYWORD-SORT-RULE" "GEN-KEYWORD-MERGEKEY" "GEN-KEYWORD-SORTKEY" "*MESSAGE-BUFFER-PTR*" "*MESSAGE-BUFFER*" "*MESSAGE-LOGGING*") ) (in-package "ORDRULES") ;;;; ============================================================ ;;;; ;;;; ORDRULE OBJECTS ;;;; ;;; class ORDRULE ;;; Slots: ;;; -- match: regexp, string, or char that might be matched ;;; -- repl: replacement for the matched substring ;;; -- again: boolean flag if repl should be eligible for further ordrules ;;; ;;; subclass ORDRULE-STRING -- no additional slots ;;; subclass ORDRULE-CHAR -- no additional slots ;;; subclass ORDRULE-REGEXP ;;; Additional Slots: ;;; -- only-at-start: boolean flag if match should only be tested at start ;;; of string (defclass ordrule () ((match :initarg :match :reader match) (repl :initarg :repl :reader repl) (again :initarg :again :reader again)) (:documentation "An order rule that represents the replacement of a matching expression with a replacement string.")) (defclass ordrule-string (ordrule) () (:documentation "An ordrule where the matching expression is a string")) (defclass ordrule-char (ordrule) () (:documentation "An ordrule where the matching expression is a char")) (defclass ordrule-regexp (ordrule) ((pattern :initarg :pattern :reader pattern) (only-at-start :initarg :only-at-start :reader only-at-start)) (:documentation "An ordrule where the matching expression is a regexp")) (defmethod print-object ((obj ordrule) stream) "Print an ordrule." (format stream "# '~A' :again ~A>" (match obj) (repl obj) (again obj))) (defmethod print-object ((obj ordrule-regexp) stream) "Print an ordrule." (format stream "# '~A' :again ~A :only-at-start ~A>" (pattern obj) (repl obj) (again obj) (only-at-start obj))) (defun make-ordrule-string (match repl &key again) "Create an ordrule-string object. MATCH is a string to compare." (make-instance 'ordrule-string :match match :repl repl :again again)) (defun make-ordrule-char (match repl &key again) "Create an ordrule-string object. MATCH is a character to compare." (make-instance 'ordrule-char :match match :repl (string repl) :again again)) (defun make-ordrule-regexp (match-pattern repl &key again (extended t)) "Create an ordrule-regexp object. MATCH-PATTERN is a POSIX regular expression. The boolean keyword argument :extended tells if the regex is a basic one or an extended one; default is to use extended ones." (let* ((only-at-start (char= (char match-pattern 0) #\^)) (match (if only-at-start (subseq match-pattern 1) match-pattern))) (make-instance 'ordrule-regexp :match (regexp-compile (concatenate 'string "^(" match ")") :extended extended) :repl repl :again again :pattern match-pattern :only-at-start only-at-start))) ;; A regexp-compile object does not survive dump and reload. ;; Therefore we have to initialize it at first usage. (defvar *REGEXP-PATTERN* nil "If this pattern matches, the string is a regexp.") (defun make-ordrule (match repl &key again) "Create an ordrule object. MATCH may be a string, a char, or a POSIX regular expression. If it's a regexp, it's an extended one." (or *REGEXP-PATTERN* (setq *REGEXP-PATTERN* (regexp-compile "[][|(){}.*+^$?]"))) (cond ((characterp match) (make-ordrule-char match repl :again again)) ((= (length match) 1) (make-ordrule-char (char match 0) repl :again again)) ((regexp-exec *REGEXP-PATTERN* match) (make-ordrule-regexp match repl :again again)) (t (make-ordrule-string match repl :again again)))) ;;; ;;; (try-rule RULE SOURCE) => FINAL ; SOURCE-REST or ;;; (defgeneric try-rule (ordrule source &key at-start) (:documentation "Apply an ordrule to a source string. If the rule does not match, return nothing. If it matches, return two values: the 1st is the final prefix with the replacement string and the 2nd is the rest of SOURCE that's left after the matched text. If the rule's again flag is true, FINAL will be the empty string and the replacement will be at the start of SOURCE-REST. An ordrule is not allowed to turn a source completely into an empty string. If that would happen, a warning is output and nothing is returned. That situation would exist, if AT-START is true and both FINAL and SOURCE-REST would be empty. AT-START tells if we are at the start to process the source string.")) (defmethod try-rule ((rule ordrule-char) source &key at-start) (if (char= (char source 0) (match rule)) (maybe-again-maybe-no rule source at-start (repl rule) (subseq source 1)) (values))) (defun maybe-again-maybe-no (rule source at-start repl source-rest) (cond ((and at-start (string= repl "") (string= source-rest "")) (warn "Would replace complete index key by empty string, ignoring ~S" rule) (values source "")) ((again rule) (values "" (concatenate 'string repl source-rest))) (t (values repl source-rest)))) (defmethod try-rule ((rule ordrule-string) source &key at-start) (let* ((match-string (match rule)) (match-length (length match-string))) (cond ((> match-length (length source)) (values)) ((string= source match-string :end1 match-length) (maybe-again-maybe-no rule source at-start (repl rule) (subseq source match-length))) (t (values))))) (defmethod try-rule ((rule ordrule-regexp) source &key at-start) (if (and (only-at-start rule) (not at-start)) nil (let ((match-regexp (multiple-value-list (regexp-exec (match rule) source)))) (if match-regexp (maybe-again-maybe-no rule source at-start (maybe-repl-subexpr (repl rule) (rest match-regexp) source) (subseq source (match-end (first match-regexp)))) (values))))) ;; A regexp-compile object does not survive dump and reload. ;; Therefore we have to initialize it at first usage. (defvar *REPL-PATTERN* nil "Compiled regexp that matches a backpattern in a regexp replacement text.") ;; We need to substitute all \x and & constructs in the replacement text by ;; the respective subexpression from source's matches. They are ;; located with a regexp in a loop and we collect in 'final-repl the ;; strings in front of each \x and the actual subexpression. (defun maybe-repl-subexpr (repl source-matches source) (or *REPL-PATTERN* (setq *REPL-PATTERN* (regexp-compile "\\\\([1-9])|&" :extended t))) (do* ((start 0 (match-end (first subexpr-match))) (subexpr-match (multiple-value-list (regexp-exec *REPL-PATTERN* repl)) (multiple-value-list (regexp-exec *REPL-PATTERN* repl :start start))) (final-repl "")) ((null subexpr-match) ;; Don't forget to return the rest of the string, too. Its ;; index is now in 'start. (concatenate 'string final-repl (subseq repl start))) ;; OK, need a subexpr replacement. First, we determine which subexpression ;; this shall be: If it's "&", the second match subexpression will be nil, ;; as the parenthesis did not match anything. Otherwise the 2nd match ;; subexpr will be the digit. Then we get that subexpression from the ;; source string. Finally, we add the 'repl string part in front of \x and ;; the respective subexpression to 'final-repl and are ready to look for ;; our next \x construct. (let* ((subexpr-match-struct (second subexpr-match)) (subexpr (and subexpr-match-struct (match-string repl subexpr-match-struct))) (subexpr-repl (match-string source (nth (if (null subexpr) 0 (read-from-string subexpr)) source-matches)))) (setq final-repl (concatenate 'string final-repl (subseq repl 0 (match-start (first subexpr-match))) subexpr-repl))))) ;;; ;;; (rule-first-char RULE) => char or :regexp ;;; (defgeneric rule-first-char (rule) (:documentation "Returns the first char of a rule match. This returns either the first char of a rule match, or :regexp if that first char is a regular expression. The is used to find the slot for a rule in a rule table.")) (defmethod rule-first-char ((rule ordrule-char)) (match rule)) (defmethod rule-first-char ((rule ordrule-string)) (char (match rule) 0)) (defmethod rule-first-char ((rule ordrule-regexp)) (let* ((pattern (pattern rule)) (start-index (if (only-at-start rule) 1 0)) (first-char (char pattern start-index))) (cond ((char= first-char #\\) (char pattern (1+ start-index))) ((find first-char "[]|(){}.*+?") :regexp) (t first-char)))) ;;;; ============================================================ ;;;; ;;;; ORDRULE TABLES ;;;; ;; An ordrule table is a hash table of ordrule lists, indexed by the first ;; character of the rule. The key :regexp is the entry for rules that start ;; with a regexp pattern. (defclass ordrule-table () ((table :initarg :table :reader table)) (:documentation "A collection of ordrules.")) (defmethod print-object ((obj ordrule-table) stream) "Print an ordrule table." (format stream "#" (hash-table-count (table obj)))) (defun make-ordrule-table () "Create an ordrule-table object." (make-instance 'ordrule-table :table (make-hash-table :size 256))) (defun add-rule (rule-table rule) "Add a rule to an ordrule table." (let* ((first-char (rule-first-char rule)) (first-char-rules (gethash first-char (table rule-table)))) (if first-char-rules (nconc first-char-rules (list rule)) (setf (gethash first-char (table rule-table)) (list rule))))) ;; XXX This is the place where we might want to sort rules according to their ;; length. But then we should also cache that sort result, because this ;; function is called for each character in the index! ;; ;; XXX Maybe we should try a cache anyhow, to save appends, too? Need to ;; measure that. (defun get-rules (rule-table source-start) (append (gethash source-start (table rule-table)) (gethash :regexp (table rule-table)))) (defun apply-rules-once (rule-table source at-start) "Apply rules from rule-table once to source. Returns two values: (1) prefix that has been processed, (2) suffix that has still to be processed." (dolist (rule (get-rules rule-table (char source 0)) (values)) (multiple-value-bind (prefix suffix) (try-rule rule source :at-start at-start) (if (stringp prefix) (return (values prefix suffix)))))) (defun apply-rules (rule-table source &optional (at-start t)) "Apply rules from rule-table to source." (multiple-value-bind (prefix suffix) (apply-rules-once rule-table source at-start) (log-rule (format nil "apply rules once: '~A' => '~A' '~A'~%" source prefix suffix)) (cond ((null prefix) (if (= (length source) 1) source (concatenate 'string (subseq source 0 1) (apply-rules rule-table (subseq source 1) nil)))) ((string= suffix "") prefix) (t (concatenate 'string prefix (apply-rules rule-table suffix nil)))))) ;;;; ============================================================ ;;;; ;;;; LEGACY (C PLUGIN) INTERFACE ;;;; ;; The following code realizes the interface of xindy 2.3, even though we ;; could now use real Lisp objects. This is a transient phase only. (defvar *merge-rule-table* (make-ordrule-table)) ;; By default, we have runs 0..7. (defvar *sort-rule-tables* (let ((tables (make-array '(8) :element-type 'ordrule-table))) (dotimes (i 8) (setf (aref tables i) (make-ordrule-table))) tables)) (defun initialize (num) (setq *sort-rule-tables* (make-array (list num) :element-type 'ordrule-table)) (dotimes (i num) (setf (aref *sort-rule-tables* i) (make-ordrule-table)))) (defun add-keyword-rule (rule-table rule repl again ruletype) (let* ((again (if (= again 1) t nil)) (rule-obj (ecase ruletype (0 (make-ordrule rule repl :again again)) (1 (make-ordrule-string rule repl :again again)) (2 (make-ordrule-regexp rule repl :again again :extended nil)) (3 (make-ordrule-regexp rule repl :again again)) (4 (make-ordrule-char rule repl :again again))))) (add-rule rule-table rule-obj))) (defun add-keyword-merge-rule (rule repl again ruletype) (let* ((rule-list (add-keyword-rule *merge-rule-table* rule repl again ruletype)) (message (format nil "Add merge rule: ~S~%" (first (last rule-list))))) (log-rule message))) (defun add-keyword-sort-rule (run rule repl again ruletype) (let* ((rule-list (add-keyword-rule (aref *sort-rule-tables* run) rule repl again ruletype)) (message (format nil "Add sort rule to run ~A: ~S~%" run (first (last rule-list))))) (log-rule message))) (defun gen-keyword-mergekey (key) (let ((result (apply-rules *merge-rule-table* key))) (log-rule (format nil "Final merge-rule result: '~A' -> '~A'~%" key result)) result)) (defun gen-keyword-sortkey (key run) (let ((result (apply-rules (aref *sort-rule-tables* run) key))) (log-rule (format nil "Final sort-rule result, run ~A: '~A' -> '~A'~%" run key result)) result)) ;;; ;;; Logging ;;; (defvar *message-logging* nil "Boolean: Shall rule replacement be logged?") (defvar *message-buffer* "" "String with the log message. This is remaining cruft from the C plugin that could not use Lisp output streams itself.") (defvar *message-buffer-ptr* 0 "Current position in *message-buffer*. This is remaining cruft from the C plugin that could not use Lisp output streams itself.") (defun log-rule (message) (and *message-logging* (if (= (incf *message-buffer-ptr*) 1) (setq *message-buffer* message) (setq *message-buffer* (concatenate 'string *message-buffer* message))) )) ;;;====================================================================== ;; ;; $Log$ xindy-2.5.1.20160104/src/version.lsp000066400000000000000000000004701264235421100165430ustar00rootroot00000000000000;; $Id$ -*- Lisp -*- ;; ------------------------------------------------------------ ;; version identification of xindy kernel ;; src/version.lsp. (lisp:provide "version") (defpackage :xindy-version (:export *xindy-kernel-version*)) (in-package :xindy-version) (defconstant *xindy-kernel-version* "3.0") xindy-2.5.1.20160104/tex2xindy/000077500000000000000000000000001264235421100155045ustar00rootroot00000000000000xindy-2.5.1.20160104/tex2xindy/Makefile.am000066400000000000000000000021071264235421100175400ustar00rootroot00000000000000## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `automake Makefile' to create only Makefile.in. ## Copyright (C) 2004-2005 by Gour. ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. AM_CFLAGS = $(WARNING_CFLAGS) bin_PROGRAMS = tex2xindy tex2xindy_SOURCES = tex2xindy.l man_MANS = tex2xindy.1 EXTRA_DIST = $(man_MANS) ## CLEANFILES = tex2xindy.c xindy-2.5.1.20160104/tex2xindy/Makefile.in000066400000000000000000000521201264235421100175510ustar00rootroot00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = tex2xindy$(EXEEXT) subdir = xindy-2.5.1/tex2xindy ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ $(top_srcdir)/../../m4/kpse-progs.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 $(top_srcdir)/version.ac \ $(top_srcdir)/ac/xindy.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" PROGRAMS = $(bin_PROGRAMS) am_tex2xindy_OBJECTS = tex2xindy.$(OBJEXT) tex2xindy_OBJECTS = $(am_tex2xindy_OBJECTS) tex2xindy_LDADD = $(LDADD) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = @MAINTAINER_MODE_FALSE@am__skiplex = test -f $@ || LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) AM_V_LEX = $(am__v_LEX_@AM_V@) am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) am__v_LEX_0 = @echo " LEX " $@; am__v_LEX_1 = YLWRAP = $(top_srcdir)/../../build-aux/ylwrap SOURCES = $(tex2xindy_SOURCES) DIST_SOURCES = $(tex2xindy_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 NROFF = nroff MANS = $(man_MANS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in \ $(top_srcdir)/../../build-aux/depcomp \ $(top_srcdir)/../../build-aux/ylwrap tex2xindy.c DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibdir = @pkglibdir@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLISP = @CLISP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LISP_RUN = @LISP_RUN@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PERL = @PERL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WARNING_CFLAGS = @WARNING_CFLAGS@ WIN_WRAPPER = @WIN_WRAPPER@ XINDY_RUN = @XINDY_RUN@ XINDY_TREE = @XINDY_TREE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ memdir = @memdir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CFLAGS = $(WARNING_CFLAGS) tex2xindy_SOURCES = tex2xindy.l man_MANS = tex2xindy.1 EXTRA_DIST = $(man_MANS) all: all-am .SUFFIXES: .SUFFIXES: .c .l .o .obj $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xindy-2.5.1/tex2xindy/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign xindy-2.5.1/tex2xindy/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) tex2xindy$(EXEEXT): $(tex2xindy_OBJECTS) $(tex2xindy_DEPENDENCIES) $(EXTRA_tex2xindy_DEPENDENCIES) @rm -f tex2xindy$(EXEEXT) $(AM_V_CCLD)$(LINK) $(tex2xindy_OBJECTS) $(tex2xindy_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tex2xindy.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .l.c: $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) install-man1: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(MANS) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -rm -f tex2xindy.c clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ install-am install-binPROGRAMS install-data install-data-am \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-man1 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS uninstall-man uninstall-man1 .PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xindy-2.5.1.20160104/tex2xindy/tex2xindy.1000066400000000000000000000161001264235421100175220ustar00rootroot00000000000000.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05) .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "tex2xindy 1" .TH tex2xindy 1 "2010-05-10" "Version 1.24" "xindy" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" tex2xindy \- a preprocessor of the xindy index processor .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& tex2xindy [\-o] [attr_file] .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBtex2xindy\fR transforms a LaTeX index file \f(CW\*(C`.idx\*(C'\fR (or an \f(CW\*(C`.aux\*(C'\fR file) into a \fBxindy\fR raw index file. .PP It is a filter that reads from \fIstdin\fR a file in the input format of LaTeX's raw index file, i.e., with \f(CW\*(C`\eindexentry\*(C'\fR tags. It outputs on \&\fIstdout\fR a \fBxindy\fR raw index file, i.e., with \f(CW\*(C`indexentry\*(C'\fR clauses. .PP If the option \fB\-o\fR is not specified, \fBtex2xindy\fR handles ^^\-notation of TeX and outputs the octet that is represented: \f(CW\*(C`^^ab\*(C'\fR in the input gets output as the octet 0xab. If \f(CW\*(C`^^^^abcd\*(C'\fR or \f(CW\*(C`^^^^^^^^abcdefab\*(C'\fR are detected, they are output as is. .PP If the option \fB\-o\fR is specified, \fBtex2xindy\fR operates in \fIOmega mode\fR and handles its ^^\-notation: Then \f(CW\*(C`^^ab\*(C'\fR, \f(CW\*(C`^^^^abcd\*(C'\fR, and \&\f(CW\*(C`^^^^^^^^abcdefab\*(C'\fR represent Unicode characters with code points 0xab, 0xabcd, and 0xabcdefab respectively. They are output in \s-1UTF\-8\s0 encoding. .PP If the optional argument \fIattr_file\fR is specified, \fBtex2xindy\fR writes all index key attributes into this file. .SH "DEFICITS" .IX Header "DEFICITS" This program was written since it was not easily possible to extract the parser from the old makeindex system. Therefore it does not find all errors in the input as the \fImakeindex\fR\|(1) version. .PP Additionally it uses only the default input specifiers of \&\fImakeindex\fR\|(1). If other input specifiers (cf. manual page of \&\fImakeindex\fR\|(1)) are needed, the input specifiers (starting from the pattern \f(CW\*(C`KEYWORD\*(C'\fR, see below) must be changed and the program must be recompiled. .PP The particular missing feature is configuration of the quote and the actual characters, maybe also the escape, subitem (level), and encap characters. Argument and range delimiters seem to be less of a problem. .PP In fact, input markup handling (and thus \fBtex2xindy\fR) should be incorporated into the \fBxindy\fR kernel, to be able to specify configuration in xindy style files. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fItexindy\fR\|(1), \&\fIxindy\fR\|(1), \&\fImakeindex\fR\|(1) .SH "AUTHOR" .IX Header "AUTHOR" Roger Kehr, Institut fuer Theoretische Informatik, \s-1TU\s0 Darmstadt .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (c) 1996,1997 Roger Kehr. Copyright (c) 2006 Joachim Schrod. .PP This program is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but \&\s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. See the \s-1GNU\s0 General Public License for more details. .PP You should have received a copy of the \s-1GNU\s0 General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, \s-1MA\s0 02139, \s-1USA\s0. xindy-2.5.1.20160104/tex2xindy/tex2xindy.c000066400000000000000000001774121264235421100176220ustar00rootroot00000000000000#line 95 "tex2xindy.l" #include #include #ifdef WIN32 # include # ifndef __MINGW32__ /* this should be W32TeX */ # include # define YY_NO_UNISTD_H 1 # define __STDC_VERSION__ 199901L # endif #else # include #endif #line 18 "tex2xindy.c" #define YY_INT_ALIGNED short int /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ /* begin standard C headers. */ #include #include #include #include /* end standard C headers. */ /* flex integer type definitions */ #ifndef FLEXINT_H #define FLEXINT_H /* C99 systems have . Non-C99 systems may or may not. */ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 #endif #include typedef int8_t flex_int8_t; typedef uint8_t flex_uint8_t; typedef int16_t flex_int16_t; typedef uint16_t flex_uint16_t; typedef int32_t flex_int32_t; typedef uint32_t flex_uint32_t; #else typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; #endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif #ifndef INT16_MIN #define INT16_MIN (-32767-1) #endif #ifndef INT32_MIN #define INT32_MIN (-2147483647-1) #endif #ifndef INT8_MAX #define INT8_MAX (127) #endif #ifndef INT16_MAX #define INT16_MAX (32767) #endif #ifndef INT32_MAX #define INT32_MAX (2147483647) #endif #ifndef UINT8_MAX #define UINT8_MAX (255U) #endif #ifndef UINT16_MAX #define UINT16_MAX (65535U) #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ /* C99 requires __STDC__ to be defined as 1. */ #if defined (__STDC__) #define YY_USE_CONST #endif /* defined (__STDC__) */ #endif /* ! __cplusplus */ #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif /* Returned upon end-of-file. */ #define YY_NULL 0 /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN (yy_start) = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START (((yy_start) - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart(yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #ifndef YY_BUF_SIZE #define YY_BUF_SIZE 16384 #endif /* The state buf must be large enough to hold one state per character in the main buffer. */ #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif extern int yyleng; extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ *yy_cp = (yy_hold_char); \ YY_RESTORE_YY_MORE_OFFSET \ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, (yytext_ptr) ) #ifndef YY_TYPEDEF_YY_SIZE_T #define YY_TYPEDEF_YY_SIZE_T typedef size_t yy_size_t; #endif #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { FILE *yy_input_file; char *yy_ch_buf; /* input buffer */ char *yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. */ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ int yy_is_our_buffer; /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after * each newline. */ int yy_is_interactive; /* Whether we're considered to be at the beginning of a line. * If so, '^' rules will be active on the next match, otherwise * not. */ int yy_at_bol; int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process * then we mark the buffer as YY_EOF_PENDING, to indicate that we * shouldn't try reading from the input source any more. We might * still have a bunch of tokens to match, though, because of * possible backing-up. * * When we actually see the EOF, we change the status to "new" * (via yyrestart()), so that the user can continue scanning by * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; #endif /* !YY_STRUCT_YY_BUFFER_STATE */ /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". * * Returns the top of the stack, or NULL. */ #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ : NULL) /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; void yyrestart (FILE *input_file ); void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); void yy_delete_buffer (YY_BUFFER_STATE b ); void yy_flush_buffer (YY_BUFFER_STATE b ); void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); void yypop_buffer_state (void ); static void yyensure_buffer_stack (void ); static void yy_load_buffer_state (void ); static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); void *yyalloc (yy_size_t ); void *yyrealloc (void *,yy_size_t ); void yyfree (void * ); #define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ yyensure_buffer_stack (); \ YY_CURRENT_BUFFER_LVALUE = \ yy_create_buffer(yyin,YY_BUF_SIZE ); \ } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) /* Begin user sect3 */ typedef unsigned char YY_CHAR; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; extern int yylineno; int yylineno = 1; extern char *yytext; #define yytext_ptr yytext static yy_state_type yy_get_previous_state (void ); static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); static int yy_get_next_buffer (void ); static void yy_fatal_error (yyconst char msg[] ); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ (yytext_ptr) = yy_bp; \ yyleng = (size_t) (yy_cp - yy_bp); \ (yy_hold_char) = *yy_cp; \ *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; #define YY_NUM_RULES 36 #define YY_END_OF_BUFFER 37 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; static yyconst flex_int16_t yy_accept[116] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 35, 34, 33, 35, 35, 32, 32, 31, 8, 32, 7, 12, 32, 32, 10, 6, 11, 9, 13, 34, 35, 24, 25, 19, 19, 19, 19, 15, 16, 19, 17, 14, 18, 20, 21, 22, 23, 27, 27, 27, 27, 26, 5, 4, 3, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 30, 0 } ; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 4, 5, 1, 1, 1, 1, 1, 6, 7, 1, 1, 1, 1, 1, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 1, 1, 1, 1, 1, 10, 8, 8, 8, 8, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 11, 1, 12, 1, 1, 13, 8, 8, 14, 15, 8, 16, 1, 17, 1, 1, 18, 1, 19, 20, 1, 1, 21, 22, 23, 1, 1, 1, 24, 25, 1, 26, 27, 28, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst flex_int32_t yy_meta[29] = { 0, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst flex_int16_t yy_base[123] = { 0, 0, 4, 14, 41, 0, 4, 68, 93, 116, 0, 143, 170, 8, 9, 1, 2, 197, 224, 174, 263, 263, 263, 165, 15, 263, 263, 263, 263, 164, 263, 263, 161, 153, 263, 263, 263, 263, 263, 31, 159, 263, 263, 263, 263, 263, 160, 263, 263, 157, 263, 263, 263, 263, 263, 263, 263, 263, 263, 158, 155, 263, 263, 263, 263, 141, 136, 141, 36, 263, 132, 133, 41, 129, 112, 117, 263, 119, 102, 99, 50, 109, 102, 99, 67, 101, 81, 80, 70, 85, 64, 64, 263, 78, 61, 53, 92, 42, 35, 95, 36, 46, 103, 26, 64, 263, 114, 14, 122, 75, 125, 86, 263, 143, 263, 263, 252, 254, 256, 258, 260, 20, 19 } ; static yyconst flex_int16_t yy_def[123] = { 0, 116, 116, 117, 117, 4, 4, 116, 116, 4, 9, 118, 118, 9, 9, 9, 9, 119, 119, 115, 115, 115, 115, 120, 115, 115, 115, 115, 115, 120, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 120, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 120, 115, 115, 115, 115, 115, 115, 115, 121, 115, 115, 115, 115, 115, 115, 115, 115, 115, 122, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 0, 115, 115, 115, 115, 115, 115, 115 } ; static yyconst flex_int16_t yy_nxt[292] = { 0, 115, 21, 22, 37, 23, 21, 22, 37, 23, 38, 24, 53, 53, 38, 24, 26, 27, 28, 29, 64, 80, 72, 30, 31, 32, 33, 54, 54, 56, 56, 65, 66, 68, 54, 54, 55, 55, 68, 109, 34, 35, 36, 26, 27, 28, 29, 107, 104, 76, 30, 31, 32, 33, 76, 76, 76, 69, 84, 103, 101, 100, 69, 84, 84, 84, 104, 34, 35, 36, 39, 22, 105, 23, 98, 88, 97, 111, 92, 40, 88, 88, 88, 92, 92, 92, 96, 95, 111, 94, 105, 96, 96, 96, 41, 39, 22, 93, 23, 91, 99, 112, 90, 102, 40, 99, 99, 99, 102, 102, 102, 106, 112, 89, 87, 86, 106, 106, 106, 41, 25, 85, 108, 83, 82, 25, 25, 108, 108, 108, 110, 81, 79, 113, 78, 110, 110, 110, 113, 113, 113, 77, 25, 25, 42, 44, 45, 75, 46, 47, 48, 114, 74, 73, 49, 71, 114, 114, 114, 70, 64, 63, 64, 63, 64, 67, 64, 63, 63, 50, 51, 52, 44, 45, 115, 46, 47, 48, 115, 115, 115, 49, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 50, 51, 52, 58, 22, 115, 59, 115, 115, 115, 115, 115, 60, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 61, 58, 22, 115, 59, 115, 115, 115, 115, 115, 60, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 61, 20, 20, 25, 25, 43, 43, 57, 57, 62, 62, 19, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 } ; static yyconst flex_int16_t yy_chk[292] = { 0, 0, 1, 1, 5, 1, 2, 2, 6, 2, 5, 1, 13, 14, 6, 2, 3, 3, 3, 3, 24, 122, 121, 3, 3, 3, 3, 15, 16, 15, 16, 24, 24, 39, 13, 14, 13, 14, 68, 107, 3, 3, 3, 4, 4, 4, 4, 103, 101, 72, 4, 4, 4, 4, 72, 72, 72, 39, 80, 100, 98, 97, 68, 80, 80, 80, 104, 4, 4, 4, 7, 7, 101, 7, 95, 84, 94, 109, 88, 7, 84, 84, 84, 88, 88, 88, 93, 91, 111, 90, 104, 93, 93, 93, 7, 8, 8, 89, 8, 87, 96, 109, 86, 99, 8, 96, 96, 96, 99, 99, 99, 102, 111, 85, 83, 82, 102, 102, 102, 8, 9, 81, 106, 79, 78, 9, 9, 106, 106, 106, 108, 77, 75, 110, 74, 108, 108, 108, 110, 110, 110, 73, 9, 9, 9, 11, 11, 71, 11, 11, 11, 113, 70, 67, 11, 66, 113, 113, 113, 65, 60, 59, 49, 46, 40, 33, 32, 29, 23, 11, 11, 11, 12, 12, 19, 12, 12, 12, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 12, 12, 17, 17, 0, 17, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 18, 18, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 116, 116, 117, 117, 118, 118, 119, 119, 120, 120, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; extern int yy_flex_debug; int yy_flex_debug = 0; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "tex2xindy.l" #line 4 "tex2xindy.l" /* $Id: tex2xindy.l,v 1.24 2010/05/10 23:02:17 jschrod Exp $ ============================================================ (history at end) =head1 NAME tex2xindy - a preprocessor of the xindy index processor =head1 SYNOPSIS tex2xindy [-o] [attr_file] =head1 DESCRIPTION B transforms a LaTeX index file C<.idx> (or an C<.aux> file) into a B raw index file. It is a filter that reads from F a file in the input format of LaTeX's raw index file, i.e., with C<\indexentry> tags. It outputs on F a B raw index file, i.e., with C clauses. If the option B<-o> is not specified, B handles ^^-notation of TeX and outputs the octet that is represented: C<^^ab> in the input gets output as the octet 0xab. If C<^^^^abcd> or C<^^^^^^^^abcdefab> are detected, they are output as is. If the option B<-o> is specified, B operates in I and handles its ^^-notation: Then C<^^ab>, C<^^^^abcd>, and C<^^^^^^^^abcdefab> represent Unicode characters with code points 0xab, 0xabcd, and 0xabcdefab respectively. They are output in UTF-8 encoding. If the optional argument F is specified, B writes all index key attributes into this file. =head1 DEFICITS This program was written since it was not easily possible to extract the parser from the old makeindex system. Therefore it does not find all errors in the input as the makeindex(1) version. Additionally it uses only the default input specifiers of makeindex(1). If other input specifiers (cf. manual page of makeindex(1)) are needed, the input specifiers (starting from the pattern C, see below) must be changed and the program must be recompiled. The particular missing feature is configuration of the quote and the actual characters, maybe also the escape, subitem (level), and encap characters. Argument and range delimiters seem to be less of a problem. In fact, input markup handling (and thus B) should be incorporated into the B kernel, to be able to specify configuration in xindy style files. =head1 SEE ALSO texindy(1), xindy(1), makeindex(1) =head1 AUTHOR Roger Kehr, Institut fuer Theoretische Informatik, TU Darmstadt =head1 COPYRIGHT AND LICENSE Copyright (c) 1996,1997 Roger Kehr. Copyright (c) 2006 Joachim Schrod. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. =cut */ #line 110 "tex2xindy.l" #define QUOTE_ECHO qs(yytext) FILE* attrfd = NULL; static int lineno = 1; static int braces = 0; static int xref_mode = 0; static int glos_mode = 0; static int errors = 0; static int omega_mode = 0; #define multiple_err \ { \ fprintf(stderr, "line %d: multiple %s's\n", lineno, yytext); \ errors++; \ } #define NO_RANGE 0 #define OPEN_RANGE 1 #define CLOSE_RANGE 2 int range = NO_RANGE; /* This function quotes a character, if necessary. */ static void qc( char ch ) { switch (ch) { case '\\' : case '"' : putchar( '\\' ); break; } putchar(ch); } /* Quote an entire string. */ static void qs( char* str ) { while ( *str ) { qc( *str++ ); } } /* Output an Omega character, ^^-notation in yytext, in UTF-8 encoding. The parameter gets passed the amount of hex digits in the ^^-notation. In front of the hex digits are the same amount of ^ chars. */ static void omega_output_utf8 ( int width ) { unsigned long int c = strtoul (yytext+width, NULL, 16); if (c < 0x80) { putchar (c); } else if (c < 0x800) { putchar (0xC0 | (c>>6)); putchar (0x80 | (c & 0x3F)); } else if (c < 0x10000) { putchar (0xE0 | (c>>12)); putchar (0x80 | (c>>6 & 0x3F)); putchar (0x80 | (c & 0x3F)); } else if (c < 0x200000) { putchar (0xF0 | (c>>18)); putchar (0x80 | (c>>12 & 0x3F)); putchar (0x80 | (c>>6 & 0x3F)); putchar (0x80 | (c & 0x3F)); } else if (c < 0x4000000) { putchar (0xF8 | (c>>24)); putchar (0x80 | (c>>18 & 0x3F)); putchar (0x80 | (c>>12 & 0x3F)); putchar (0x80 | (c>>6 & 0x3F)); putchar (0x80 | (c & 0x3F)); } else if (c < 0x80000000) { putchar (0xFC | (c>>30)); putchar (0x80 | (c>>24 & 0x3F)); putchar (0x80 | (c>>18 & 0x3F)); putchar (0x80 | (c>>12 & 0x3F)); putchar (0x80 | (c>>6 & 0x3F)); putchar (0x80 | (c & 0x3F)); } else { /* out of range, output U+FFFD REPLACEMENT CHARACTER */ fputs("\xef\xbf\xbd",stdout); fprintf (stderr, "line %d: character %#lx not in UTF-8 range\n", lineno, c); } } #line 751 "tex2xindy.c" #define INITIAL 0 #define key 1 #define print 2 #define skip2location 3 #define location 4 #define encap 5 #define xref 6 #define is 7 #define skiplocation 8 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */ #include #endif #ifndef YY_EXTRA_TYPE #define YY_EXTRA_TYPE void * #endif static int yy_init_globals (void ); /* Accessor methods to globals. These are made visible to non-reentrant scanners for convenience. */ int yylex_destroy (void ); int yyget_debug (void ); void yyset_debug (int debug_flag ); YY_EXTRA_TYPE yyget_extra (void ); void yyset_extra (YY_EXTRA_TYPE user_defined ); FILE *yyget_in (void ); void yyset_in (FILE * in_str ); FILE *yyget_out (void ); void yyset_out (FILE * out_str ); int yyget_leng (void ); char *yyget_text (void ); int yyget_lineno (void ); void yyset_lineno (int line_number ); /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int yywrap (void ); #else extern int yywrap (void ); #endif #endif static void yyunput (int c,char *buf_ptr ); #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ); #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * ); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void ); #else static int input (void ); #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 8192 #endif /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ #define ECHO fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ int n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ break; \ } \ errno=0; \ clearerr(yyin); \ } \ }\ \ #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */ #ifndef yyterminate #define yyterminate() return YY_NULL #endif /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) #endif /* end tables serialization structures and prototypes */ /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL_IS_OURS 1 extern int yylex (void); #define YY_DECL int yylex (void) #endif /* !YY_DECL */ /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION #define YY_USER_ACTION #endif /* Code executed at the end of each rule. */ #ifndef YY_BREAK #define YY_BREAK break; #endif #define YY_RULE_SETUP \ YY_USER_ACTION /** The main scanner function which does all the work. */ YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; #line 222 "tex2xindy.l" #line 944 "tex2xindy.c" if ( !(yy_init) ) { (yy_init) = 1; #ifdef YY_USER_INIT YY_USER_INIT; #endif if ( ! (yy_start) ) (yy_start) = 1; /* first start state */ if ( ! yyin ) yyin = stdin; if ( ! yyout ) yyout = stdout; if ( ! YY_CURRENT_BUFFER ) { yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = yy_create_buffer(yyin,YY_BUF_SIZE ); } yy_load_buffer_state( ); } while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = (yy_c_buf_p); /* Support of yytext. */ *yy_cp = (yy_hold_char); /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; yy_current_state = (yy_start); yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 116 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } while ( yy_current_state != 115 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); yy_find_action: yy_act = yy_accept[yy_current_state]; YY_DO_BEFORE_ACTION; do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ *yy_cp = (yy_hold_char); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); goto yy_find_action; case 1: YY_RULE_SETUP #line 224 "tex2xindy.l" { printf("(indexentry :tkey ((\""); xref_mode = 0; glos_mode = 0; BEGIN(key); } YY_BREAK case 2: YY_RULE_SETUP #line 231 "tex2xindy.l" { printf("(indexentry :tkey ((\""); xref_mode = 0; glos_mode = 1; BEGIN(key); } YY_BREAK case 3: YY_RULE_SETUP #line 238 "tex2xindy.l" { QUOTE_ECHO; } YY_BREAK case 4: /* rule 4 can match eol */ YY_RULE_SETUP #line 239 "tex2xindy.l" { qc(yytext[1]); lineno++; } YY_BREAK case 5: YY_RULE_SETUP #line 240 "tex2xindy.l" { qc(yytext[1]); } YY_BREAK case 6: YY_RULE_SETUP #line 241 "tex2xindy.l" { printf("\")) :attr \""); range = NO_RANGE; BEGIN(encap); } YY_BREAK case 7: YY_RULE_SETUP #line 246 "tex2xindy.l" { if ( glos_mode ) { printf("\")) :attr \"is\" :xref (\""); range = NO_RANGE; if (attrfd) fprintf(attrfd, "\txref\n"); BEGIN(is); } else { ECHO; } } YY_BREAK case 8: YY_RULE_SETUP #line 256 "tex2xindy.l" { printf("\") (\""); } YY_BREAK case 9: YY_RULE_SETUP #line 257 "tex2xindy.l" { printf("\") (\""); BEGIN(key); } YY_BREAK case 10: YY_RULE_SETUP #line 258 "tex2xindy.l" { ECHO; braces++; } YY_BREAK case 11: YY_RULE_SETUP #line 259 "tex2xindy.l" { if ( braces > 0 ) { ECHO; braces--; } else { printf("\"))"); BEGIN(skip2location); } } YY_BREAK case 12: YY_RULE_SETUP #line 269 "tex2xindy.l" { printf("\" \""); BEGIN(print); } YY_BREAK case 13: YY_RULE_SETUP #line 270 "tex2xindy.l" { multiple_err; } YY_BREAK case 14: YY_RULE_SETUP #line 272 "tex2xindy.l" { multiple_err; } YY_BREAK case 15: YY_RULE_SETUP #line 273 "tex2xindy.l" { range = OPEN_RANGE; } YY_BREAK case 16: YY_RULE_SETUP #line 274 "tex2xindy.l" { range = CLOSE_RANGE; } YY_BREAK case 17: YY_RULE_SETUP #line 275 "tex2xindy.l" { /* close :attr "... */ printf("\" :xref (\""); if (attrfd) fprintf(attrfd, "\txref\n"); braces++; BEGIN(xref); } YY_BREAK case 18: YY_RULE_SETUP #line 281 "tex2xindy.l" { if ( braces > 0 ) { ECHO; braces--; } else { putchar('"'); if (attrfd) fprintf(attrfd, "\tlocref\n"); switch (range) { case OPEN_RANGE: printf(" :open-range"); break; case CLOSE_RANGE: printf(" :close-range"); break; } BEGIN(skip2location); } } YY_BREAK case 19: /* rule 19 can match eol */ YY_RULE_SETUP #line 299 "tex2xindy.l" { QUOTE_ECHO; if (attrfd) fwrite(yytext, sizeof(char), 1, attrfd); if (*yytext == '\n') lineno++; } YY_BREAK case 20: YY_RULE_SETUP #line 307 "tex2xindy.l" { printf("\" \""); } YY_BREAK case 21: YY_RULE_SETUP #line 308 "tex2xindy.l" { ECHO; braces++; } YY_BREAK case 22: YY_RULE_SETUP #line 309 "tex2xindy.l" { if ( braces > 1 ) { ECHO; braces--; } else if ( braces == 1 ) { braces--; } else { printf("\")"); xref_mode = 1; BEGIN(skip2location); } } YY_BREAK case 23: YY_RULE_SETUP #line 321 "tex2xindy.l" { if ( braces > 0 ) { ECHO; braces--; } else { printf("\")"); xref_mode = 1; BEGIN(skip2location); } } YY_BREAK case 24: YY_RULE_SETUP #line 332 "tex2xindy.l" { if (xref_mode) { BEGIN(skiplocation); } else { printf(" :locref \""); BEGIN(location); } } YY_BREAK case 25: YY_RULE_SETUP #line 340 "tex2xindy.l" { printf("\")\n"); BEGIN(0); } YY_BREAK case 26: YY_RULE_SETUP #line 342 "tex2xindy.l" { printf(")\n"); BEGIN(0); } YY_BREAK case 27: YY_RULE_SETUP #line 343 "tex2xindy.l" { ; } YY_BREAK case 28: YY_RULE_SETUP #line 345 "tex2xindy.l" { if ( omega_mode ) { omega_output_utf8(2); } else { unput( strtol(yytext+2, NULL, 16) ); } } YY_BREAK case 29: YY_RULE_SETUP #line 352 "tex2xindy.l" { if ( omega_mode ) { omega_output_utf8(4); } else { ECHO; } } YY_BREAK case 30: YY_RULE_SETUP #line 359 "tex2xindy.l" { if ( omega_mode ) { omega_output_utf8(8); } else { ECHO; } } YY_BREAK case 31: /* rule 31 can match eol */ YY_RULE_SETUP #line 367 "tex2xindy.l" { ECHO; lineno++; } YY_BREAK case 32: YY_RULE_SETUP #line 368 "tex2xindy.l" { QUOTE_ECHO; } YY_BREAK case 33: /* rule 33 can match eol */ YY_RULE_SETUP #line 370 "tex2xindy.l" { lineno++; } YY_BREAK case 34: YY_RULE_SETUP #line 371 "tex2xindy.l" { ; } YY_BREAK case 35: YY_RULE_SETUP #line 372 "tex2xindy.l" { fprintf(stderr, "Encountered unexpected char '%c' on line %d\n", yytext[0], lineno); } YY_BREAK case 36: YY_RULE_SETUP #line 378 "tex2xindy.l" ECHO; YY_BREAK #line 1313 "tex2xindy.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(key): case YY_STATE_EOF(print): case YY_STATE_EOF(skip2location): case YY_STATE_EOF(location): case YY_STATE_EOF(encap): case YY_STATE_EOF(xref): case YY_STATE_EOF(is): case YY_STATE_EOF(skiplocation): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = (yy_hold_char); YY_RESTORE_YY_MORE_OFFSET if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure * consistency between YY_CURRENT_BUFFER and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) { /* This was really a NUL. */ yy_state_type yy_next_state; (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state( ); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */ yy_next_state = yy_try_NUL_trans( yy_current_state ); yy_bp = (yytext_ptr) + YY_MORE_ADJ; if ( yy_next_state ) { /* Consume the NUL. */ yy_cp = ++(yy_c_buf_p); yy_current_state = yy_next_state; goto yy_match; } else { yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); goto yy_find_action; } } else switch ( yy_get_next_buffer( ) ) { case EOB_ACT_END_OF_FILE: { (yy_did_buffer_switch_on_eof) = 0; if ( yywrap( ) ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; } else { if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state( ); yy_cp = (yy_c_buf_p); yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: (yy_c_buf_p) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; yy_current_state = yy_get_previous_state( ); yy_cp = (yy_c_buf_p); yy_bp = (yytext_ptr) + YY_MORE_ADJ; goto yy_find_action; } break; } default: YY_FATAL_ERROR( "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: * EOB_ACT_LAST_MATCH - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ static int yy_get_next_buffer (void) { register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; register char *source = (yytext_ptr); register int number_to_move, i; int ret_val; if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; } else { /* We matched some text prior to the EOB, first * process it. */ return EOB_ACT_LAST_MATCH; } } /* Try to read more data. */ /* First move last chars to start of buffer. */ number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; else { int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) ((yy_c_buf_p) - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" ); (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), (yy_n_chars), (size_t) num_to_read ); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } if ( (yy_n_chars) == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart(yyin ); } else { ret_val = EOB_ACT_LAST_MATCH; YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); } (yy_n_chars) += number_to_move; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; return ret_val; } /* yy_get_previous_state - get the state just before the EOB char was reached */ static yy_state_type yy_get_previous_state (void) { register yy_state_type yy_current_state; register char *yy_cp; yy_current_state = (yy_start); for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) { register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 116 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; } /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { register int yy_is_jam; register char *yy_cp = (yy_c_buf_p); register YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { (yy_last_accepting_state) = yy_current_state; (yy_last_accepting_cpos) = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 116 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_is_jam = (yy_current_state == 115); return yy_is_jam ? 0 : yy_current_state; } static void yyunput (int c, register char * yy_bp ) { register char *yy_cp; yy_cp = (yy_c_buf_p); /* undo effects of setting up yytext */ *yy_cp = (yy_hold_char); if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ register int number_to_move = (yy_n_chars) + 2; register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; register char *source = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) *--dest = *--source; yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } *--yy_cp = (char) c; (yytext_ptr) = yy_bp; (yy_hold_char) = *yy_cp; (yy_c_buf_p) = yy_cp; } #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput (void) #else static int input (void) #endif { int c; *(yy_c_buf_p) = (yy_hold_char); if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) /* This was really a NUL. */ *(yy_c_buf_p) = '\0'; else { /* need more input */ int offset = (yy_c_buf_p) - (yytext_ptr); ++(yy_c_buf_p); switch ( yy_get_next_buffer( ) ) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() * sees that we've accumulated a * token and flags that we need to * try matching the token before * proceeding. But for input(), * there's no matching to consider. * So convert the EOB_ACT_LAST_MATCH * to EOB_ACT_END_OF_FILE. */ /* Reset buffer status. */ yyrestart(yyin ); /*FALLTHROUGH*/ case EOB_ACT_END_OF_FILE: { if ( yywrap( ) ) return EOF; if ( ! (yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else return input(); #endif } case EOB_ACT_CONTINUE_SCAN: (yy_c_buf_p) = (yytext_ptr) + offset; break; } } } c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ *(yy_c_buf_p) = '\0'; /* preserve yytext */ (yy_hold_char) = *++(yy_c_buf_p); return c; } #endif /* ifndef YY_NO_INPUT */ /** Immediately switch to a different input stream. * @param input_file A readable stream. * * @note This function does not reset the start condition to @c INITIAL . */ void yyrestart (FILE * input_file ) { if ( ! YY_CURRENT_BUFFER ){ yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = yy_create_buffer(yyin,YY_BUF_SIZE ); } yy_init_buffer(YY_CURRENT_BUFFER,input_file ); yy_load_buffer_state( ); } /** Switch to a different input buffer. * @param new_buffer The new input buffer. * */ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { /* TODO. We should be able to replace this entire function body * with * yypop_buffer_state(); * yypush_buffer_state(new_buffer); */ yyensure_buffer_stack (); if ( YY_CURRENT_BUFFER == new_buffer ) return; if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(yy_c_buf_p) = (yy_hold_char); YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } YY_CURRENT_BUFFER_LVALUE = new_buffer; yy_load_buffer_state( ); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ (yy_did_buffer_switch_on_eof) = 1; } static void yy_load_buffer_state (void) { (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); } /** Allocate and initialize an input buffer state. * @param file A readable stream. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. * * @return the allocated buffer state. */ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; yy_init_buffer(b,file ); return b; } /** Destroy the buffer. * @param b a buffer created with yy_create_buffer() * */ void yy_delete_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) yyfree((void *) b->yy_ch_buf ); yyfree((void *) b ); } /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a yyrestart() or at EOF. */ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) { int oerrno = errno; yy_flush_buffer(b ); b->yy_input_file = file; b->yy_fill_buffer = 1; /* If b is the current buffer, then yy_init_buffer was _probably_ * called from yyrestart() or through yy_get_next_buffer. * In that case, we don't want to reset the lineno or column. */ if (b != YY_CURRENT_BUFFER){ b->yy_bs_lineno = 1; b->yy_bs_column = 0; } b->yy_is_interactive = 0; errno = oerrno; } /** Discard all buffered characters. On the next scan, YY_INPUT will be called. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. * */ void yy_flush_buffer (YY_BUFFER_STATE b ) { if ( ! b ) return; b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; b->yy_buf_pos = &b->yy_ch_buf[0]; b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; if ( b == YY_CURRENT_BUFFER ) yy_load_buffer_state( ); } /** Pushes the new state onto the stack. The new state becomes * the current state. This function will allocate the stack * if necessary. * @param new_buffer The new state. * */ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { if (new_buffer == NULL) return; yyensure_buffer_stack(); /* This block is copied from yy_switch_to_buffer. */ if ( YY_CURRENT_BUFFER ) { /* Flush out information for old buffer. */ *(yy_c_buf_p) = (yy_hold_char); YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); } /* Only push if top exists. Otherwise, replace top. */ if (YY_CURRENT_BUFFER) (yy_buffer_stack_top)++; YY_CURRENT_BUFFER_LVALUE = new_buffer; /* copied from yy_switch_to_buffer. */ yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. * */ void yypop_buffer_state (void) { if (!YY_CURRENT_BUFFER) return; yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; if ((yy_buffer_stack_top) > 0) --(yy_buffer_stack_top); if (YY_CURRENT_BUFFER) { yy_load_buffer_state( ); (yy_did_buffer_switch_on_eof) = 1; } } /* Allocates the stack if it does not exist. * Guarantees space for at least one push. */ static void yyensure_buffer_stack (void) { int num_to_alloc; if (!(yy_buffer_stack)) { /* First allocation is just for 2 elements, since we don't know if this * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ num_to_alloc = 1; (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; } if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ int grow_size = 8 /* arbitrary grow size */; num_to_alloc = (yy_buffer_stack_max) + grow_size; (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc ((yy_buffer_stack), num_to_alloc * sizeof(struct yy_buffer_state*) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); /* zero only the new slots.*/ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); (yy_buffer_stack_max) = num_to_alloc; } } /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; yy_switch_to_buffer(b ); return b; } /** Setup the input buffer state to scan a string. The next call to yylex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use * yy_scan_bytes() instead. */ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) { return yy_scan_bytes(yystr,strlen(yystr) ); } /** Setup the input buffer state to scan the given bytes. The next call to yylex() will * scan from a @e copy of @a bytes. * @param bytes the byte buffer to scan * @param len the number of bytes in the buffer pointed to by @a bytes. * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) { YY_BUFFER_STATE b; char *buf; yy_size_t n; int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) yyalloc(n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < _yybytes_len; ++i ) buf[i] = yybytes[i]; buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; b = yy_scan_buffer(buf,n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. */ b->yy_is_our_buffer = 1; return b; } #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif static void yy_fatal_error (yyconst char* msg ) { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* Redefine yyless() so it works in section 3 code. */ #undef yyless #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ int yyless_macro_arg = (n); \ YY_LESS_LINENO(yyless_macro_arg);\ yytext[yyleng] = (yy_hold_char); \ (yy_c_buf_p) = yytext + yyless_macro_arg; \ (yy_hold_char) = *(yy_c_buf_p); \ *(yy_c_buf_p) = '\0'; \ yyleng = yyless_macro_arg; \ } \ while ( 0 ) /* Accessor methods (get/set functions) to struct members. */ /** Get the current line number. * */ int yyget_lineno (void) { return yylineno; } /** Get the input stream. * */ FILE *yyget_in (void) { return yyin; } /** Get the output stream. * */ FILE *yyget_out (void) { return yyout; } /** Get the length of the current token. * */ int yyget_leng (void) { return yyleng; } /** Get the current token. * */ char *yyget_text (void) { return yytext; } /** Set the current line number. * @param line_number * */ void yyset_lineno (int line_number ) { yylineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param in_str A readable stream. * * @see yy_switch_to_buffer */ void yyset_in (FILE * in_str ) { yyin = in_str ; } void yyset_out (FILE * out_str ) { yyout = out_str ; } int yyget_debug (void) { return yy_flex_debug; } void yyset_debug (int bdebug ) { yy_flex_debug = bdebug ; } static int yy_init_globals (void) { /* Initialization is the same as for the non-reentrant scanner. * This function is called from yylex_destroy(), so don't allocate here. */ (yy_buffer_stack) = 0; (yy_buffer_stack_top) = 0; (yy_buffer_stack_max) = 0; (yy_c_buf_p) = (char *) 0; (yy_init) = 0; (yy_start) = 0; /* Defined in main.c */ #ifdef YY_STDINIT yyin = stdin; yyout = stdout; #else yyin = (FILE *) 0; yyout = (FILE *) 0; #endif /* For future reference: Set errno on error, since we are called by * yylex_init() */ return 0; } /* yylex_destroy is for both reentrant and non-reentrant scanners. */ int yylex_destroy (void) { /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ yy_delete_buffer(YY_CURRENT_BUFFER ); YY_CURRENT_BUFFER_LVALUE = NULL; yypop_buffer_state(); } /* Destroy the stack itself. */ yyfree((yy_buffer_stack) ); (yy_buffer_stack) = NULL; /* Reset the globals. This is important in a non-reentrant scanner so the next time * yylex() is called, initialization will occur. */ yy_init_globals( ); return 0; } /* * Internal utility routines. */ #ifndef yytext_ptr static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) { register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen (yyconst char * s ) { register int n; for ( n = 0; s[n]; ++n ) ; return n; } #endif void *yyalloc (yy_size_t size ) { return (void *) malloc( size ); } void *yyrealloc (void * ptr, yy_size_t size ) { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter * because both ANSI C and C++ allow castless assignment from * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); } void yyfree (void * ptr ) { free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" #line 378 "tex2xindy.l" static void usage (void) { fputs("This is tex2xindy, $Revision: 1.24 $.\n", stderr); fputs("usage: tex2xindy [-o] [attr_file]\n", stderr); exit (1); } int main(int argc, char* argv[]) { int option; #ifdef WIN32 setmode (fileno(stdout), _O_BINARY); #else extern char *optarg; extern int optind, optopt; #endif while ( (option=getopt(argc, argv, ":o")) != -1 ) { switch (option) { case 'o': omega_mode = 1; break; case '?': default: fprintf(stderr, "Unrecognized option: -%c\n", optopt); usage(); /* NOTREACHED */ } } /* More than one argument left? */ if ( optind < argc - 1 ) usage(); /* attr_file specified? */ if ( optind == argc - 1 ) { fprintf(stderr, "Writing attribute names to file \"%s\".\n", argv[optind]); if ( (attrfd = fopen(argv[optind], "wb")) == NULL ) { perror (argv[optind]); exit (1); } } yylex(); if (attrfd) fclose(attrfd); return (errors > 0); /* 1 or 0 */ } /* * Define dummy yywrap so we no longer depend on `libfl.a'. */ int yywrap (void) { return 1; } /* ============================================================ $Log: tex2xindy.l,v $ Revision 1.24 2010/05/10 23:02:17 jschrod Use ANSI C function definitions. (Patch from peb.) Revision 1.23 2009/12/03 00:42:14 jschrod Define internal functions as static to silence gcc warnings. Revision 1.22 2009/12/03 00:36:09 jschrod Define yywrap(), to be independent from libfl. Revision 1.21 2006/07/30 09:44:04 jschrod While quote is not output, escape+quote *is* output. Revision 1.20 2006/07/18 21:40:45 jschrod Add parenthesis as recommended by gcc -Wall. Use ECHO instead of QUOTE_ECHO where quoting will not be needed. Code cleanup: sanitize braces and indentation. Revision 1.19 2006/07/18 21:26:34 jschrod Add man page as POD to tex2xindy source. Add support for ^^-notation, both in TeX and in new Omega mode. Add usage message and proper option parsing. Revision 1.18 2006/02/21 12:12:05 jschrod Don't output escape or quote characters. Revision 1.17 2006/02/21 02:05:00 jschrod Quote really quotes the next char, now. Revision 1.16 2005/06/27 20:49:06 jschrod Keywords may be inmidst a line, as Jörg Sommer showed. "." rule merging did not work for attributes, and for skiplocation. Output error message if we come across chars outside our FSA. Revision 1.15 2005/06/14 16:22:08 jschrod Fold in changes from Thomas Henlich, as of 2000-02-14: Paranoia fix: recognize KEYWORD only in INITIAL start condition. Recognize \n and count lines (multiline entries do exist!). Merged "." rules. Fixed error messages (multiple ...). Revision 1.14 2004/10/05 21:10:48 jschrod Handles quote character correctly (bug ticket 1006128). Test case: german-sty. Revision 1.13 2002/01/29 13:32:58 thenlich Fixed bug in crossref-to-subitem bugfix. The original one proposed by Roger Kehr was right, only I copied it wrongly (shame on me). Thanks to Torsten Bronger for pointing it out to me. Revision 1.12 1999/10/13 08:06:44 kehr Changed revision number message back to RCS-tag. No functional changes. Revision 1.11 1999/10/13 08:05:10 kehr Merged bugfix from Thomas Henlich with my own modifications. 1.8 Fixed minor quoting bugs (for increased makeindex compatibility). 1999-07-28 Thomas Henlich Fixed crossref to subitem. 1999-09-23 Thomas Henlich 1.7 Fixed a bug concerning writing to and closing non-existing file (stat) Fixed a bug concerning quoting the " character. Enhancement for processing glossary files. 1999-06-14 Thomas Henlich Revision 1.10 1999/09/23 06:53:32 kehr Fixed wrong raw index generation for cross-ref keywords. Revision 1.9 1999/04/27 09:01:17 kehr Defined a clean exit code as suggested by Klaus Guntermann . Revision 1.8 1999/04/27 08:57:48 kehr Added quoting patch sent by Thomas Henlich Revision 1.7 1999/04/27 08:56:59 kehr Another checkin. Revision 1.6 1997/02/13 14:42:50 kehr Minor changes. Revision 1.5 1997/01/21 16:44:36 kehr Bugfix: State was not changed back to if {LEVEL} was found. Revision 1.4 1997/01/17 16:30:37 kehr Rewrote makeindex4 and heavily modified tex2xindy. Revision 1.3 1996/07/19 17:15:18 kehr Made this program comaptible with lex by correctly enclosing all actions--stupid bug, 'cause lex didn't complain and flex did some wonderful matching of all the actions such that no error was discovered. Revision 1.2 1996/07/11 14:16:55 kehr Complete Major checkin before changing the letter-groups. Revision 1.1 1996/06/24 08:53:57 kehr Initial checkin of the Makefile, README and tex2xindy. */ xindy-2.5.1.20160104/tex2xindy/tex2xindy.l000066400000000000000000000343521264235421100176260ustar00rootroot00000000000000%option never-interactive %{ /* $Id: tex2xindy.l,v 1.24 2010/05/10 23:02:17 jschrod Exp $ ============================================================ (history at end) =head1 NAME tex2xindy - a preprocessor of the xindy index processor =head1 SYNOPSIS tex2xindy [-o] [attr_file] =head1 DESCRIPTION B transforms a LaTeX index file C<.idx> (or an C<.aux> file) into a B raw index file. It is a filter that reads from F a file in the input format of LaTeX's raw index file, i.e., with C<\indexentry> tags. It outputs on F a B raw index file, i.e., with C clauses. If the option B<-o> is not specified, B handles ^^-notation of TeX and outputs the octet that is represented: C<^^ab> in the input gets output as the octet 0xab. If C<^^^^abcd> or C<^^^^^^^^abcdefab> are detected, they are output as is. If the option B<-o> is specified, B operates in I and handles its ^^-notation: Then C<^^ab>, C<^^^^abcd>, and C<^^^^^^^^abcdefab> represent Unicode characters with code points 0xab, 0xabcd, and 0xabcdefab respectively. They are output in UTF-8 encoding. If the optional argument F is specified, B writes all index key attributes into this file. =head1 DEFICITS This program was written since it was not easily possible to extract the parser from the old makeindex system. Therefore it does not find all errors in the input as the makeindex(1) version. Additionally it uses only the default input specifiers of makeindex(1). If other input specifiers (cf. manual page of makeindex(1)) are needed, the input specifiers (starting from the pattern C, see below) must be changed and the program must be recompiled. The particular missing feature is configuration of the quote and the actual characters, maybe also the escape, subitem (level), and encap characters. Argument and range delimiters seem to be less of a problem. In fact, input markup handling (and thus B) should be incorporated into the B kernel, to be able to specify configuration in xindy style files. =head1 SEE ALSO texindy(1), xindy(1), makeindex(1) =head1 AUTHOR Roger Kehr, Institut fuer Theoretische Informatik, TU Darmstadt =head1 COPYRIGHT AND LICENSE Copyright (c) 1996,1997 Roger Kehr. Copyright (c) 2006 Joachim Schrod. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. =cut */ %} %top{ #include #include #ifdef WIN32 # include # ifndef __MINGW32__ /* this should be W32TeX */ # include # define YY_NO_UNISTD_H 1 # define __STDC_VERSION__ 199901L # endif #else # include #endif } %{ #define QUOTE_ECHO qs(yytext) FILE* attrfd = NULL; static int lineno = 1; static int braces = 0; static int xref_mode = 0; static int glos_mode = 0; static int errors = 0; static int omega_mode = 0; #define multiple_err \ { \ fprintf(stderr, "line %d: multiple %s's\n", lineno, yytext); \ errors++; \ } #define NO_RANGE 0 #define OPEN_RANGE 1 #define CLOSE_RANGE 2 int range = NO_RANGE; /* This function quotes a character, if necessary. */ static void qc( char ch ) { switch (ch) { case '\\' : case '"' : putchar( '\\' ); break; } putchar(ch); } /* Quote an entire string. */ static void qs( char* str ) { while ( *str ) { qc( *str++ ); } } /* Output an Omega character, ^^-notation in yytext, in UTF-8 encoding. The parameter gets passed the amount of hex digits in the ^^-notation. In front of the hex digits are the same amount of ^ chars. */ static void omega_output_utf8 ( int width ) { unsigned long int c = strtoul (yytext+width, NULL, 16); if (c < 0x80) { putchar (c); } else if (c < 0x800) { putchar (0xC0 | (c>>6)); putchar (0x80 | (c & 0x3F)); } else if (c < 0x10000) { putchar (0xE0 | (c>>12)); putchar (0x80 | (c>>6 & 0x3F)); putchar (0x80 | (c & 0x3F)); } else if (c < 0x200000) { putchar (0xF0 | (c>>18)); putchar (0x80 | (c>>12 & 0x3F)); putchar (0x80 | (c>>6 & 0x3F)); putchar (0x80 | (c & 0x3F)); } else if (c < 0x4000000) { putchar (0xF8 | (c>>24)); putchar (0x80 | (c>>18 & 0x3F)); putchar (0x80 | (c>>12 & 0x3F)); putchar (0x80 | (c>>6 & 0x3F)); putchar (0x80 | (c & 0x3F)); } else if (c < 0x80000000) { putchar (0xFC | (c>>30)); putchar (0x80 | (c>>24 & 0x3F)); putchar (0x80 | (c>>18 & 0x3F)); putchar (0x80 | (c>>12 & 0x3F)); putchar (0x80 | (c>>6 & 0x3F)); putchar (0x80 | (c & 0x3F)); } else { /* out of range, output U+FFFD REPLACEMENT CHARACTER */ fputs("\xef\xbf\xbd",stdout); fprintf (stderr, "line %d: character %#lx not in UTF-8 range\n", lineno, c); } } %} KEYWORD \\indexentry KEYWORDG \\glossaryentry ENCAP \| ACTUAL @ ESCAPE \\ LEVEL ! IS : QUOTE \" ROPEN \( RCLOSE \) ARGOPEN \{ ARGCLOSE \} HATHAT8BIT \^{2}[0-9a-fA-F]{2} HATHAT16BIT \^{4}[0-9a-fA-F]{4} HATHAT32BIT \^{8}[0-9a-fA-F]{8} %s key print skip2location location encap xref is skiplocation %% {KEYWORD}[ \t]*{ARGOPEN} { printf("(indexentry :tkey ((\""); xref_mode = 0; glos_mode = 0; BEGIN(key); } {KEYWORDG}[ \t]*{ARGOPEN} { printf("(indexentry :tkey ((\""); xref_mode = 0; glos_mode = 1; BEGIN(key); } {ESCAPE}{QUOTE} { QUOTE_ECHO; } {QUOTE}\n { qc(yytext[1]); lineno++; } {QUOTE}. { qc(yytext[1]); } {ENCAP} { printf("\")) :attr \""); range = NO_RANGE; BEGIN(encap); } {IS} { if ( glos_mode ) { printf("\")) :attr \"is\" :xref (\""); range = NO_RANGE; if (attrfd) fprintf(attrfd, "\txref\n"); BEGIN(is); } else { ECHO; } } {LEVEL} { printf("\") (\""); } {LEVEL} { printf("\") (\""); BEGIN(key); } {ARGOPEN} { ECHO; braces++; } {ARGCLOSE} { if ( braces > 0 ) { ECHO; braces--; } else { printf("\"))"); BEGIN(skip2location); } } {ACTUAL} { printf("\" \""); BEGIN(print); } {ACTUAL} { multiple_err; } {ENCAP} { multiple_err; } {ROPEN} { range = OPEN_RANGE; } {RCLOSE} { range = CLOSE_RANGE; } {ARGOPEN} { /* close :attr "... */ printf("\" :xref (\""); if (attrfd) fprintf(attrfd, "\txref\n"); braces++; BEGIN(xref); } {ARGCLOSE} { if ( braces > 0 ) { ECHO; braces--; } else { putchar('"'); if (attrfd) fprintf(attrfd, "\tlocref\n"); switch (range) { case OPEN_RANGE: printf(" :open-range"); break; case CLOSE_RANGE: printf(" :close-range"); break; } BEGIN(skip2location); } } .|\n { QUOTE_ECHO; if (attrfd) fwrite(yytext, sizeof(char), 1, attrfd); if (*yytext == '\n') lineno++; } {LEVEL} { printf("\" \""); } {ARGOPEN} { ECHO; braces++; } {ARGCLOSE} { if ( braces > 1 ) { ECHO; braces--; } else if ( braces == 1 ) { braces--; } else { printf("\")"); xref_mode = 1; BEGIN(skip2location); } } {ARGCLOSE} { if ( braces > 0 ) { ECHO; braces--; } else { printf("\")"); xref_mode = 1; BEGIN(skip2location); } } [ \t]*{ARGOPEN} { if (xref_mode) { BEGIN(skiplocation); } else { printf(" :locref \""); BEGIN(location); } } {ARGCLOSE} { printf("\")\n"); BEGIN(0); } {ARGCLOSE} { printf(")\n"); BEGIN(0); } . { ; } {HATHAT8BIT} { if ( omega_mode ) { omega_output_utf8(2); } else { unput( strtol(yytext+2, NULL, 16) ); } } {HATHAT16BIT} { if ( omega_mode ) { omega_output_utf8(4); } else { ECHO; } } {HATHAT32BIT} { if ( omega_mode ) { omega_output_utf8(8); } else { ECHO; } } \n { ECHO; lineno++; } . { QUOTE_ECHO; } \n { lineno++; } [ \t] { ; } . { fprintf(stderr, "Encountered unexpected char '%c' on line %d\n", yytext[0], lineno); } %% static void usage (void) { fputs("This is tex2xindy, $Revision: 1.24 $.\n", stderr); fputs("usage: tex2xindy [-o] [attr_file]\n", stderr); exit (1); } int main(int argc, char* argv[]) { int option; #ifdef WIN32 setmode (fileno(stdout), _O_BINARY); #else extern char *optarg; extern int optind, optopt; #endif while ( (option=getopt(argc, argv, ":o")) != -1 ) { switch (option) { case 'o': omega_mode = 1; break; case '?': default: fprintf(stderr, "Unrecognized option: -%c\n", optopt); usage(); /* NOTREACHED */ } } /* More than one argument left? */ if ( optind < argc - 1 ) usage(); /* attr_file specified? */ if ( optind == argc - 1 ) { fprintf(stderr, "Writing attribute names to file \"%s\".\n", argv[optind]); if ( (attrfd = fopen(argv[optind], "wb")) == NULL ) { perror (argv[optind]); exit (1); } } yylex(); if (attrfd) fclose(attrfd); return (errors > 0); /* 1 or 0 */ } /* * Define dummy yywrap so we no longer depend on `libfl.a'. */ int yywrap (void) { return 1; } /* ============================================================ $Log: tex2xindy.l,v $ Revision 1.24 2010/05/10 23:02:17 jschrod Use ANSI C function definitions. (Patch from peb.) Revision 1.23 2009/12/03 00:42:14 jschrod Define internal functions as static to silence gcc warnings. Revision 1.22 2009/12/03 00:36:09 jschrod Define yywrap(), to be independent from libfl. Revision 1.21 2006/07/30 09:44:04 jschrod While quote is not output, escape+quote *is* output. Revision 1.20 2006/07/18 21:40:45 jschrod Add parenthesis as recommended by gcc -Wall. Use ECHO instead of QUOTE_ECHO where quoting will not be needed. Code cleanup: sanitize braces and indentation. Revision 1.19 2006/07/18 21:26:34 jschrod Add man page as POD to tex2xindy source. Add support for ^^-notation, both in TeX and in new Omega mode. Add usage message and proper option parsing. Revision 1.18 2006/02/21 12:12:05 jschrod Don't output escape or quote characters. Revision 1.17 2006/02/21 02:05:00 jschrod Quote really quotes the next char, now. Revision 1.16 2005/06/27 20:49:06 jschrod Keywords may be inmidst a line, as Jörg Sommer showed. "." rule merging did not work for attributes, and for skiplocation. Output error message if we come across chars outside our FSA. Revision 1.15 2005/06/14 16:22:08 jschrod Fold in changes from Thomas Henlich, as of 2000-02-14: Paranoia fix: recognize KEYWORD only in INITIAL start condition. Recognize \n and count lines (multiline entries do exist!). Merged "." rules. Fixed error messages (multiple ...). Revision 1.14 2004/10/05 21:10:48 jschrod Handles quote character correctly (bug ticket 1006128). Test case: german-sty. Revision 1.13 2002/01/29 13:32:58 thenlich Fixed bug in crossref-to-subitem bugfix. The original one proposed by Roger Kehr was right, only I copied it wrongly (shame on me). Thanks to Torsten Bronger for pointing it out to me. Revision 1.12 1999/10/13 08:06:44 kehr Changed revision number message back to RCS-tag. No functional changes. Revision 1.11 1999/10/13 08:05:10 kehr Merged bugfix from Thomas Henlich with my own modifications. 1.8 Fixed minor quoting bugs (for increased makeindex compatibility). 1999-07-28 Thomas Henlich Fixed crossref to subitem. 1999-09-23 Thomas Henlich 1.7 Fixed a bug concerning writing to and closing non-existing file (stat) Fixed a bug concerning quoting the " character. Enhancement for processing glossary files. 1999-06-14 Thomas Henlich Revision 1.10 1999/09/23 06:53:32 kehr Fixed wrong raw index generation for cross-ref keywords. Revision 1.9 1999/04/27 09:01:17 kehr Defined a clean exit code as suggested by Klaus Guntermann . Revision 1.8 1999/04/27 08:57:48 kehr Added quoting patch sent by Thomas Henlich Revision 1.7 1999/04/27 08:56:59 kehr Another checkin. Revision 1.6 1997/02/13 14:42:50 kehr Minor changes. Revision 1.5 1997/01/21 16:44:36 kehr Bugfix: State was not changed back to if {LEVEL} was found. Revision 1.4 1997/01/17 16:30:37 kehr Rewrote makeindex4 and heavily modified tex2xindy. Revision 1.3 1996/07/19 17:15:18 kehr Made this program comaptible with lex by correctly enclosing all actions--stupid bug, 'cause lex didn't complain and flex did some wonderful matching of all the actions such that no error was discovered. Revision 1.2 1996/07/11 14:16:55 kehr Complete Major checkin before changing the letter-groups. Revision 1.1 1996/06/24 08:53:57 kehr Initial checkin of the Makefile, README and tex2xindy. */ xindy-2.5.1.20160104/user-commands/000077500000000000000000000000001264235421100163235ustar00rootroot00000000000000xindy-2.5.1.20160104/user-commands/Makefile.am000066400000000000000000000032431264235421100203610ustar00rootroot00000000000000## Use `autoreconf' in top-level directory to recreate all ## autoconf/automake files. ## Or, call `automake Makefile' to create only Makefile.in. ## Copyright (C) 2004-2005 by Gour. ## Copyright (C) 2008 by Joachim Schrod. ## ## This program is free software; you can redistribute it and/or ## modify it under the terms of the GNU General Public License as ## published by the Free Software Foundation; either version 2 of the ## License, or (at your option) any later version. ## ## This program is distributed in the hope that it will be useful, but ## WITHOUT ANY WARRANTY; without even the implied warranty of ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ## General Public License for more details. ## ## You should have received a copy of the GNU General Public License ## along with this program in the file COPYING; if not, write to the ## Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301 USA. scripts = texindy xindy bin_SCRIPTS = if !TEXLIVE_BUILD bin_SCRIPTS += $(scripts) texindy: texindy.in Makefile sed -e 's:@libdir\@:$(libdir):' $(srcdir)/texindy.in >texindy xindy: xindy.in Makefile sed -e 's:@libdir\@:$(libdir):' $(srcdir)/xindy.in >xindy endif !TEXLIVE_BUILD man_MANS = texindy.1 xindy.1 texindy.1: texindy.in ../VERSION cat $(srcdir)/texindy.in | pod2man --release="Release `cat $(srcdir)/../VERSION`" \ --errors=none --center=xindy --name=texindy >texindy.1 xindy.1: xindy.in ../VERSION cat $(srcdir)/xindy.in | pod2man --release="Release `cat $(srcdir)/../VERSION`" \ --errors=none --center=xindy --name=xindy >xindy.1 EXTRA_DIST = $(man_MANS) texindy.in xindy.in CLEANFILES = $(scripts) xindy-2.5.1.20160104/user-commands/Makefile.in000066400000000000000000000416251264235421100204000ustar00rootroot00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ @TEXLIVE_BUILD_FALSE@am__append_1 = $(scripts) subdir = xindy-2.5.1/user-commands ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ $(top_srcdir)/../../m4/kpse-progs.m4 \ $(top_srcdir)/../../m4/kpse-warnings.m4 \ $(top_srcdir)/../../m4/kpse-win32.m4 $(top_srcdir)/version.ac \ $(top_srcdir)/ac/xindy.ac $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" SCRIPTS = $(bin_SCRIPTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac man1dir = $(mandir)/man1 NROFF = nroff MANS = $(man_MANS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) pkglibdir = @pkglibdir@ ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CLISP = @CLISP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LATEX = @LATEX@ LDFLAGS = @LDFLAGS@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LISP_RUN = @LISP_RUN@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDFLATEX = @PDFLATEX@ PERL = @PERL@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WARNING_CFLAGS = @WARNING_CFLAGS@ WIN_WRAPPER = @WIN_WRAPPER@ XINDY_RUN = @XINDY_RUN@ XINDY_TREE = @XINDY_TREE@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ memdir = @memdir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ scripts = texindy xindy bin_SCRIPTS = $(am__append_1) man_MANS = texindy.1 xindy.1 EXTRA_DIST = $(man_MANS) texindy.in xindy.in CLEANFILES = $(scripts) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign xindy-2.5.1/user-commands/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign xindy-2.5.1/user-commands/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) install-man1: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(SCRIPTS) $(MANS) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binSCRIPTS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binSCRIPTS uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-binSCRIPTS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-man1 \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-binSCRIPTS uninstall-man uninstall-man1 .PRECIOUS: Makefile @TEXLIVE_BUILD_FALSE@texindy: texindy.in Makefile @TEXLIVE_BUILD_FALSE@ sed -e 's:@libdir\@:$(libdir):' $(srcdir)/texindy.in >texindy @TEXLIVE_BUILD_FALSE@xindy: xindy.in Makefile @TEXLIVE_BUILD_FALSE@ sed -e 's:@libdir\@:$(libdir):' $(srcdir)/xindy.in >xindy texindy.1: texindy.in ../VERSION cat $(srcdir)/texindy.in | pod2man --release="Release `cat $(srcdir)/../VERSION`" \ --errors=none --center=xindy --name=texindy >texindy.1 xindy.1: xindy.in ../VERSION cat $(srcdir)/xindy.in | pod2man --release="Release `cat $(srcdir)/../VERSION`" \ --errors=none --center=xindy --name=xindy >xindy.1 # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: xindy-2.5.1.20160104/user-commands/texindy.1000066400000000000000000000473701264235421100201040ustar00rootroot00000000000000.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "texindy 1" .TH texindy 1 "2014-05-29" "Release 2.5.1" "xindy" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" texindy \- create sorted and tagged index from raw LaTeX index .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& texindy [\-V?h] [\-qv] [\-iglr] [\-d magic] [\-o outfile.ind] [\-t log] \e \& [\-L lang] [\-C codepage] [\-M module] [idx0 idx1 ...] .Ve .SS "GNU-Style Long Options for Short Options:" .IX Subsection "GNU-Style Long Options for Short Options:" .Vb 10 \& \-V / \-\-version \& \-? / \-h / \-\-help \& \-q / \-\-quiet \& \-v / \-\-verbose \& \-i / \-\-stdin \& \-g / \-\-german \& \-l / \-\-letter\-ordering \& \-r / \-\-no\-ranges \& \-d / \-\-debug (multiple times) \& \-o / \-\-out\-file \& \-t / \-\-log\-file \& \-L / \-\-language \& \-C / \-\-codepage \& \-M / \-\-module (multiple times) \& \-I / \-\-input\-markup (supported: latex, xelatex, omega) .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBtexindy\fR is the LaTeX-specific command of xindy, the flexible indexing system. It takes a raw index as input, and produces a merged, sorted and tagged index. Merging, sorting, and tagging is controlled by xindy modules, with a convenient set already preloaded. .PP Files with the raw index are passed as arguments. If no arguments are passed, the raw index will be read from standard input. .PP A good introductionary description of \fBtexindy\fR appears in the indexing chapter of the LaTeX Companion (2nd ed.) .PP If you want to produce an index for LaTeX documents with special index markup, the command \fIxindy\fR\|(1) is probably more of interest for you. .PP \&\fBtexindy\fR is an approach to merge support for the \fImake-rules\fR framework, own xindy modules (e.g., for special LaTeX commands in the index), and a reasonable level of MakeIndex compatibility. .SH "OPTIONS" .IX Header "OPTIONS" .ie n .IP """\-\-version"" / \fB\-V\fR" 4 .el .IP "\f(CW\-\-version\fR / \fB\-V\fR" 4 .IX Item "--version / -V" output version numbers of all relevant components and exit. .ie n .IP """\-\-help"" / \fB\-h\fR / \fB\-?\fR" 4 .el .IP "\f(CW\-\-help\fR / \fB\-h\fR / \fB\-?\fR" 4 .IX Item "--help / -h / -?" output usage message with options explanation. .ie n .IP """\-\-quiet"" / \fB\-q\fR" 4 .el .IP "\f(CW\-\-quiet\fR / \fB\-q\fR" 4 .IX Item "--quiet / -q" Don't output progress messages. Output only error messages. .ie n .IP """\-\-verbose"" / \fB\-v\fR" 4 .el .IP "\f(CW\-\-verbose\fR / \fB\-v\fR" 4 .IX Item "--verbose / -v" Output verbose progress messages. .ie n .IP """\-\-debug"" \fImagic\fR / \fB\-d\fR \fImagic\fR" 4 .el .IP "\f(CW\-\-debug\fR \fImagic\fR / \fB\-d\fR \fImagic\fR" 4 .IX Item "--debug magic / -d magic" Output debug messages, this option may be specified multiple times. \&\fImagic\fR determines what is output: .Sp .Vb 6 \& magic remark \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& script internal progress messages of driver scripts \& keep_tmpfiles don\*(Aqt discard temporary files \& markup output markup trace, as explained in xindy manual \& level=n log level, n is 0 (default), 1, 2, or 3 .Ve .ie n .IP """\-\-out\-file"" \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind\fR" 4 .el .IP "\f(CW\-\-out\-file\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind\fR" 4 .IX Item "--out-file outfile.ind / -o outfile.ind" Output index to file \fIoutfile.ind\fR. If this option is not passed, the name of the output file is the base name of the first argument and the file extension \fIind\fR. If the raw index is read from standard input, this option is mandatory. .ie n .IP """\-\-log\-file"" \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg\fR" 4 .el .IP "\f(CW\-\-log\-file\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg\fR" 4 .IX Item "--log-file log.ilg / -t log.ilg" Output log messages to file \fIlog.ilg\fR. These log messages are independent from the progress messages that you can influence with \&\f(CW\*(C`\-\-debug\*(C'\fR or \f(CW\*(C`\-\-verbose\*(C'\fR. .ie n .IP """\-\-language"" \fIlang\fR / \fB\-L\fR \fIlang\fR" 4 .el .IP "\f(CW\-\-language\fR \fIlang\fR / \fB\-L\fR \fIlang\fR" 4 .IX Item "--language lang / -L lang" The index is sorted according to the rules of language \fIlang\fR. These rules are encoded in a xindy module created by \fImake-rules\fR. .Sp If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR or enforced by input markup, a xindy module for that language is searched with a latin, a cp, an iso, ascii, or utf8 encoding, in that order. .ie n .IP """\-\-codepage"" \fIenc\fR / \fB\-C\fR \fIenc\fR" 4 .el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4 .IX Item "--codepage enc / -C enc" There are two different situations and use cases for this option. .RS 4 .IP "1." 4 Input markup is \f(CW\*(C`latex\*(C'\fR (the default). .Sp Then \fBtexindy\fR's raw input is assumed to be encoded in LaTeX Internal Character Representation (\s-1LICR\s0). I.e., non-ASCII characters are encoded as command sequences. This option tells xindy the encoding it shall use for letter group headings. (Additionally it specifies the encoding used internally for sorting \*(-- but that doesn't matter for the result.) .Sp Only \s-1LICR\s0 encodings for Latin script alphabets are supported; more precisely characters that are in LaTeX latin1, latin2, and latin3 \s-1LICR\s0 encodings. .Sp Even when you specify \f(CW\*(C`utf8\*(C'\fR as codepage, only these characters will be known. But if you use non-Latin alphabets, you probably use (or should use) XeLaTeX or LuaLaTeX and then you have a different input markup. .IP "2." 4 Input markup is \f(CW\*(C`xelatex\*(C'\fR or \f(CW\*(C`omega\*(C'\fR. .Sp Then this option is ignored; codepage \f(CW\*(C`utf8\*(C'\fR is enforced. .Sp \&\fBtexindy\fR's raw input is assumed to be \s-1UTF\-8\s0 encoded, \s-1LICR\s0 is not used. .RE .RS 4 .RE .ie n .IP """\-\-module"" \fImodule\fR / \fB\-M\fR \fImodule\fR" 4 .el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4 .IX Item "--module module / -M module" Load the xindy module \fImodule.xdy\fR. This option may be specified multiple times. The modules are searched in the xindy search path that can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR. .ie n .IP """\-\-input\-markup"" \fIinput\fR / \fB\-I\fR \fIinput\fR" 4 .el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4 .IX Item "--input-markup input / -I input" Specifies the input markup of the raw index. Supported values for \&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`xelatex\*(C'\fR, and \f(CW\*(C`omega\*(C'\fR. .Sp \&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones, when used with standard LaTeX or pdfLaTeX. ^^\-notation of single byte characters is supported. Usage of LaTeX's \fIinputenc\fR package is assumed as well, i.e., raw input is encoded in \s-1LICR.\s0 .Sp \&\f(CW\*(C`xelatex\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR, but without \fIinputenc\fR usage. Raw input is encoded in \s-1UTF\-8.\s0 LuaLaTeX has the same input markup, there's no special option value for it. .Sp \&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's ^^\-notation as encoding for non-ASCII characters. \s-1LICR\s0 encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage for sorting and for output of letter group headings. .SH "SUPPORTED LANGUAGES / CODEPAGES" .IX Header "SUPPORTED LANGUAGES / CODEPAGES" The following languages are supported: .SS "Latin scripts" .IX Subsection "Latin scripts" .Vb 10 \& albanian gypsy portuguese \& croatian hausa romanian \& czech hungarian russian\-iso \& danish icelandic slovak\-small \& english italian slovak\-large \& esperanto kurdish\-bedirxan slovenian \& estonian kurdish\-turkish spanish\-modern \& finnish latin spanish\-traditional \& french latvian swedish \& general lithuanian turkish \& german\-din lower\-sorbian upper\-sorbian \& german\-duden norwegian vietnamese \& greek\-iso polish .Ve .PP German recognizes two different sorting schemes to handle umlauts: normally, \f(CW\*(C`a\*:\*(C'\fR is sorted like \f(CW\*(C`ae\*(C'\fR, but in phone books or dictionaries, it is sorted like \f(CW\*(C`a\*(C'\fR. The first scheme is known as \&\fI\s-1DIN\s0 order\fR, the second as \fIDuden order\fR. .PP \&\f(CW\*(C`*\-iso\*(C'\fR language names assume that the raw index entries are in \s-1ISO 8859\-9\s0 encoding. .PP \&\f(CW\*(C`gypsy\*(C'\fR is a northern Russian dialect. .SS "Cyrillic scripts" .IX Subsection "Cyrillic scripts" .Vb 3 \& belarusian mongolian serbian \& bulgarian russian ukrainian \& macedonian .Ve .SS "Other scripts" .IX Subsection "Other scripts" .Vb 1 \& greek klingon .Ve .SS "Available Codepages" .IX Subsection "Available Codepages" This is not yet written. You can look them up in your xindy distribution, in the \fImodules/lang/language/\fR directory (where \&\fIlanguage\fR is your language). They are named \&\fIvariant\-codepage\-lang.xdy\fR, where \fIvariant\-\fR is most often empty (for german, it's \f(CW\*(C`din5007\*(C'\fR and \f(CW\*(C`duden\*(C'\fR; for spanish, it's \f(CW\*(C`modern\*(C'\fR and \f(CW\*(C`traditional\*(C'\fR, etc.) .PP .Vb 1 \& < Describe available codepages for each language > \& \& < Describe relevance of codepages (as internal representation) for \& LaTeX inputenc > .Ve .SH "TEXINDY STANDARD MODULES" .IX Header "TEXINDY STANDARD MODULES" There is a set of \fBtexindy\fR standard modules that help to process LaTeX index files. Some of them are automatically loaded. Some of them are loaded by default, this can be turned off with a \fBtexindy\fR option. Others may be specified as \f(CW\*(C`\-\-module\*(C'\fR argument to achieve a specific effect. .PP .Vb 1 \& xindy Module Category Description .Ve .SS "Sorting" .IX Subsection "Sorting" .Vb 10 \& word\-order Default A space comes before any letter in the \& alphabet: \`\`index style\*(Aq\*(Aq is listed before \& \`\`indexing\*(Aq\*(Aq. Turn it off with option \-l. \& letter\-order Add\-on Spaces are ignored: \`\`index style\*(Aq\*(Aq \& is sorted after \`\`indexing\*(Aq\*(Aq. \& keep\-blanks Add\-on Leading and trailing white space (blanks \& and tabs) are not ignored; intermediate \& white space is not changed. \& ignore\-hyphen Add\-on Hyphens are ignored: \& \`\`ad\-hoc\*(Aq\*(Aq is sorted as \`\`adhoc\*(Aq\*(Aq. \& ignore\-punctuation Add\-on All kinds of punctuation characters are \& ignored: hyphens, periods, commas, slashes, \& parentheses, and so on. \& numeric\-sort Auto Numbers are sorted numerically, not like \& characters: \`\`V64\*(Aq\*(Aq appears before \`\`V128\*(Aq\*(Aq. .Ve .SS "Page Numbers" .IX Subsection "Page Numbers" .Vb 10 \& page\-ranges Default Appearances on more than two consecutive \& pages are listed as a range: \`\`1\-\-4\*(Aq\*(Aq. \& Turn it off with option \-r. \& ff\-ranges Add\-on Uses implicit \`\`ff\*(Aq\*(Aq notation for ranges \& of three pages, and explicit ranges \& thereafter: 2f, 2ff, 2\-\-6. \& ff\-ranges\-only Add\-on Uses only implicit ranges: 2f, 2ff. \& book\-order Add\-on Sorts page numbers with common book numbering \& scheme correctly \-\- Roman numerals first, then \& Arabic numbers, then others: i, 1, A. .Ve .SS "Markup and Layout" .IX Subsection "Markup and Layout" .Vb 10 \& tex Auto Handles basic TeX conventions. \& latex\-loc\-fmts Auto Provides LaTeX formatting commands \& for page number encapsulation. \& latex Auto Handles LaTeX conventions, both in raw \& index entries and output markup; implies \& tex. \& makeindex Auto Emulates the default MakeIndex input syntax \& and quoting behavior. \& latin\-lettergroups Auto Layout contains a single Latin letter \& above each group of words starting with the \& same letter. \& german\-sty Add\-on Handles umlaut markup of babel\*(Aqs german \& and ngerman options. .Ve .SH "COMPATIBILITY TO MAKEINDEX" .IX Header "COMPATIBILITY TO MAKEINDEX" \&\fBxindy\fR does not claim to be completely compatible with MakeIndex, that would prevent some of its enhancements. That said, we strive to deliver as much compatibility as possible. The most important incompatibilities are .IP "\(bu" 4 For raw index entries in LaTeX syntax, \f(CW\*(C`\eindex{aaa|bbb}\*(C'\fR is interpreted differently. For MakeIndex \f(CW\*(C`bbb\*(C'\fR is markup that is output as a LaTeX tag for this page number. For \fBxindy\fR, this is a location attribute, an abstract identifier that will be later associated with markup that should be output for that attribute. .Sp For straight-forward usage, when \f(CW\*(C`bbb\*(C'\fR is \f(CW\*(C`textbf\*(C'\fR or similar, we supply location attribute definitions that mimic MakeIndex's behaviour. .Sp For more complex usage, when \f(CW\*(C`bbb\*(C'\fR is not an identifier, no such compatibility definitions exist and may also not been created with current \fBxindy\fR. In particular, this means that by default the LaTeX package \f(CW\*(C`hyperref\*(C'\fR will create raw index files that cannot be processed with \fBxindy\fR. This is not a bug, this is the unfortunate result of an intented incompatibility. It is currently not possible to get both hyperref's index links and use \fBxindy\fR. .Sp A similar situation is reported to exist for the \f(CW\*(C`memoir\*(C'\fR LaTeX class. .Sp Programmers who know Common Lisp and Lex and want to work on a remedy should please contact the author. .IP "\(bu" 4 If you have an index rage and a location attribute, e.g., \&\f(CW\*(C`\eindex{key\e(attr}\*(C'\fR starts the range, one needs (1) to specify that attribute in the range closing entry as well (i.e., as \&\f(CW\*(C`\eindex{key\e)attr}\*(C'\fR) and (2) one needs to declare the index attribute in an \fBxindy\fR style file. .Sp MakeIndex will output the markup \f(CW\*(C`\eattr{page1\-\-page2}\*(C'\fR for such a construct. This is not possible to achieve in \fBxindy\fR, output will be \&\f(CW\*(C`\eattrMarkup{page1}\-\-\eattrMarkup{page2}\*(C'\fR. (This is actually considered a bug, but not a high priority one.) .Sp The difference between MakeIndex page number tags and \fBxindy\fR location attributes was already explained in the previous item. .IP "\(bu" 4 The MakeIndex compatibility definitions support only the default raw index syntax and markup definition. It is not possible to configure raw index parsing or use a MakeIndex style file to describe output markup. .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" .ie n .IP """TEXINDY_AUTO_MODULE""" 4 .el .IP "\f(CWTEXINDY_AUTO_MODULE\fR" 4 .IX Item "TEXINDY_AUTO_MODULE" This is the name of the xindy module that loads all auto-loaded modules. The default is \f(CW\*(C`texindy\*(C'\fR. .SH "AUTHOR" .IX Header "AUTHOR" Joachim Schrod .SH "LEGALESE" .IX Header "LEGALESE" Copyright (c) 2004\-2014 by Joachim Schrod. .PP \&\fBtexindy\fR is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE. \s0 See the \&\s-1GNU\s0 General Public License for more details. xindy-2.5.1.20160104/user-commands/texindy.in000066400000000000000000000526371264235421100203540ustar00rootroot00000000000000#!/usr/bin/env perl # $Id: texindy,v 1.13 2011/01/18 22:18:29 jschrod Exp $ #------------------------------------------------------------ # (history at end) =head1 NAME texindy - create sorted and tagged index from raw LaTeX index =head1 SYNOPSIS texindy [-V?h] [-qv] [-iglr] [-d magic] [-o outfile.ind] [-t log] \ [-L lang] [-C codepage] [-M module] [idx0 idx1 ...] =head2 GNU-Style Long Options for Short Options: -V / --version -? / -h / --help -q / --quiet -v / --verbose -i / --stdin -g / --german -l / --letter-ordering -r / --no-ranges -d / --debug (multiple times) -o / --out-file -t / --log-file -L / --language -C / --codepage -M / --module (multiple times) -I / --input-markup (supported: latex, xelatex, omega) =head1 DESCRIPTION B is the LaTeX-specific command of xindy, the flexible indexing system. It takes a raw index as input, and produces a merged, sorted and tagged index. Merging, sorting, and tagging is controlled by xindy modules, with a convenient set already preloaded. Files with the raw index are passed as arguments. If no arguments are passed, the raw index will be read from standard input. A good introductionary description of B appears in the indexing chapter of the LaTeX Companion (2nd ed.) If you want to produce an index for LaTeX documents with special index markup, the command xindy(1) is probably more of interest for you. B is an approach to merge support for the I framework, own xindy modules (e.g., for special LaTeX commands in the index), and a reasonable level of MakeIndex compatibility. =head1 OPTIONS =over =item C<--version> / B<-V> output version numbers of all relevant components and exit. =item C<--help> / B<-h> / B<-?> output usage message with options explanation. =item C<--quiet> / B<-q> Don't output progress messages. Output only error messages. =item C<--verbose> / B<-v> Output verbose progress messages. =item C<--debug> I / B<-d> I Output debug messages, this option may be specified multiple times. I determines what is output: magic remark ------------------------------------------------------------ script internal progress messages of driver scripts keep_tmpfiles don't discard temporary files markup output markup trace, as explained in xindy manual level=n log level, n is 0 (default), 1, 2, or 3 =item C<--out-file> F / B<-o> F Output index to file F. If this option is not passed, the name of the output file is the base name of the first argument and the file extension F. If the raw index is read from standard input, this option is mandatory. =item C<--log-file> F / B<-t> F Output log messages to file F. These log messages are independent from the progress messages that you can influence with C<--debug> or C<--verbose>. =item C<--language> I / B<-L> I The index is sorted according to the rules of language I. These rules are encoded in a xindy module created by I. If no input encoding is specified via C<--codepage> or enforced by input markup, a xindy module for that language is searched with a latin, a cp, an iso, ascii, or utf8 encoding, in that order. =item C<--codepage> I / B<-C> I There are two different situations and use cases for this option. =over =item 1. Input markup is C (the default). Then B's raw input is assumed to be encoded in LaTeX Internal Character Representation (LICR). I.e., non-ASCII characters are encoded as command sequences. This option tells xindy the encoding it shall use for letter group headings. (Additionally it specifies the encoding used internally for sorting -- but that doesn't matter for the result.) Only LICR encodings for Latin script alphabets are supported; more precisely characters that are in LaTeX latin1, latin2, and latin3 LICR encodings. Even when you specify C as codepage, only these characters will be known. But if you use non-Latin alphabets, you probably use (or should use) XeLaTeX or LuaLaTeX and then you have a different input markup. =item 2. Input markup is C or C. Then this option is ignored; codepage C is enforced. B's raw input is assumed to be UTF-8 encoded, LICR is not used. =back =item C<--module> I / B<-M> I Load the xindy module F. This option may be specified multiple times. The modules are searched in the xindy search path that can be changed with the environment variable C. =item C<--input-markup> I / B<-I> I Specifies the input markup of the raw index. Supported values for I are C, C, and C. C input markup is the one that is emitted by default from the LaTeX kernel, or by the C macro package of David Jones, when used with standard LaTeX or pdfLaTeX. ^^-notation of single byte characters is supported. Usage of LaTeX's I package is assumed as well, i.e., raw input is encoded in LICR. C input markup is like C, but without I usage. Raw input is encoded in UTF-8. LuaLaTeX has the same input markup, there's no special option value for it. C input markup is like C input markup, but with Omega's ^^-notation as encoding for non-ASCII characters. LICR encoding is not used then, and C is enforced to be the codepage for sorting and for output of letter group headings. =back =head1 SUPPORTED LANGUAGES / CODEPAGES The following languages are supported: =head2 Latin scripts albanian gypsy portuguese croatian hausa romanian czech hungarian russian-iso danish icelandic slovak-small english italian slovak-large esperanto kurdish-bedirxan slovenian estonian kurdish-turkish spanish-modern finnish latin spanish-traditional french latvian swedish general lithuanian turkish german-din lower-sorbian upper-sorbian german-duden norwegian vietnamese greek-iso polish German recognizes two different sorting schemes to handle umlauts: normally, C<ä> is sorted like C, but in phone books or dictionaries, it is sorted like C. The first scheme is known as I, the second as I. C<*-iso> language names assume that the raw index entries are in ISO 8859-9 encoding. C is a northern Russian dialect. =head2 Cyrillic scripts belarusian mongolian serbian bulgarian russian ukrainian macedonian =head2 Other scripts greek klingon =head2 Available Codepages This is not yet written. You can look them up in your xindy distribution, in the F directory (where I is your language). They are named F, where F is most often empty (for german, it's C and C; for spanish, it's C and C, etc.) < Describe available codepages for each language > < Describe relevance of codepages (as internal representation) for LaTeX inputenc > =head1 TEXINDY STANDARD MODULES There is a set of B standard modules that help to process LaTeX index files. Some of them are automatically loaded. Some of them are loaded by default, this can be turned off with a B option. Others may be specified as C<--module> argument to achieve a specific effect. xindy Module Category Description =head2 Sorting word-order Default A space comes before any letter in the alphabet: ``index style'' is listed before ``indexing''. Turn it off with option -l. letter-order Add-on Spaces are ignored: ``index style'' is sorted after ``indexing''. keep-blanks Add-on Leading and trailing white space (blanks and tabs) are not ignored; intermediate white space is not changed. ignore-hyphen Add-on Hyphens are ignored: ``ad-hoc'' is sorted as ``adhoc''. ignore-punctuation Add-on All kinds of punctuation characters are ignored: hyphens, periods, commas, slashes, parentheses, and so on. numeric-sort Auto Numbers are sorted numerically, not like characters: ``V64'' appears before ``V128''. =head2 Page Numbers page-ranges Default Appearances on more than two consecutive pages are listed as a range: ``1--4''. Turn it off with option -r. ff-ranges Add-on Uses implicit ``ff'' notation for ranges of three pages, and explicit ranges thereafter: 2f, 2ff, 2--6. ff-ranges-only Add-on Uses only implicit ranges: 2f, 2ff. book-order Add-on Sorts page numbers with common book numbering scheme correctly -- Roman numerals first, then Arabic numbers, then others: i, 1, A. =head2 Markup and Layout tex Auto Handles basic TeX conventions. latex-loc-fmts Auto Provides LaTeX formatting commands for page number encapsulation. latex Auto Handles LaTeX conventions, both in raw index entries and output markup; implies tex. makeindex Auto Emulates the default MakeIndex input syntax and quoting behavior. latin-lettergroups Auto Layout contains a single Latin letter above each group of words starting with the same letter. german-sty Add-on Handles umlaut markup of babel's german and ngerman options. =head1 COMPATIBILITY TO MAKEINDEX B does not claim to be completely compatible with MakeIndex, that would prevent some of its enhancements. That said, we strive to deliver as much compatibility as possible. The most important incompatibilities are =over =item * For raw index entries in LaTeX syntax, C<\index{aaa|bbb}> is interpreted differently. For MakeIndex C is markup that is output as a LaTeX tag for this page number. For B, this is a location attribute, an abstract identifier that will be later associated with markup that should be output for that attribute. For straight-forward usage, when C is C or similar, we supply location attribute definitions that mimic MakeIndex's behaviour. For more complex usage, when C is not an identifier, no such compatibility definitions exist and may also not been created with current B. In particular, this means that by default the LaTeX package C will create raw index files that cannot be processed with B. This is not a bug, this is the unfortunate result of an intented incompatibility. It is currently not possible to get both hyperref's index links and use B. A similar situation is reported to exist for the C LaTeX class. Programmers who know Common Lisp and Lex and want to work on a remedy should please contact the author. =item * If you have an index rage and a location attribute, e.g., C<\index{key\(attr}> starts the range, one needs (1) to specify that attribute in the range closing entry as well (i.e., as C<\index{key\)attr}>) and (2) one needs to declare the index attribute in an B style file. MakeIndex will output the markup C<\attr{page1--page2}> for such a construct. This is not possible to achieve in B, output will be C<\attrMarkup{page1}--\attrMarkup{page2}>. (This is actually considered a bug, but not a high priority one.) The difference between MakeIndex page number tags and B location attributes was already explained in the previous item. =item * The MakeIndex compatibility definitions support only the default raw index syntax and markup definition. It is not possible to configure raw index parsing or use a MakeIndex style file to describe output markup. =back =head1 ENVIRONMENT =over =item C This is the name of the xindy module that loads all auto-loaded modules. The default is C. =back =head1 AUTHOR Joachim Schrod =head1 LEGALESE Copyright (c) 2004-2014 by Joachim Schrod. B is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. =for Emacs #' =cut use strict; use English qw(-no_match_vars); our $VERSION = sprintf "%d.%02d", q$Revision: 1.13 $ =~ /: (\d+)\.(\d+)/ ; # Used modules. use Cwd; use File::Basename; use Getopt::Long qw(:config bundling); # Determine environment. Where is our library directory, and our modules? our $is_TL = ( '@is_TL@' eq 'yes' ); our $is_w32 = ( $OSNAME =~ /^MSWin/i ) ; our $real_cmd = Cwd::realpath($0); our $cmd_dir = dirname($real_cmd); our $cmd = basename($0); our $xindy; # In TeX-Live, user commands are symlinks in some bin directory, and # the actual scripts are in the library directory and have a .pl # extension. In standalone installations, user command xindy is # expected to be in the same directory as our command. if ( $is_TL ) { # TeX Live if ( $is_w32 ) { $xindy = "$cmd_dir/xindy.pl"; } else { die "$cmd: not a symlink as required for TeX Live" unless -l $0; # FIXME: What this good for? Ain't xindy not also # "$cmd_dir/xindy.pl" in a Unix TL installation? Why does # Peter use the directory of the last symlink, where it just # finds the symlink again that is then expanded by xindy.pl? $real_cmd = $0; $cmd_dir = dirname($real_cmd); # Follow symlinks, but remember last one my $lcmd_dir; while ( -l $real_cmd ) { $lcmd_dir = $cmd_dir; $real_cmd = readlink($real_cmd); $real_cmd = "$lcmd_dir/$real_cmd" unless $real_cmd =~ m,^[\\/],; # relative link $cmd_dir = dirname($real_cmd); } $xindy = "$lcmd_dir/xindy"; } # FIXME: That's a very ugly kludge to achieve that the VERSION # file is found in output_xindy_release(). The real solution is to # copy the code from xindy.pl that determines $modules_dir and # $lib_dir and use that code as well. $cmd_dir = Cwd::realpath("$cmd_dir/../../xindy/modules"); die "Cannot locate xindy modules directory" unless -f "$cmd_dir/../VERSION"; } else { if ( -f "$cmd_dir/xindy" && -x _ ) { $xindy = "$cmd_dir/xindy"; } elsif ( -f "$cmd_dir/xindy.pl" && -x _ ) { $xindy = "$cmd_dir/xindy.pl"; } else { die "$cmd: cannot locate xindy\n"; } } die "$cmd: cannot locate xindy\n" unless -f $xindy && ($is_w32 || -x $xindy); # Check arguments, store them in proper variables. sub usage ( ;$ ) { my $exit_code = shift; $exit_code += 0; # turn undef into 0 my $out = ( $exit_code ? *STDERR : *STDOUT ); print $out <<_EOT_ usage: $cmd [-V?h] [-qv] [-iglr] [-d magic] [-o outfile.ind] [-t log] \\ [-L lang] [-C codepage] [-M module] [-I input] [idx0 idx1 ...] GNU-STYLE LONG OPTIONS FOR SHORT OPTIONS: -V / --version -? / -h / --help -q / --quiet -v / --verbose -i / --stdin -g / --german -l / --letter-ordering -r / --no-ranges -d / --debug (multiple times) (supported: script, keep_tmpfiles, markup, level=n) -o / --out-file -t / --log-file -L / --language -C / --codepage -M / --module (multiple times) -I / --input-markup (supported: latex, omega) _EOT_ ; exit ($exit_code); } our ($output_version, $quiet, $verbose, $stdin, @debug, $outfile, $logfile, $language, $codepage, @modules, $input_markup); $language = 'general'; $codepage = 'latin'; $input_markup = 'latex'; parse_options(); output_version() if $output_version; # will not return usage(1) if ( ! $stdin && @ARGV == 0 ); # brain damaged, but like makeindex # Construct xindy options, and eventually switch to it. my @opt; push (@opt, '-q') if $quiet; push (@opt, '-v') if $verbose; push (@opt, map { ('-d', $_) } @debug) if @debug; push (@opt, '-o', $outfile) if $outfile; push (@opt, '-t', $logfile) if $logfile; push (@opt, '-L', $language); push (@opt, '-C', $codepage) if $codepage; push (@opt, '-M', "tex/inputenc/$codepage") if $codepage; push (@opt, map { ('-M', $_) } ($ENV{TEXINDY_AUTO_MODULE} || 'texindy', @modules)); push (@opt, '-I', $input_markup); print "Calling xindy as: $xindy @opt @ARGV\n" if (grep /^script$/, @debug); exec_xindy(@opt, @ARGV); # NOT REACHED # ------------------------------------------------------------ sub exec_xindy { if ( $is_w32 ) { system ($EXECUTABLE_NAME, $xindy, @_); if ($? == -1) { die "$cmd: could not execute xindy: $ERRNO\n"; } elsif ($? & 127) { die "xindy died with signal " . ($? & 127) ."\n"; } else { exit ($? >> 8); } } else { exec ($xindy, @_); die "$cmd: could not execute xindy: $!\n"; } } sub parse_options() { my ($german, $letter_ordering, $no_ranges); GetOptions( 'version|V' => \$output_version, 'help|h|?' => \&usage, 'quiet|q' => \$quiet, 'verbose|v' => \$verbose, 'stdin|i' => \$stdin, 'german|g' => \$german, 'letter-ordering|l' => \$letter_ordering, 'no-ranges|r' => \$no_ranges, 'debug|d=s' => \@debug, 'out-file|o=s' => \$outfile, 'log-file|t=s' => \$logfile, 'language|L=s' => \$language, 'codepage|C=s' => \$codepage, 'module|M=s' => \@modules, 'input-markup|I=s' => \$input_markup, ) or usage(1); if ( $german ) { unshift (@modules, 'german-sty'); if ( $language eq 'general' ) { $language = 'german-din'; } elsif ( $language !~ /^german/ ) { print STDERR "You cannot specify -g and -L at the same time.\n"; #print STDERR "NOTE: -g is obsolete anyhow.\n"; exit (1); } } unshift (@modules, ($letter_ordering ? 'letter-order' : 'word-order')); unshift (@modules, 'page-ranges') unless $no_ranges; # Check that the input markup is known. xelatex and omega markup implies # codepage utf8 for sorting, but no inputenc. We set the codepage # to undef to prevent loading of the inputenc module. Setting it # to utf8 for sort encoding is done by the xindy script. if ( $input_markup ne 'latex' && $input_markup ne 'xelatex' && $input_markup ne 'omega' ) { print STDERR "Unsupported input markup $input_markup.\n"; usage(1); } if ( $input_markup eq 'xelatex' || $input_markup eq 'omega' ) { $codepage = undef; } } sub output_version () { output_xindy_release(); print "$cmd script version: $VERSION\n"; my @xindy_cmd = ('--internal-version'); push (@xindy_cmd, qw(-d script --foobar)) if grep(/^script$/, @debug); exec_xindy(@xindy_cmd); } sub output_xindy_release () { my $version = 'unknown'; my $version_file; if ( -f "$cmd_dir/../VERSION" ) { $version_file = "$cmd_dir/../VERSION"; } else { # Where is the library directory? my $lib_dir; if ( $ENV{XINDY_LIBDIR} ) { $lib_dir = $ENV{XINDY_LIBDIR}; } elsif ( '@libdir@' ne '@libdir' . '@' ) { # GNU configure at work? if ( -d '@libdir@/xindy' ) { # /usr style $lib_dir = '@libdir@/xindy'; } else { $lib_dir = '@libdir@'; # /opt style } } elsif ( -f "$cmd_dir/../lib/xindy.run" ) { # /opt style $lib_dir = "$cmd_dir/../lib"; } elsif ( -d "$cmd_dir/../lib/xindy" ) { # /usr style $lib_dir = "$cmd_dir/../lib/xindy"; } else { die "Cannot locate xindy library directory"; } if ( -f "$lib_dir/VERSION" ) { $version_file = "$lib_dir/VERSION"; } } if ( $version_file ) { if ( open(VERSION, "<$version_file") ) { while ( $version = ) { chomp ($version); $version =~ s/\#.*// ; $version =~ s/^\s+// ; $version =~ s/\s+$// ; last if $version; } close (VERSION); } } print "xindy release: $version\n"; } #====================================================================== # # $Log: texindy,v $ # Revision 1.13 2011/01/18 22:18:29 jschrod # Document the range raw markup incompatibility with MakeIndex. # (Bug ticket 998541) # # Revision 1.12 2010/08/12 00:16:01 jschrod # Output help message on stdout if there's no error. # # Revision 1.11 2010/05/10 23:39:24 jschrod # Incorporate TeX-Live patches from Vladimir Volovich and Peter # Breitenlohner: Support for TL installation scheme, support for Mac OS # X, support for Windows in TL. # # Revision 1.10 2010/04/20 00:15:23 jschrod # Emphasize incompatibility with hyperref in man page. # # Revision 1.9 2009/12/03 00:28:22 jschrod # Search perl via env. # # Revision 1.8 2009/03/22 11:08:18 jschrod # man page: --v is --verbose, not --version. # # Revision 1.7 2009/03/21 16:32:06 jschrod # Inputenc merge rules must be loaded before other texindy modules; # otherwise inputenc markup would be discarded by tex.xdy. # # Revision 1.6 2008/02/17 14:55:32 jschrod # Use exitcode 0 when usage is explicitly demanded with --help et.al. # # Revision 1.5 2006/07/30 10:30:42 jschrod # Check if an exec() error happened and output an error message. # (Ticket 1230801) # # Revision 1.4 2006/07/19 00:29:56 jschrod # Support for omega input markup. # # Revision 1.3 2004/11/01 22:48:51 jschrod # Locate xindy script. # Terminate on option error. # Fix up version output. # # Revision 1.2 2004/05/26 21:30:11 jschrod # Added POD documentation. # # Revision 1.1 2004/05/24 19:47:13 jschrod # Introduce new driver script, as part of the "Companion Release". # xindy-2.5.1.20160104/user-commands/xindy.1000066400000000000000000000432261264235421100175470ustar00rootroot00000000000000.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "xindy 1" .TH xindy 1 "2015-08-15" "Release 2.5.1" "xindy" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" xindy \- create sorted and tagged index from raw index .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 4 \& xindy [\-V?h] [\-qv] [\-d magic] [\-o outfile.ind] [\-t log] \e \& [\-L lang] [\-C codepage] [\-M module] [\-I input] \e \& [\-\-interactive] [\-\-mem\-file=xindy.mem] \e \& [idx0 idx1 ...] .Ve .SS "GNU-Style Long Options for Short Options:" .IX Subsection "GNU-Style Long Options for Short Options:" .Vb 11 \& \-V / \-\-version \& \-? / \-h / \-\-help \& \-q / \-\-quiet \& \-v / \-\-verbose \& \-d / \-\-debug (multiple times) \& \-o / \-\-out\-file \& \-t / \-\-log\-file \& \-L / \-\-language \& \-C / \-\-codepage \& \-M / \-\-module (multiple times) \& \-I / \-\-input\-markup (supported: latex, xelatex, omega, xindy) .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBxindy\fR is the formatter-indepedent command of xindy, the flexible indexing system. It takes a raw index as input, and produces a merged, sorted and tagged index. Merging, sorting, and tagging is controlled by xindy style files. .PP Files with the raw index are passed as arguments. If no arguments are passed, the raw index will be read from standard input. .PP \&\fBxindy\fR is completely described in its manual that you will find on its Web Site, http://www.xindy.org/. A good introductionary description appears in the indexing chapter of the LaTeX Companion (2nd ed.) .PP If you want to produce an index for LaTeX documents, the command \&\fItexindy\fR\|(1) is probably more of interest for you. It is a wrapper for \&\fBxindy\fR that turns on many LaTeX conventions by default. .SH "OPTIONS" .IX Header "OPTIONS" .ie n .IP """\-\-version"" / \fB\-V\fR" 4 .el .IP "\f(CW\-\-version\fR / \fB\-V\fR" 4 .IX Item "--version / -V" output version numbers of all relevant components and exit. .ie n .IP """\-\-help"" / \fB\-h\fR / \fB\-?\fR" 4 .el .IP "\f(CW\-\-help\fR / \fB\-h\fR / \fB\-?\fR" 4 .IX Item "--help / -h / -?" output usage message with options explanation. .ie n .IP """\-\-quiet"" / \fB\-q\fR" 4 .el .IP "\f(CW\-\-quiet\fR / \fB\-q\fR" 4 .IX Item "--quiet / -q" Don't output progress messages. Output only error messages. .ie n .IP """\-\-verbose"" / \fB\-v\fR" 4 .el .IP "\f(CW\-\-verbose\fR / \fB\-v\fR" 4 .IX Item "--verbose / -v" Output verbose progress messages. .ie n .IP """\-\-debug"" \fImagic\fR / \fB\-d\fR \fImagic\fR" 4 .el .IP "\f(CW\-\-debug\fR \fImagic\fR / \fB\-d\fR \fImagic\fR" 4 .IX Item "--debug magic / -d magic" Output debug messages, this option may be specified multiple times. \&\fImagic\fR determines what is output: .Sp .Vb 6 \& magic remark \& \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- \& script internal progress messages of driver scripts \& keep_tmpfiles don\*(Aqt discard temporary files \& markup output markup trace, as explained in xindy manual \& level=n log level, n is 0 (default), 1, 2, or 3 .Ve .ie n .IP """\-\-out\-file"" \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind\fR" 4 .el .IP "\f(CW\-\-out\-file\fR \fIoutfile.ind\fR / \fB\-o\fR \fIoutfile.ind\fR" 4 .IX Item "--out-file outfile.ind / -o outfile.ind" Output index to file \fIoutfile.ind\fR. If this option is not passed, the name of the output file is the base name of the first argument and the file extension \fIind\fR. If the raw index is read from standard input, this option is mandatory. .ie n .IP """\-\-log\-file"" \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg\fR" 4 .el .IP "\f(CW\-\-log\-file\fR \fIlog.ilg\fR / \fB\-t\fR \fIlog.ilg\fR" 4 .IX Item "--log-file log.ilg / -t log.ilg" Output log messages to file \fIlog.ilg\fR. These log messages are independent from the progress messages that you can influence with \&\f(CW\*(C`\-\-debug\*(C'\fR or \f(CW\*(C`\-\-verbose\*(C'\fR. .ie n .IP """\-\-language"" \fIlang\fR / \fB\-L\fR \fIlang\fR" 4 .el .IP "\f(CW\-\-language\fR \fIlang\fR / \fB\-L\fR \fIlang\fR" 4 .IX Item "--language lang / -L lang" The index is sorted according to the rules of language \fIlang\fR. These rules are encoded in a xindy module created by \fImake-rules\fR. .Sp If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR or enforced by input markup, a xindy module for that language is searched with a latin, a cp, an iso, ascii, or utf8 encoding, in that order. .Sp Language modules are either placed in the \fIlang\fR or in the \&\fIcontrib/lang\fR sub-directory of the modules base directory. .ie n .IP """\-\-codepage"" \fIenc\fR / \fB\-C\fR \fIenc\fR" 4 .el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4 .IX Item "--codepage enc / -C enc" The raw input is in input encoding \fIenc\fR. This information is used to select the correct xindy sort module and output encoding of letter group headings. .Sp When \f(CW\*(C`xelatex\*(C'\fR or \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as codepage, then this option is ignored. .Sp If raw input is in \s-1LICR,\s0 \fItexindy\fR\|(1) should be used instead of \&\fIxindy\fR\|(1). It will activate a mapping of \fIinputenc\fR encoding for \&\f(CW\*(C`latex\*(C'\fR input markup to the chosen raw input codepage. .ie n .IP """\-\-module"" \fImodule\fR / \fB\-M\fR \fImodule\fR" 4 .el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4 .IX Item "--module module / -M module" Load the xindy module \fImodule.xdy\fR. This option may be specified multiple times. The modules are searched in the xindy search path that can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR. .ie n .IP """\-\-input\-markup"" \fIinput\fR / \fB\-I\fR \fIinput\fR" 4 .el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4 .IX Item "--input-markup input / -I input" Specifies the input markup of the raw index. Supported values for \&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`xelatex\*(C'\fR, \f(CW\*(C`omega\*(C'\fR, and \f(CW\*(C`xindy\*(C'\fR. .Sp \&\f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`xelatex\*(C'\fR input markup is the one that is emitted by default from the LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones. ^^\-notation of single byte characters is supported. Remapping of LICR-encoded characters is not done; use \fItexindy\fR\|(1) for that. Use input markup \f(CW\*(C`latex\*(C'\fR if you use standard LaTeX or pdfLaTeX and use input markup \f(CW\*(C`xelatex\*(C'\fR if you use XeLaTeX or LuaLaTeX. .Sp \&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's ^^\-notation as encoding for non-ASCII characters. .Sp \&\f(CW\*(C`xindy\*(C'\fR input markup is specified in the xindy manual. .ie n .IP """\-\-interactive""" 4 .el .IP "\f(CW\-\-interactive\fR" 4 .IX Item "--interactive" Start xindy in interactive mode. You will be in a xindy read-eval-loop where xindy language expressions are read and evaluated interactively. .ie n .IP """\-\-mem\-file"" \fIxindy.mem\fR" 4 .el .IP "\f(CW\-\-mem\-file\fR \fIxindy.mem\fR" 4 .IX Item "--mem-file xindy.mem" This option is only usable for developers or in very rare situations. The compiled xindy kernel is stored in a so-called \fImemory file\fR, canonically named \fIxindy.mem\fR, and located in the xindy library directory. This option allows to use another xindy kernel. .SH "SUPPORTED LANGUAGES / CODEPAGES" .IX Header "SUPPORTED LANGUAGES / CODEPAGES" The following languages are supported: .SS "Latin scripts" .IX Subsection "Latin scripts" .Vb 10 \& albanian gypsy portuguese \& croatian hausa romanian \& czech hungarian russian\-iso \& danish icelandic slovak\-small \& english italian slovak\-large \& esperanto kurdish\-bedirxan slovenian \& estonian kurdish\-turkish spanish\-modern \& finnish latin spanish\-traditional \& french latvian swedish \& general lithuanian turkish \& german\-din lower\-sorbian upper\-sorbian \& german\-duden norwegian vietnamese \& greek\-iso polish .Ve .PP German recognizes two different sorting schemes to handle umlauts: normally, \f(CW\*(C`a\*:\*(C'\fR is sorted like \f(CW\*(C`ae\*(C'\fR, but in phone books or dictionaries, it is sorted like \f(CW\*(C`a\*(C'\fR. The first scheme is known as \&\fI\s-1DIN\s0 order\fR, the second as \fIDuden order\fR. .PP \&\f(CW\*(C`*\-iso\*(C'\fR language names assume that the raw index entries are in \s-1ISO 8859\-9\s0 encoding. .PP \&\f(CW\*(C`gypsy\*(C'\fR is a northern Russian dialect. .SS "Cyrillic scripts" .IX Subsection "Cyrillic scripts" .Vb 3 \& belarusian mongolian serbian \& bulgarian russian ukrainian \& macedonian .Ve .SS "Other scripts" .IX Subsection "Other scripts" .Vb 1 \& greek klingon .Ve .SS "Available Codepages" .IX Subsection "Available Codepages" This is not yet written. You can look them up in your xindy distribution, in the \fImodules/lang/language/\fR directory (where \&\fIlanguage\fR is your language). They are named \&\fIvariant\-codepage\-lang.xdy\fR, where \fIvariant\-\fR is most often empty (for german, it's \f(CW\*(C`din5007\*(C'\fR and \f(CW\*(C`duden\*(C'\fR; for spanish, it's \f(CW\*(C`modern\*(C'\fR and \f(CW\*(C`traditional\*(C'\fR, etc.) .PP .Vb 1 \& < Describe available codepages for each language > \& \& < Describe relevance of codepages (as internal representation) for \& LaTeX inputenc > .Ve .SH "ENVIRONMENT" .IX Header "ENVIRONMENT" .ie n .IP """XINDY_SEARCHPATH""" 4 .el .IP "\f(CWXINDY_SEARCHPATH\fR" 4 .IX Item "XINDY_SEARCHPATH" A list of directories where the xindy modules are searched in. No subtree searching is done (as in TDS-conformant TeX). .Sp If this environment variable is not set, the default is used: \&\f(CW\*(C`.:\*(C'\fR\fImodules_dir\fR\f(CW\*(C`:\*(C'\fR\fImodules_dir\fR\f(CW\*(C`/base\*(C'\fR. \fImodules_dir\fR is determined at run time, relative to the \fBxindy\fR command location: Either it's \fI../modules\fR, that's the case for \fIopt\fR\-installations. Or it's \fI../lib/xindy/modules\fR, that's the case for \&\fIusr\fR\-installations. .ie n .IP """XINDY_LIBDIR""" 4 .el .IP "\f(CWXINDY_LIBDIR\fR" 4 .IX Item "XINDY_LIBDIR" Library directory where \fIxindy.mem\fR is located. .Sp The modules directory may be a subdirectory, too. .SH "COMPATIBILITY TO MAKEINDEX" .IX Header "COMPATIBILITY TO MAKEINDEX" \&\fBxindy\fR does not claim to be completely compatible with MakeIndex, that would prevent some of its enhancements. That said, we strive to deliver as much compatibility as possible. The most important incompatibilities are .IP "\(bu" 4 For raw index entries in LaTeX syntax, \f(CW\*(C`\eindex{aaa|bbb}\*(C'\fR is interpreted differently. For MakeIndex \f(CW\*(C`bbb\*(C'\fR is markup that is output as a LaTeX tag for this page number. For \fBxindy\fR, this is a location attribute, an abstract identifier that will be later associated with markup that should be output for that attribute. .Sp For straight-forward usage, when \f(CW\*(C`bbb\*(C'\fR is \f(CW\*(C`textbf\*(C'\fR or similar, we supply location attribute definitions that mimic MakeIndex's behaviour. .Sp For more complex usage, when \f(CW\*(C`bbb\*(C'\fR is not an identifier, no such compatibility definitions exist and may also not been created with current \fBxindy\fR. In particular, this means that by default the LaTeX package \f(CW\*(C`hyperref\*(C'\fR will create raw index files that cannot be processed with \fBxindy\fR. This is not a bug, this is the unfortunate result of an intented incompatibility. It is currently not possible to get both hyperref's index links and use \fBxindy\fR. .Sp A similar situation is reported to exist for the \f(CW\*(C`memoir\*(C'\fR LaTeX class. .Sp Programmers who know Common Lisp and Lex and want to work on a remedy should please contact the author. .IP "\(bu" 4 If you have an index rage and a location attribute, e.g., \&\f(CW\*(C`\eindex{key\e(attr}\*(C'\fR starts the range, one needs (1) to specify that attribute in the range closing entry as well (i.e., as \&\f(CW\*(C`\eindex{key\e)attr}\*(C'\fR) and (2) one needs to declare the index attribute in an \fBxindy\fR style file. .Sp MakeIndex will output the markup \f(CW\*(C`\eattr{page1\-\-page2}\*(C'\fR for such a construct. This is not possible to achieve in \fBxindy\fR, output will be \&\f(CW\*(C`\eattrMarkup{page1}\-\-\eattrMarkup{page2}\*(C'\fR. (This is actually considered a bug, but not a high priority one.) .Sp The difference between MakeIndex page number tags and \fBxindy\fR location attributes was already explained in the previous item. .IP "\(bu" 4 The MakeIndex compatibility definitions support only the default raw index syntax and markup definition. It is not possible to configure raw index parsing or use a MakeIndex style file to describe output markup. .SH "KNOWN ISSUES" .IX Header "KNOWN ISSUES" Option \fB\-q\fR also prevents output of error messages. Error messages should be output on stderr, progress messages on stdout. .PP There should be a way to output the final index to stdout. This would imply \fB\-q\fR, of course. .PP LaTeX raw index parsing should be configurable. .PP Codepage \f(CW\*(C`utf8\*(C'\fR should be supported for all languages, and should be used as internal codepage for LaTeX inputenc re-encoding. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fItexindy\fR\|(1), \&\fItex2xindy\fR\|(1) .SH "AUTHOR" .IX Header "AUTHOR" Joachim Schrod .SH "LEGALESE" .IX Header "LEGALESE" Copyright (c) 2004\-2014 by Joachim Schrod. .PP \&\fBxindy\fR is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. .PP This program is distributed in the hope that it will be useful, but \s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of \&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE. \s0 See the \&\s-1GNU\s0 General Public License for more details. xindy-2.5.1.20160104/user-commands/xindy.in000066400000000000000000000726041264235421100200170ustar00rootroot00000000000000#!/usr/bin/env perl # $Id: xindy.pl,v 1.18 2011/01/18 22:18:29 jschrod Exp $ #------------------------------------------------------------ # (history at end) =head1 NAME xindy - create sorted and tagged index from raw index =head1 SYNOPSIS xindy [-V?h] [-qv] [-d magic] [-o outfile.ind] [-t log] \ [-L lang] [-C codepage] [-M module] [-I input] \ [--interactive] [--mem-file=xindy.mem] \ [idx0 idx1 ...] =head2 GNU-Style Long Options for Short Options: -V / --version -? / -h / --help -q / --quiet -v / --verbose -d / --debug (multiple times) -o / --out-file -t / --log-file -L / --language -C / --codepage -M / --module (multiple times) -I / --input-markup (supported: latex, xelatex, omega, xindy) =head1 DESCRIPTION B is the formatter-indepedent command of xindy, the flexible indexing system. It takes a raw index as input, and produces a merged, sorted and tagged index. Merging, sorting, and tagging is controlled by xindy style files. Files with the raw index are passed as arguments. If no arguments are passed, the raw index will be read from standard input. B is completely described in its manual that you will find on its Web Site, http://www.xindy.org/. A good introductionary description appears in the indexing chapter of the LaTeX Companion (2nd ed.) If you want to produce an index for LaTeX documents, the command texindy(1) is probably more of interest for you. It is a wrapper for B that turns on many LaTeX conventions by default. =head1 OPTIONS =over =item C<--version> / B<-V> output version numbers of all relevant components and exit. =item C<--help> / B<-h> / B<-?> output usage message with options explanation. =item C<--quiet> / B<-q> Don't output progress messages. Output only error messages. =item C<--verbose> / B<-v> Output verbose progress messages. =item C<--debug> I / B<-d> I Output debug messages, this option may be specified multiple times. I determines what is output: magic remark ------------------------------------------------------------ script internal progress messages of driver scripts keep_tmpfiles don't discard temporary files markup output markup trace, as explained in xindy manual level=n log level, n is 0 (default), 1, 2, or 3 =item C<--out-file> F / B<-o> F Output index to file F. If this option is not passed, the name of the output file is the base name of the first argument and the file extension F. If the raw index is read from standard input, this option is mandatory. =item C<--log-file> F / B<-t> F Output log messages to file F. These log messages are independent from the progress messages that you can influence with C<--debug> or C<--verbose>. =item C<--language> I / B<-L> I The index is sorted according to the rules of language I. These rules are encoded in a xindy module created by I. If no input encoding is specified via C<--codepage> or enforced by input markup, a xindy module for that language is searched with a latin, a cp, an iso, ascii, or utf8 encoding, in that order. Language modules are either placed in the F or in the F sub-directory of the modules base directory. =item C<--codepage> I / B<-C> I The raw input is in input encoding I. This information is used to select the correct xindy sort module and output encoding of letter group headings. When C or C input markup is used, C is always used as codepage, then this option is ignored. If raw input is in LICR, texindy(1) should be used instead of xindy(1). It will activate a mapping of I encoding for C input markup to the chosen raw input codepage. =item C<--module> I / B<-M> I Load the xindy module F. This option may be specified multiple times. The modules are searched in the xindy search path that can be changed with the environment variable C. =item C<--input-markup> I / B<-I> I Specifies the input markup of the raw index. Supported values for I are C, C, C, and C. C and C input markup is the one that is emitted by default from the LaTeX kernel, or by the C macro package of David Jones. ^^-notation of single byte characters is supported. Remapping of LICR-encoded characters is not done; use texindy(1) for that. Use input markup C if you use standard LaTeX or pdfLaTeX and use input markup C if you use XeLaTeX or LuaLaTeX. C input markup is like C input markup, but with Omega's ^^-notation as encoding for non-ASCII characters. C input markup is specified in the xindy manual. =item C<--interactive> Start xindy in interactive mode. You will be in a xindy read-eval-loop where xindy language expressions are read and evaluated interactively. =item C<--mem-file> I This option is only usable for developers or in very rare situations. The compiled xindy kernel is stored in a so-called I, canonically named F, and located in the xindy library directory. This option allows to use another xindy kernel. =back =head1 SUPPORTED LANGUAGES / CODEPAGES The following languages are supported: =head2 Latin scripts albanian gypsy portuguese croatian hausa romanian czech hungarian russian-iso danish icelandic slovak-small english italian slovak-large esperanto kurdish-bedirxan slovenian estonian kurdish-turkish spanish-modern finnish latin spanish-traditional french latvian swedish general lithuanian turkish german-din lower-sorbian upper-sorbian german-duden norwegian vietnamese greek-iso polish German recognizes two different sorting schemes to handle umlauts: normally, C<ä> is sorted like C, but in phone books or dictionaries, it is sorted like C. The first scheme is known as I, the second as I. C<*-iso> language names assume that the raw index entries are in ISO 8859-9 encoding. C is a northern Russian dialect. =head2 Cyrillic scripts belarusian mongolian serbian bulgarian russian ukrainian macedonian =head2 Other scripts greek klingon =head2 Available Codepages This is not yet written. You can look them up in your xindy distribution, in the F directory (where I is your language). They are named F, where F is most often empty (for german, it's C and C; for spanish, it's C and C, etc.) < Describe available codepages for each language > < Describe relevance of codepages (as internal representation) for LaTeX inputenc > =head1 ENVIRONMENT =over =item C A list of directories where the xindy modules are searched in. No subtree searching is done (as in TDS-conformant TeX). If this environment variable is not set, the default is used: C<.:>IC<:>IC. I is determined at run time, relative to the B command location: Either it's F<../modules>, that's the case for F-installations. Or it's F<../lib/xindy/modules>, that's the case for F-installations. =item C Library directory where F is located. The modules directory may be a subdirectory, too. =back =head1 COMPATIBILITY TO MAKEINDEX B does not claim to be completely compatible with MakeIndex, that would prevent some of its enhancements. That said, we strive to deliver as much compatibility as possible. The most important incompatibilities are =over =item * For raw index entries in LaTeX syntax, C<\index{aaa|bbb}> is interpreted differently. For MakeIndex C is markup that is output as a LaTeX tag for this page number. For B, this is a location attribute, an abstract identifier that will be later associated with markup that should be output for that attribute. For straight-forward usage, when C is C or similar, we supply location attribute definitions that mimic MakeIndex's behaviour. For more complex usage, when C is not an identifier, no such compatibility definitions exist and may also not been created with current B. In particular, this means that by default the LaTeX package C will create raw index files that cannot be processed with B. This is not a bug, this is the unfortunate result of an intented incompatibility. It is currently not possible to get both hyperref's index links and use B. A similar situation is reported to exist for the C LaTeX class. Programmers who know Common Lisp and Lex and want to work on a remedy should please contact the author. =item * If you have an index rage and a location attribute, e.g., C<\index{key\(attr}> starts the range, one needs (1) to specify that attribute in the range closing entry as well (i.e., as C<\index{key\)attr}>) and (2) one needs to declare the index attribute in an B style file. MakeIndex will output the markup C<\attr{page1--page2}> for such a construct. This is not possible to achieve in B, output will be C<\attrMarkup{page1}--\attrMarkup{page2}>. (This is actually considered a bug, but not a high priority one.) The difference between MakeIndex page number tags and B location attributes was already explained in the previous item. =item * The MakeIndex compatibility definitions support only the default raw index syntax and markup definition. It is not possible to configure raw index parsing or use a MakeIndex style file to describe output markup. =back =head1 KNOWN ISSUES Option B<-q> also prevents output of error messages. Error messages should be output on stderr, progress messages on stdout. There should be a way to output the final index to stdout. This would imply B<-q>, of course. LaTeX raw index parsing should be configurable. Codepage C should be supported for all languages, and should be used as internal codepage for LaTeX inputenc re-encoding. =head1 SEE ALSO texindy(1), tex2xindy(1) =head1 AUTHOR Joachim Schrod =head1 LEGALESE Copyright (c) 2004-2014 by Joachim Schrod. B is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. =for Emacs # ' =cut use strict; use English qw(-no_match_vars); our $VERSION = sprintf "%d.%02d", q$Revision: 1.18 $ =~ /: (\d+)\.(\d+)/ ; # Used modules. use Cwd; use File::Basename; use File::Glob qw(bsd_glob); use File::Spec; use File::Temp qw(tempfile tmpnam); use Getopt::Long qw(:config bundling); use POSIX qw(uname); # Determine environment. Where is our library directory, and our modules? our $is_TL = ( '@is_TL@' eq 'yes' ); our $is_w32 = ( $OSNAME =~ /^MSWin/i ) ; our $path_sep = ( $is_w32 ? ';' : ':' ) ; our $is_windows = ( $is_w32 || $OSNAME eq 'cygwin' ) ; our $clisp = ( $is_windows ? 'clisp.exe' : 'clisp' ) ; our $real_cmd = Cwd::realpath($0); our $cmd_dir = dirname($real_cmd); our $cmd = basename($0); our ($lib_dir, $modules_dir); # xindy-lisp.exe for Windows seems to be unable to interpret the short-name # format which is a default for the variables TEMP and TMP in Windows OS. # As a workaround, we create temporary files in the current directory # in xindy on Windows. if ( $is_w32 ) { use Env qw(TMPDIR); Env::import(); $TMPDIR = "."; } # We have different installation structures for TeX-Live and a # standalone installation. In TeX-Live, the user command is a symlink # in some bin directory, and the actual script is in the library # directory where both memory image and modules live as well. # Standalone installations come in /usr or /opt variants, memory # images are located in a lib directory, modules are located in a # share directory. # # FIXME: In standalone installations, modules are still placed in lib # directory. This is not conformant to FHS. if ( $is_TL ) { # TeX Live, MiKTeX, or W32TeX $modules_dir = Cwd::realpath("$cmd_dir/../../xindy/modules"); die "$cmd: Cannot locate xindy modules directory" unless -d $modules_dir; if ( $is_w32 ) { if ( -d "$cmd_dir/../../../bin/win32" ) { # TeX Live $cmd_dir = "$cmd_dir/../../../bin/win32"; } elsif ( -d "$cmd_dir/../../miktex/bin/x64/internal" ) { # MiKTeX 64-bit $cmd_dir = "$cmd_dir/../../miktex/bin/x64/internal"; } elsif ( -d "$cmd_dir/../../miktex/bin/internal" ) { # MiKTeX 32-bit $cmd_dir = "$cmd_dir/../../miktex/bin/internal"; } elsif ( -d "$cmd_dir/../../../../bin" ) { # W32TeX $cmd_dir = "$cmd_dir/../../../../bin"; } else { die "$cmd: Cannot locate bin directory"; } } else { die "$cmd: not a symlink as required for TeX Live" unless -l $0; # Follow symlinks and determine $cmd_dir such that # $cmd_dir/xindy -> $r0 = XINDY_SCRIPTDIR/xindy.pl # I.e., it determines the directory with the last symbolic link; the # one that points to a real file. That's the directory with the binary # files (Lisp executable and memory file). $real_cmd = $0; while (-l $real_cmd) { $cmd_dir = dirname($real_cmd); $real_cmd = readlink($real_cmd); # \ directory separator may happen on Cygwin. $real_cmd = "$cmd_dir/$real_cmd" unless $real_cmd =~ m,^[\\/],; # relative link } } # library directory $lib_dir = $cmd_dir; # clisp runtime my $xindy_run = ( $is_windows ? "$lib_dir/xindy-lisp.exe" : "$lib_dir/xindy.run" ); $clisp = $xindy_run if -e $xindy_run; } else { # standalone installation # library directory if ( $ENV{XINDY_LIBDIR} ) { $lib_dir = $ENV{XINDY_LIBDIR}; } elsif ( '@libdir@' ne '@libdir' . '@' ) { # GNU configure at work? if ( -d '@libdir@/xindy' ) { # /usr style $lib_dir = '@libdir@/xindy'; } else { $lib_dir = '@libdir@'; # /opt style } } elsif ( -f "$cmd_dir/../lib/xindy.mem" ) { # /opt style $lib_dir = "$cmd_dir/../lib"; } elsif ( -d "$cmd_dir/../lib/xindy" ) { # /usr style $lib_dir = "$cmd_dir/../lib/xindy"; } else { die "$cmd: Cannot locate xindy library directory"; } # modules directory if ( -d "$cmd_dir/../modules" ) { # /opt style $modules_dir = "$cmd_dir/../modules"; } elsif ( -d "$lib_dir/modules" ) { # /usr style $modules_dir = "$lib_dir/modules"; } else { die "$cmd: Cannot locate xindy modules directory"; } } # determine environment # Check arguments, store them in proper variables. sub usage ( ;$ ) { my $exit_code = shift; $exit_code += 0; # turn undef into 0 my $out = ( $exit_code ? *STDERR : *STDOUT ); print $out <<_EOT_ usage: $cmd [-V?h] [-qv] [-d magic] [-o outfile.ind] [-t log] \\ [-L lang] [-C codepage] [-M module] [-I input] \\ [--interactive] [--mem-file xindy.mem] \\ [idx0 idx1 ...] GNU-STYLE LONG OPTIONS FOR SHORT OPTIONS: -V / --version -? / -h / --help -q / --quiet -v / --verbose -d / --debug (multiple times) (supported: script, keep_tmpfiles, markup, level=n) -o / --out-file -t / --log-file -L / --language -C / --codepage -M / --module (multiple times) -I / --input-markup (supported: latex, xelatex, omega, xindy) _EOT_ ; exit ($exit_code); } our ($quiet, $verbose, %debug, $outfile, $logfile, $language, @codepages, @modules, $input_markup, $interactive, $mem_file); $input_markup = 'latex'; $mem_file = "$lib_dir/xindy.mem"; my @orig_argv = @ARGV; parse_options(); # Support universal binary on Mac OS X. if ( $OSNAME eq 'darwin' && ! -e $mem_file ) { my @uname = POSIX::uname(); if ( $uname[4] eq 'Power Macintosh' ) { $mem_file = "$lib_dir/xindy-ppc.mem"; } else { $mem_file = "$lib_dir/xindy-i386.mem"; } } die "$cmd: Cannot locate $mem_file" unless -e $mem_file; # This script creates temporary files. Whenever a file is created, its # name is added to @temp_files. In an END handler, the temporary files # are deleted. Signal handlers are set up to get proper program # termination on user-induced signals. our @temp_files = (); handle_signals(); END { unlink (@temp_files) if ( @temp_files && ! $debug{keep_tmpfiles} ); } # Raw index handling: xindy is not able (yet?) to handle arguments # Perl-style, so we do it instead. We gather the raw index in a # temporary file. We also process it by the filter program it if # wanted. Signal handlers will discard temporary files if necessary. our $raw_index = File::Spec->devnull; unless ( $interactive ) { for my $f ( @ARGV ) { die "$cmd: input file $f does not exist" unless -f $f; } $raw_index = create_raw_index(); # processes @ARGV my $filter_cmd = ''; if ( $input_markup =~ /latex$/ ) { $filter_cmd = "$cmd_dir/tex2xindy"; } elsif ( $input_markup eq 'omega' ) { $filter_cmd = "$cmd_dir/tex2xindy -o"; } $raw_index = filter_index ($filter_cmd, $raw_index) if $filter_cmd; } # Execution: Create xindy start expression and call it. my $xindy_expression = xindy_expression(); # accesses global option vars my $exit_code = call_xindy ($mem_file, $xindy_expression); # Finished: exit, clean up in END handler. exit ($exit_code); # ------------------------------------------------------------ sub parse_options() { my (@debug); GetOptions( 'version|V' => sub { output_version(0); }, 'internal-version' => sub { output_version(1); }, 'help|h|?' => \&usage, 'quiet|q' => \$quiet, 'verbose|v' => \$verbose, 'debug|d=s' => \@debug, 'out-file|o=s' => \$outfile, 'log-file|t=s' => \$logfile, 'language|L=s' => \$language, 'codepage|C=s' => \@codepages, 'module|M=s' => \@modules, 'input-markup|I=s' => \$input_markup, 'interactive' => \$interactive, 'mem-file=s' => \$mem_file, ) or usage(1); # Debug option values are easier to test in a hash. Clean up trace # level options, too. %debug = map { $_ => 1 } @debug; my @trace_level = grep /^level=/, @debug; if ( @trace_level > 1 ) { print STDERR "You can only specify one trace level.\n\n"; exit (1); } delete $debug{$trace_level[0]}; $trace_level[0] =~ s/^level=// ; $debug{trace_level} = $trace_level[0]; # Check for unsupported debug option values. my %debug_check = %debug; foreach my $magic ( qw(script keep_tmpfiles markup trace_level) ) { delete $debug_check{$magic}; } if ( %debug_check ) { my @magic = keys(%debug_check); print STDERR "Unsupported argument for --debug: @magic\n"; usage(1); } # Script debugging implies running it verbose and not quiet. if ( $debug{script} ) { $verbose = 1; $quiet = 0; } # Default for the output file: first argument, with extension replaced # by ".ind". unless ( $outfile || $interactive ) { if ( @ARGV == 0 ) { print STDERR "You need to specify --out-file if the raw index is read from standard input.\n"; usage(1); } my ($name, $path, $suffix) = fileparse ($ARGV[0], '\.[^\.]+'); if ($path eq ".\\") { $outfile = "$name.ind"; } else { $outfile = "$path$name.ind"; } } # FIXME: xindy wants a log file. Really? $logfile = File::Spec->devnull unless $logfile; # Modules fixup: If they have no .xdy suffix, they get one. @modules = map { /\.xdy$/ ? $_ : "$_.xdy" } @modules; # Check that the input markup is known. # omega markup implies codepage utf8. if ( $input_markup && $input_markup ne 'latex' && $input_markup ne 'xelatex' && $input_markup ne 'omega' && $input_markup ne 'xindy' ) { print STDERR "Unsupported input markup $input_markup.\n"; usage(1); } if ( $input_markup eq 'xelatex' || $input_markup eq 'omega' ) { @codepages = qw(utf8); } } # # SIGNAL HANDLING # # FIXME: This is not good enough. We also need to kill subprocesses, # i.e., filter or xindy, if they are running. # Our signal handler function just exits. Temporary files are deleted # by the END section above. Actually, the exit code looses the # information about the received signal, that's not good but shouldn't # hurt either... sub signal_exit() { exit (2); } sub handle_signals () { $SIG{'HUP'} = \&signal_exit; # 1 $SIG{'INT'} = \&signal_exit; # 2 $SIG{'QUIT'} = \&signal_exit; # 3 $SIG{'TERM'} = \&signal_exit; # 15 } # # CREATION OF RAW XINDY INDEX # # Handle input files Perl-style. Returns file name that contains # concatenated input file contents. sub create_raw_index () { my ($output, $outfile) = tempfile(); push (@temp_files, $outfile); $outfile=quotify($outfile); while ( <> ) { print $output $_; } close ($output); print "concatenated xindy input file: $outfile\n" if $debug{script}; return $outfile; } # Run a filter over raw index. Returns file name with filtered raw # index, supposed to be in xindy input format. # # We assume the file names to be safe from shell meta characters since # they were computed by File::Temp. sub filter_index ( $$ ) { my ($filter, $input) = @_; my $output = tmpnam(); push (@temp_files, $output); $output=quotify($output); $filter=quotify($filter); print "Running filter: $filter <$input >$output\n" if $verbose; system "$filter <$input >$output"; print "filtered xindy input file: $output\n" if $debug{script}; return $output; } # # XINDY EXECUTION # # Construct final xindy expression, from options. sub xindy_expression () { my ($logging, $tracing, $trace_level, $searchpath); # Determine language module of make-rules framework. Part of the # complexity below is from compatibility with the TLC2 # description. We need to support the language names listed there, # even though they are not current. In addition, the codepage # option was introduced later and we need to guess it. This # guesswork will often be wrong, sadly. # # FIXME: I didn't see all languages. What's on with gypsy and # hausa? if ( !$language ) { $language = "general"; } if ( $language ) { # If there is no language directory, this might be a variant. # Language names and variants are separated by hyphens. The # variant name "din" is an abbreviation for "din5007". The # variant name "iso" is ignored, that is actually a codepage # name. # # FIXME: Or is "iso" the variant "translit"?! my @lang_base_dirs = ("$modules_dir/contrib/lang", "$modules_dir/lang"); my ($lang_dir, $variant); foreach my $ld ( @lang_base_dirs ) { if ( -d "$ld/$language" ) { $lang_dir = "$ld/$language"; last; } else { $language =~ /^([^-]*)-(.*)/ ; # language name ends with 1st hyphen if ( $2 && -d "$ld/$1" ) { # $2 is not set if the regex didn't match $language = $1; $lang_dir = "$ld/$language"; $variant = "$2-" unless ( $2 eq 'iso' ); $variant eq 'din-' and $variant = 'din5007-'; last; } } } # Let's guess the codepage. We take any that starts with # "latin", "cp", "iso8859", "ascii", or "utf8". @codepages = qw(latin cp iso8859 ascii utf8) unless @codepages; my @styles; foreach my $cp ( @codepages ) { @styles = bsd_glob("$lang_dir/$variant$cp*-lang.xdy"); last if @styles; } unless ( @styles ) { print STDERR "Cannot locate xindy module for language $language"; print STDERR " in codepage $codepages[0]" if ( @codepages == 1 ); print STDERR ".\n"; exit (1); } # Extract language module name: It's the relative part after # the module directory. Put it at the front of the list of # needed modules. It's important that the language module is # loaded first, it defines the sort rulesets, and subsequent # modules shall be able to add sort rules. unshift (@modules, substr($styles[0], length("$modules_dir/"))); print "Found language module $styles[0]\n" if $debug{script}; } # If there is more than one xindy module, construct a style file. # This is bad, of course; xindy should handle a list of style # files itself. my $style_file = $modules[0]; # will be undef if @modules is not set if ( @modules > 1 ) { my $sf; ($sf, $style_file) = tempfile(); push (@temp_files, $style_file); $style_file=quotify($style_file); foreach my $module ( @modules ) { print $sf "(require \"$module\")\n"; } close ($sf); } $outfile = quotify($outfile); $logging = ':logfile ' . quotify($logfile) if $logfile; $tracing = ':markup-trace :on' if $debug{markup}; $trace_level = ":trace-level $debug{trace_level}" if $debug{trace_level}; $searchpath = quotify(join($path_sep, ".", $modules_dir, "$modules_dir/base")); my $exp = <<_EOT_ (progn (searchpath $searchpath) (xindy:startup :idxstyle $style_file :rawindex $raw_index :output $outfile $logging $tracing $trace_level) (exit)) _EOT_ ; return $exp; } # Actual xindy call. Returns exit code. sub call_xindy ( $$ ) { my ($mem_file, $xindy_exp) = @_; my @command = ($clisp, '-M', $mem_file, '-E', 'iso-8859-1'); if ( $interactive ) { print "Proposed xindy expression:\n\n$xindy_exp\n" unless $quiet; } elsif ($is_w32) { my ($output, $outfile) = tempfile(); push (@temp_files, $outfile); $outfile=quotify($outfile); print $output $xindy_exp; close ($output); print "xindy startup file: $outfile\n" if $debug{script}; push (@command, "$outfile"); } else { push (@command, '-x', $xindy_exp); } if ( $debug{script} ) { print "modules directory: $modules_dir.\n"; print "command: @command\n"; } if ( $quiet && ! $interactive ) { open (STDOUT, '>', File::Spec->devnull); } system @command; if ( $? == -1 ) { print STDERR "$cmd: Could not execute xindy kernel: $!\n"; } elsif ( $? & 127 ) { return 4; } else { return $? >> 8; } } sub output_version ( ;$ ) { # optional arg: internal-version flag my $internal = shift; output_xindy_release() unless $internal; print "$cmd script version: $VERSION\n"; my $exit_code = call_xindy($mem_file, '(xindy:startup :show-version t)'); exit ($exit_code); } sub output_xindy_release () { my $version = 'unknown'; my $version_file; if ( -f "$modules_dir/../VERSION" ) { $version_file = "$modules_dir/../VERSION"; } elsif ( -f "$cmd_dir/../VERSION" ) { $version_file = "$cmd_dir/../VERSION"; } elsif ( -f "$lib_dir/VERSION" ) { $version_file = "$lib_dir/VERSION"; } if ( $version_file ) { if ( open(VERSION, "<$version_file") ) { while ( $version = ) { chomp ($version); $version =~ s/\#.*// ; $version =~ s/^\s+// ; $version =~ s/\s+$// ; last if $version; } close (VERSION); } } print "xindy release: $version\n"; } # Helper function: Make a proper quoted Lisp string. sub quotify ( $ ) { my $s = shift; $s =~ s:([\\\"]):\\$1:g ; return "\"$s\""; } #====================================================================== # # $Log: xindy.pl,v $ # Revision 1.18 2011/01/18 22:18:29 jschrod # Document the range raw markup incompatibility with MakeIndex. # (Bug ticket 998541) # # Revision 1.17 2010/08/12 00:16:01 jschrod # Output help message on stdout if there's no error. # # Revision 1.16 2010/05/10 23:39:24 jschrod # Incorporate TeX-Live patches from Vladimir Volovich and Peter # Breitenlohner: Support for TL installation scheme, support for Mac OS # X, support for Windows in TL. # # Revision 1.15 2010/04/20 00:15:23 jschrod # Emphasize incompatibility with hyperref in man page. # # Revision 1.14 2009/12/03 00:28:22 jschrod # Search perl via env. # # Revision 1.13 2009/03/29 11:14:04 jschrod # xindy.run does not exist any more, call clisp directly. # # Revision 1.12 2009/03/26 17:27:28 jschrod # Checking for variant name din needs to take trailing hyphen into account. # # Revision 1.11 2009/03/22 11:08:18 jschrod # man page: --v is --verbose, not --version. # # Revision 1.10 2009/03/21 18:05:11 jschrod # Variant rename of din to din5007 made explicit. (Proposed by # Zdenek Wagner at 16 Mar 09.) # # Revision 1.9 2008/02/17 14:55:32 jschrod # Use exitcode 0 when usage is explicitly demanded with --help et.al. # # Revision 1.8 2006/07/30 10:30:42 jschrod # Check if an exec() error happened and output an error message. # (Ticket 1230801) # # Revision 1.7 2006/07/19 00:29:56 jschrod # Support for omega input markup. # # Revision 1.6 2005/05/02 19:16:26 jschrod # Support new RTE 2.2, built with CLISP 2.33.2, that needs -E option # to specify the default charset. # xindy also has proper version output in Lisp now, no need for # workarounds in script any more. # # Revision 1.5 2004/11/01 22:48:51 jschrod # Locate xindy script. # Terminate on option error. # Fix up version output. # # Revision 1.4 2004/08/05 14:10:54 jschrod # Language variant names may have hyphens now. Language names must # not have hyphens -- the first hyphen of the -L option argument # separates language and variant name. # Revision 1.3 was completely off -- I committed a copy of texindy. # I really don't know what happened there. # # Revision 1.2 2004/05/26 21:30:11 jschrod # Added POD documentation. # # Revision 1.1 2004/05/24 19:47:13 jschrod # Introduce new driver script, as part of the "Companion Release". #