1;; style file for xindy 2;; filename: LatinRules.xdy 3;; 4;; It is based upon xindy's files lang/general/utf8.xdy and 5;; lang/general/utf8-lang.xdy which implement 6;; "a general sorting order for Western European languages" 7;; 8;; The aim for Sphinx is to be able to index in a Cyrillic document 9;; also terms using the Latin alphabets, inclusive of letters 10;; with diacritics. To this effect the xindy rules from lang/general 11;; got manually re-coded to avoid collisions with the encoding 12;; done by xindy for sorting words in Cyrillic languages, which was 13;; observed not to use bytes with octal encoding 0o266 or higher. 14;; 15;; So here we use only 0o266 or higher bytes. 16;; (Ŋ, ŋ, IJ, and ij are absent from 17;; lang/general/utf8.xdy and not included here) 18;; Contributed by the Sphinx team, 2018. 19 20(define-letter-group "A" :prefixes ("�")) 21(define-letter-group "B" :after "A" :prefixes ("�")) 22(define-letter-group "C" :after "B" :prefixes ("�")) 23(define-letter-group "D" :after "C" :prefixes ("�")) 24(define-letter-group "E" :after "D" :prefixes ("�")) 25(define-letter-group "F" :after "E" :prefixes ("�")) 26(define-letter-group "G" :after "F" :prefixes ("�")) 27(define-letter-group "H" :after "G" :prefixes ("�")) 28(define-letter-group "I" :after "H" :prefixes ("�")) 29(define-letter-group "J" :after "I" :prefixes ("�")) 30(define-letter-group "K" :after "J" :prefixes ("�")) 31(define-letter-group "L" :after "K" :prefixes ("�")) 32(define-letter-group "M" :after "L" :prefixes ("�")) 33(define-letter-group "N" :after "M" :prefixes ("�")) 34(define-letter-group "O" :after "N" :prefixes ("�")) 35(define-letter-group "P" :after "O" :prefixes ("�")) 36(define-letter-group "Q" :after "P" :prefixes ("�")) 37(define-letter-group "R" :after "Q" :prefixes ("�")) 38(define-letter-group "S" :after "R" :prefixes ("�")) 39(define-letter-group "T" :after "S" :prefixes ("�")) 40(define-letter-group "U" :after "T" :prefixes ("�")) 41(define-letter-group "V" :after "U" :prefixes ("�")) 42(define-letter-group "W" :after "V" :prefixes ("�")) 43(define-letter-group "X" :after "W" :prefixes ("�")) 44(define-letter-group "Y" :after "X" :prefixes ("�")) 45(define-letter-group "Z" :after "Y" :prefixes ("�")) 46 47(define-rule-set "sphinx-xy-alphabetize" 48 49 :rules (("À" "�" :string) 50 ("Ă" "�" :string) 51 ("â" "�" :string) 52 ("Ä" "�" :string) 53 ("à" "�" :string) 54 ("Å" "�" :string) 55 ("Ã" "�" :string) 56 ("Á" "�" :string) 57 ("á" "�" :string) 58 ("ã" "�" :string) 59 ("Â" "�" :string) 60 ("ă" "�" :string) 61 ("å" "�" :string) 62 ("ą" "�" :string) 63 ("ä" "�" :string) 64 ("Ą" "�" :string) 65 ("æ" "��" :string) 66 ("Æ" "��" :string) 67 ("ć" "�" :string) 68 ("ĉ" "�" :string) 69 ("ç" "�" :string) 70 ("Č" "�" :string) 71 ("č" "�" :string) 72 ("Ĉ" "�" :string) 73 ("Ç" "�" :string) 74 ("Ć" "�" :string) 75 ("ď" "�" :string) 76 ("Đ" "�" :string) 77 ("Ď" "�" :string) 78 ("đ" "�" :string) 79 ("ê" "�" :string) 80 ("Ę" "�" :string) 81 ("Ě" "�" :string) 82 ("ë" "�" :string) 83 ("ě" "�" :string) 84 ("é" "�" :string) 85 ("È" "�" :string) 86 ("Ë" "�" :string) 87 ("É" "�" :string) 88 ("è" "�" :string) 89 ("Ê" "�" :string) 90 ("ę" "�" :string) 91 ("ĝ" "�" :string) 92 ("ğ" "�" :string) 93 ("Ğ" "�" :string) 94 ("Ĝ" "�" :string) 95 ("ĥ" "�" :string) 96 ("Ĥ" "�" :string) 97 ("Ï" "�" :string) 98 ("Í" "�" :string) 99 ("ï" "�" :string) 100 ("Î" "�" :string) 101 ("î" "�" :string) 102 ("ı" "�" :string) 103 ("İ" "�" :string) 104 ("í" "�" :string) 105 ("Ì" "�" :string) 106 ("ì" "�" :string) 107 ("Ĵ" "�" :string) 108 ("ĵ" "�" :string) 109 ("ł" "�" :string) 110 ("Ł" "�" :string) 111 ("ľ" "�" :string) 112 ("Ľ" "�" :string) 113 ("ń" "�" :string) 114 ("Ń" "�" :string) 115 ("ñ" "�" :string) 116 ("ň" "�" :string) 117 ("Ñ" "�" :string) 118 ("Ň" "�" :string) 119 ("Õ" "�" :string) 120 ("Ő" "�" :string) 121 ("ó" "�" :string) 122 ("ö" "�" :string) 123 ("ô" "�" :string) 124 ("ő" "�" :string) 125 ("Ø" "�" :string) 126 ("Ö" "�" :string) 127 ("õ" "�" :string) 128 ("Ô" "�" :string) 129 ("ø" "�" :string) 130 ("Ó" "�" :string) 131 ("Ò" "�" :string) 132 ("ò" "�" :string) 133 ("œ" "ĺ" :string) 134 ("Œ" "ĺ" :string) 135 ("Ř" "�" :string) 136 ("ř" "�" :string) 137 ("Ŕ" "�" :string) 138 ("ŕ" "�" :string) 139 ("ŝ" "�" :string) 140 ("Ś" "�" :string) 141 ("ș" "�" :string) 142 ("ş" "�" :string) 143 ("Ŝ" "�" :string) 144 ("ś" "�" :string) 145 ("Ș" "�" :string) 146 ("š" "�" :string) 147 ("Ş" "�" :string) 148 ("Š" "�" :string) 149 ("ß" "��" :string) 150 ("Ț" "�" :string) 151 ("Ť" "�" :string) 152 ("ț" "�" :string) 153 ("ť" "�" :string) 154 ("û" "�" :string) 155 ("ŭ" "�" :string) 156 ("ů" "�" :string) 157 ("ű" "�" :string) 158 ("ù" "�" :string) 159 ("Ŭ" "�" :string) 160 ("Ù" "�" :string) 161 ("Ű" "�" :string) 162 ("Ü" "�" :string) 163 ("Ů" "�" :string) 164 ("ú" "�" :string) 165 ("Ú" "�" :string) 166 ("Û" "�" :string) 167 ("ü" "�" :string) 168 ("ÿ" "�" :string) 169 ("Ý" "�" :string) 170 ("Ÿ" "�" :string) 171 ("ý" "�" :string) 172 ("Ż" "�" :string) 173 ("Ž" "�" :string) 174 ("Ź" "�" :string) 175 ("ž" "�" :string) 176 ("ż" "�" :string) 177 ("ź" "�" :string) 178 ("a" "�" :string) 179 ("A" "�" :string) 180 ("b" "�" :string) 181 ("B" "�" :string) 182 ("c" "�" :string) 183 ("C" "�" :string) 184 ("d" "�" :string) 185 ("D" "�" :string) 186 ("e" "�" :string) 187 ("E" "�" :string) 188 ("F" "�" :string) 189 ("f" "�" :string) 190 ("G" "�" :string) 191 ("g" "�" :string) 192 ("H" "�" :string) 193 ("h" "�" :string) 194 ("i" "�" :string) 195 ("I" "�" :string) 196 ("J" "�" :string) 197 ("j" "�" :string) 198 ("K" "�" :string) 199 ("k" "�" :string) 200 ("L" "�" :string) 201 ("l" "�" :string) 202 ("M" "�" :string) 203 ("m" "�" :string) 204 ("n" "�" :string) 205 ("N" "�" :string) 206 ("O" "�" :string) 207 ("o" "�" :string) 208 ("p" "�" :string) 209 ("P" "�" :string) 210 ("Q" "�" :string) 211 ("q" "�" :string) 212 ("r" "�" :string) 213 ("R" "�" :string) 214 ("S" "�" :string) 215 ("s" "�" :string) 216 ("t" "�" :string) 217 ("T" "�" :string) 218 ("u" "�" :string) 219 ("U" "�" :string) 220 ("v" "�" :string) 221 ("V" "�" :string) 222 ("W" "�" :string) 223 ("w" "�" :string) 224 ("x" "�" :string) 225 ("X" "�" :string) 226 ("Y" "�" :string) 227 ("y" "�" :string) 228 ("z" "�" :string) 229 ("Z" "�" :string) 230 )) 231 232(define-rule-set "sphinx-xy-resolve-diacritics" 233 234 :rules (("Ĥ" "�" :string) 235 ("ó" "�" :string) 236 ("ľ" "�" :string) 237 ("Ř" "�" :string) 238 ("ĝ" "�" :string) 239 ("ď" "�" :string) 240 ("Ě" "�" :string) 241 ("ĥ" "�" :string) 242 ("Č" "�" :string) 243 ("Ĵ" "�" :string) 244 ("ě" "�" :string) 245 ("ž" "�" :string) 246 ("Ď" "�" :string) 247 ("ř" "�" :string) 248 ("Ž" "�" :string) 249 ("ı" "�" :string) 250 ("Ť" "�" :string) 251 ("á" "�" :string) 252 ("č" "�" :string) 253 ("Á" "�" :string) 254 ("ň" "�" :string) 255 ("Š" "�" :string) 256 ("Ň" "�" :string) 257 ("ĵ" "�" :string) 258 ("ť" "�" :string) 259 ("Ó" "�" :string) 260 ("ý" "�" :string) 261 ("Ĝ" "�" :string) 262 ("Ú" "�" :string) 263 ("Ľ" "�" :string) 264 ("š" "�" :string) 265 ("Ý" "�" :string) 266 ("ú" "�" :string) 267 ("Ś" "�" :string) 268 ("ć" "�" :string) 269 ("Ł" "�" :string) 270 ("ł" "�" :string) 271 ("ń" "�" :string) 272 ("À" "�" :string) 273 ("Ź" "�" :string) 274 ("à" "�" :string) 275 ("Ń" "�" :string) 276 ("Đ" "�" :string) 277 ("ÿ" "�" :string) 278 ("ś" "�" :string) 279 ("Ğ" "�" :string) 280 ("ğ" "�" :string) 281 ("Ù" "�" :string) 282 ("İ" "�" :string) 283 ("đ" "�" :string) 284 ("ù" "�" :string) 285 ("Ț" "�" :string) 286 ("é" "�" :string) 287 ("ŕ" "�" :string) 288 ("Ć" "�" :string) 289 ("ț" "�" :string) 290 ("ò" "�" :string) 291 ("ź" "�" :string) 292 ("Ò" "�" :string) 293 ("Ÿ" "�" :string) 294 ("Ŕ" "�" :string) 295 ("É" "�" :string) 296 ("ĉ" "�" :string) 297 ("ô" "�" :string) 298 ("Í" "�" :string) 299 ("ŝ" "�" :string) 300 ("Ż" "�" :string) 301 ("Ă" "�" :string) 302 ("Ŝ" "�" :string) 303 ("ñ" "�" :string) 304 ("ŭ" "�" :string) 305 ("í" "�" :string) 306 ("È" "�" :string) 307 ("Ô" "�" :string) 308 ("Ŭ" "�" :string) 309 ("ż" "�" :string) 310 ("Ñ" "�" :string) 311 ("è" "�" :string) 312 ("Ĉ" "�" :string) 313 ("ă" "�" :string) 314 ("â" "�" :string) 315 ("û" "�" :string) 316 ("ê" "�" :string) 317 ("Õ" "�" :string) 318 ("õ" "�" :string) 319 ("ș" "�" :string) 320 ("ç" "�" :string) 321 ("Â" "�" :string) 322 ("Ê" "�" :string) 323 ("Û" "�" :string) 324 ("Ç" "�" :string) 325 ("ì" "�" :string) 326 ("Ì" "�" :string) 327 ("Ș" "�" :string) 328 ("ö" "�" :string) 329 ("Ö" "�" :string) 330 ("ş" "�" :string) 331 ("ů" "�" :string) 332 ("ë" "�" :string) 333 ("ã" "�" :string) 334 ("î" "�" :string) 335 ("Î" "�" :string) 336 ("Ã" "�" :string) 337 ("Ş" "�" :string) 338 ("Ů" "�" :string) 339 ("Ë" "�" :string) 340 ("ï" "�" :string) 341 ("Ő" "�" :string) 342 ("Ï" "�" :string) 343 ("Ę" "�" :string) 344 ("ő" "�" :string) 345 ("Ü" "�" :string) 346 ("Å" "�" :string) 347 ("ü" "�" :string) 348 ("ę" "�" :string) 349 ("å" "�" :string) 350 ("Ä" "�" :string) 351 ("ű" "�" :string) 352 ("Ø" "�" :string) 353 ("ø" "�" :string) 354 ("Ű" "�" :string) 355 ("ä" "�" :string) 356 ("Ą" "�" :string) 357 ("ą" "�" :string) 358 ("œ" "�" :string) 359 ("ß" "�" :string) 360 ("Æ" "�" :string) 361 ("Œ" "�" :string) 362 ("æ" "�" :string) 363 ("e" "�" :string) 364 ("t" "�" :string) 365 ("L" "�" :string) 366 ("Y" "�" :string) 367 ("J" "�" :string) 368 ("a" "�" :string) 369 ("p" "�" :string) 370 ("u" "�" :string) 371 ("j" "�" :string) 372 ("b" "�" :string) 373 ("G" "�" :string) 374 ("U" "�" :string) 375 ("F" "�" :string) 376 ("H" "�" :string) 377 ("i" "�" :string) 378 ("z" "�" :string) 379 ("c" "�" :string) 380 ("l" "�" :string) 381 ("A" "�" :string) 382 ("Q" "�" :string) 383 ("w" "�" :string) 384 ("D" "�" :string) 385 ("R" "�" :string) 386 ("d" "�" :string) 387 ("s" "�" :string) 388 ("r" "�" :string) 389 ("k" "�" :string) 390 ("v" "�" :string) 391 ("m" "�" :string) 392 ("P" "�" :string) 393 ("y" "�" :string) 394 ("K" "�" :string) 395 ("q" "�" :string) 396 ("S" "�" :string) 397 ("I" "�" :string) 398 ("C" "�" :string) 399 ("M" "�" :string) 400 ("Z" "�" :string) 401 ("T" "�" :string) 402 ("W" "�" :string) 403 ("B" "�" :string) 404 ("h" "�" :string) 405 ("x" "�" :string) 406 ("X" "�" :string) 407 ("f" "�" :string) 408 ("E" "�" :string) 409 ("V" "�" :string) 410 ("N" "�" :string) 411 ("O" "�" :string) 412 ("o" "�" :string) 413 ("g" "�" :string) 414 ("n" "�" :string) 415 )) 416 417(define-rule-set "sphinx-xy-resolve-case" 418 419 :rules (("Ú" "8" :string) 420 ("Ÿ" "8" :string) 421 ("Ç" "8" :string) 422 ("Ĉ" "8" :string) 423 ("Ŕ" "8" :string) 424 ("Ľ" "8" :string) 425 ("Ů" "8" :string) 426 ("Ý" "8" :string) 427 ("É" "8" :string) 428 ("Ë" "8" :string) 429 ("Ș" "8" :string) 430 ("Ì" "8" :string) 431 ("Ê" "8" :string) 432 ("Ň" "8" :string) 433 ("Ą" "8" :string) 434 ("Š" "8" :string) 435 ("Û" "8" :string) 436 ("Ş" "8" :string) 437 ("Ć" "8" :string) 438 ("Ò" "8" :string) 439 ("Ĝ" "8" :string) 440 ("Ñ" "8" :string) 441 ("Ó" "8" :string) 442 ("Î" "8" :string) 443 ("Á" "8" :string) 444 ("Ã" "8" :string) 445 ("Ț" "8" :string) 446 ("Å" "8" :string) 447 ("Ğ" "8" :string) 448 ("Ü" "8" :string) 449 ("È" "8" :string) 450 ("Ô" "8" :string) 451 ("İ" "8" :string) 452 ("Ű" "8" :string) 453 ("Ù" "8" :string) 454 ("Ŭ" "8" :string) 455 ("Â" "8" :string) 456 ("Ť" "8" :string) 457 ("Ń" "8" :string) 458 ("Ď" "8" :string) 459 ("Ź" "8" :string) 460 ("Ž" "8" :string) 461 ("Đ" "8" :string) 462 ("Ŝ" "8" :string) 463 ("Č" "8" :string) 464 ("Ĵ" "8" :string) 465 ("Ö" "8" :string) 466 ("Ø" "8" :string) 467 ("Ż" "8" :string) 468 ("Ł" "8" :string) 469 ("Ă" "8" :string) 470 ("Ě" "8" :string) 471 ("Ő" "8" :string) 472 ("Õ" "8" :string) 473 ("Ę" "8" :string) 474 ("Ï" "8" :string) 475 ("À" "8" :string) 476 ("Ĥ" "8" :string) 477 ("Ä" "8" :string) 478 ("Ś" "8" :string) 479 ("Ř" "8" :string) 480 ("Í" "8" :string) 481 ("Œ" "89" :string) 482 ("Æ" "89" :string) 483 ("ì" "9" :string) 484 ("è" "9" :string) 485 ("ą" "9" :string) 486 ("š" "9" :string) 487 ("ú" "9" :string) 488 ("å" "9" :string) 489 ("ă" "9" :string) 490 ("ę" "9" :string) 491 ("ü" "9" :string) 492 ("ź" "9" :string) 493 ("ò" "9" :string) 494 ("ť" "9" :string) 495 ("ț" "9" :string) 496 ("ĵ" "9" :string) 497 ("ŕ" "9" :string) 498 ("ż" "9" :string) 499 ("ä" "9" :string) 500 ("ý" "9" :string) 501 ("ù" "9" :string) 502 ("á" "9" :string) 503 ("é" "9" :string) 504 ("č" "9" :string) 505 ("ň" "9" :string) 506 ("ś" "9" :string) 507 ("ø" "9" :string) 508 ("í" "9" :string) 509 ("đ" "9" :string) 510 ("ı" "9" :string) 511 ("ğ" "9" :string) 512 ("î" "9" :string) 513 ("ã" "9" :string) 514 ("à" "9" :string) 515 ("ř" "9" :string) 516 ("ő" "9" :string) 517 ("ů" "9" :string) 518 ("ș" "9" :string) 519 ("ÿ" "9" :string) 520 ("ë" "9" :string) 521 ("ŭ" "9" :string) 522 ("ç" "9" :string) 523 ("ű" "9" :string) 524 ("ñ" "9" :string) 525 ("õ" "9" :string) 526 ("ě" "9" :string) 527 ("ş" "9" :string) 528 ("ž" "9" :string) 529 ("ĝ" "9" :string) 530 ("ŝ" "9" :string) 531 ("ń" "9" :string) 532 ("û" "9" :string) 533 ("ł" "9" :string) 534 ("ď" "9" :string) 535 ("ĥ" "9" :string) 536 ("ê" "9" :string) 537 ("ô" "9" :string) 538 ("ĉ" "9" :string) 539 ("â" "9" :string) 540 ("ć" "9" :string) 541 ("ï" "9" :string) 542 ("ö" "9" :string) 543 ("ľ" "9" :string) 544 ("ó" "9" :string) 545 ("æ" "99" :string) 546 ("ß" "99" :string) 547 ("œ" "99" :string) 548 ("N" "8" :string) 549 ("V" "8" :string) 550 ("O" "8" :string) 551 ("X" "8" :string) 552 ("E" "8" :string) 553 ("P" "8" :string) 554 ("K" "8" :string) 555 ("T" "8" :string) 556 ("Z" "8" :string) 557 ("M" "8" :string) 558 ("C" "8" :string) 559 ("I" "8" :string) 560 ("S" "8" :string) 561 ("B" "8" :string) 562 ("W" "8" :string) 563 ("D" "8" :string) 564 ("R" "8" :string) 565 ("H" "8" :string) 566 ("F" "8" :string) 567 ("Q" "8" :string) 568 ("A" "8" :string) 569 ("G" "8" :string) 570 ("U" "8" :string) 571 ("J" "8" :string) 572 ("Y" "8" :string) 573 ("L" "8" :string) 574 ("o" "9" :string) 575 ("n" "9" :string) 576 ("g" "9" :string) 577 ("x" "9" :string) 578 ("f" "9" :string) 579 ("y" "9" :string) 580 ("q" "9" :string) 581 ("h" "9" :string) 582 ("w" "9" :string) 583 ("s" "9" :string) 584 ("d" "9" :string) 585 ("v" "9" :string) 586 ("k" "9" :string) 587 ("r" "9" :string) 588 ("m" "9" :string) 589 ("z" "9" :string) 590 ("c" "9" :string) 591 ("i" "9" :string) 592 ("l" "9" :string) 593 ("b" "9" :string) 594 ("j" "9" :string) 595 ("a" "9" :string) 596 ("p" "9" :string) 597 ("u" "9" :string) 598 ("t" "9" :string) 599 ("e" "9" :string) 600 )) 601 602(use-rule-set :run 0 603 :rule-set ("sphinx-xy-alphabetize")) 604(use-rule-set :run 1 605 :rule-set ("sphinx-xy-resolve-diacritics")) 606(use-rule-set :run 2 607 :rule-set ("sphinx-xy-resolve-case")) 608