You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

608 lines
18KB

  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. (define-letter-group "A" :prefixes ("¶"))
  20. (define-letter-group "B" :after "A" :prefixes ("·"))
  21. (define-letter-group "C" :after "B" :prefixes ("¸"))
  22. (define-letter-group "D" :after "C" :prefixes ("¹"))
  23. (define-letter-group "E" :after "D" :prefixes ("º"))
  24. (define-letter-group "F" :after "E" :prefixes ("»"))
  25. (define-letter-group "G" :after "F" :prefixes ("¼"))
  26. (define-letter-group "H" :after "G" :prefixes ("½"))
  27. (define-letter-group "I" :after "H" :prefixes ("¾"))
  28. (define-letter-group "J" :after "I" :prefixes ("¿"))
  29. (define-letter-group "K" :after "J" :prefixes ("À"))
  30. (define-letter-group "L" :after "K" :prefixes ("Á"))
  31. (define-letter-group "M" :after "L" :prefixes ("Â"))
  32. (define-letter-group "N" :after "M" :prefixes ("Ã"))
  33. (define-letter-group "O" :after "N" :prefixes ("Ä"))
  34. (define-letter-group "P" :after "O" :prefixes ("È"))
  35. (define-letter-group "Q" :after "P" :prefixes ("Ê"))
  36. (define-letter-group "R" :after "Q" :prefixes ("Ë"))
  37. (define-letter-group "S" :after "R" :prefixes ("Ð"))
  38. (define-letter-group "T" :after "S" :prefixes ("Ú"))
  39. (define-letter-group "U" :after "T" :prefixes ("à"))
  40. (define-letter-group "V" :after "U" :prefixes ("å"))
  41. (define-letter-group "W" :after "V" :prefixes ("æ"))
  42. (define-letter-group "X" :after "W" :prefixes ("ë"))
  43. (define-letter-group "Y" :after "X" :prefixes ("í"))
  44. (define-letter-group "Z" :after "Y" :prefixes ("ð"))
  45. (define-rule-set "sphinx-xy-alphabetize"
  46. :rules (("À" "¶" :string)
  47. ("Ä‚" "¶" :string)
  48. ("â" "¶" :string)
  49. ("Ä" "¶" :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. ("a" "¶" :string)
  176. ("A" "¶" :string)
  177. ("b" "·" :string)
  178. ("B" "·" :string)
  179. ("c" "¸" :string)
  180. ("C" "¸" :string)
  181. ("d" "¹" :string)
  182. ("D" "¹" :string)
  183. ("e" "º" :string)
  184. ("E" "º" :string)
  185. ("F" "»" :string)
  186. ("f" "»" :string)
  187. ("G" "¼" :string)
  188. ("g" "¼" :string)
  189. ("H" "½" :string)
  190. ("h" "½" :string)
  191. ("i" "¾" :string)
  192. ("I" "¾" :string)
  193. ("J" "¿" :string)
  194. ("j" "¿" :string)
  195. ("K" "À" :string)
  196. ("k" "À" :string)
  197. ("L" "Á" :string)
  198. ("l" "Á" :string)
  199. ("M" "Â" :string)
  200. ("m" "Â" :string)
  201. ("n" "Ã" :string)
  202. ("N" "Ã" :string)
  203. ("O" "Ä" :string)
  204. ("o" "Ä" :string)
  205. ("p" "È" :string)
  206. ("P" "È" :string)
  207. ("Q" "Ê" :string)
  208. ("q" "Ê" :string)
  209. ("r" "Ë" :string)
  210. ("R" "Ë" :string)
  211. ("S" "Ð" :string)
  212. ("s" "Ð" :string)
  213. ("t" "Ú" :string)
  214. ("T" "Ú" :string)
  215. ("u" "à" :string)
  216. ("U" "à" :string)
  217. ("v" "å" :string)
  218. ("V" "å" :string)
  219. ("W" "æ" :string)
  220. ("w" "æ" :string)
  221. ("x" "ë" :string)
  222. ("X" "ë" :string)
  223. ("Y" "í" :string)
  224. ("y" "í" :string)
  225. ("z" "ð" :string)
  226. ("Z" "ð" :string)
  227. ))
  228. (define-rule-set "sphinx-xy-resolve-diacritics"
  229. :rules (("Ĥ" "£" :string)
  230. ("ó" "£" :string)
  231. ("ľ" "£" :string)
  232. ("Ř" "£" :string)
  233. ("Ä�" "£" :string)
  234. ("Ä�" "£" :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. ("e" "¢" :string)
  359. ("t" "¢" :string)
  360. ("L" "¢" :string)
  361. ("Y" "¢" :string)
  362. ("J" "¢" :string)
  363. ("a" "¢" :string)
  364. ("p" "¢" :string)
  365. ("u" "¢" :string)
  366. ("j" "¢" :string)
  367. ("b" "¢" :string)
  368. ("G" "¢" :string)
  369. ("U" "¢" :string)
  370. ("F" "¢" :string)
  371. ("H" "¢" :string)
  372. ("i" "¢" :string)
  373. ("z" "¢" :string)
  374. ("c" "¢" :string)
  375. ("l" "¢" :string)
  376. ("A" "¢" :string)
  377. ("Q" "¢" :string)
  378. ("w" "¢" :string)
  379. ("D" "¢" :string)
  380. ("R" "¢" :string)
  381. ("d" "¢" :string)
  382. ("s" "¢" :string)
  383. ("r" "¢" :string)
  384. ("k" "¢" :string)
  385. ("v" "¢" :string)
  386. ("m" "¢" :string)
  387. ("P" "¢" :string)
  388. ("y" "¢" :string)
  389. ("K" "¢" :string)
  390. ("q" "¢" :string)
  391. ("S" "¢" :string)
  392. ("I" "¢" :string)
  393. ("C" "¢" :string)
  394. ("M" "¢" :string)
  395. ("Z" "¢" :string)
  396. ("T" "¢" :string)
  397. ("W" "¢" :string)
  398. ("B" "¢" :string)
  399. ("h" "¢" :string)
  400. ("x" "¢" :string)
  401. ("X" "¢" :string)
  402. ("f" "¢" :string)
  403. ("E" "¢" :string)
  404. ("V" "¢" :string)
  405. ("N" "¢" :string)
  406. ("O" "¢" :string)
  407. ("o" "¢" :string)
  408. ("g" "¢" :string)
  409. ("n" "¢" :string)
  410. ))
  411. (define-rule-set "sphinx-xy-resolve-case"
  412. :rules (("Ú" "8" :string)
  413. ("Ÿ" "8" :string)
  414. ("Ç" "8" :string)
  415. ("Ĉ" "8" :string)
  416. ("Å”" "8" :string)
  417. ("Ľ" "8" :string)
  418. ("Å®" "8" :string)
  419. ("�" "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. ("Å’" "89" :string)
  475. ("Æ" "89" :string)
  476. ("ì" "9" :string)
  477. ("è" "9" :string)
  478. ("Ä…" "9" :string)
  479. ("Å¡" "9" :string)
  480. ("ú" "9" :string)
  481. ("Ã¥" "9" :string)
  482. ("ă" "9" :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. ("æ" "99" :string)
  539. ("ß" "99" :string)
  540. ("Å“" "99" :string)
  541. ("N" "8" :string)
  542. ("V" "8" :string)
  543. ("O" "8" :string)
  544. ("X" "8" :string)
  545. ("E" "8" :string)
  546. ("P" "8" :string)
  547. ("K" "8" :string)
  548. ("T" "8" :string)
  549. ("Z" "8" :string)
  550. ("M" "8" :string)
  551. ("C" "8" :string)
  552. ("I" "8" :string)
  553. ("S" "8" :string)
  554. ("B" "8" :string)
  555. ("W" "8" :string)
  556. ("D" "8" :string)
  557. ("R" "8" :string)
  558. ("H" "8" :string)
  559. ("F" "8" :string)
  560. ("Q" "8" :string)
  561. ("A" "8" :string)
  562. ("G" "8" :string)
  563. ("U" "8" :string)
  564. ("J" "8" :string)
  565. ("Y" "8" :string)
  566. ("L" "8" :string)
  567. ("o" "9" :string)
  568. ("n" "9" :string)
  569. ("g" "9" :string)
  570. ("x" "9" :string)
  571. ("f" "9" :string)
  572. ("y" "9" :string)
  573. ("q" "9" :string)
  574. ("h" "9" :string)
  575. ("w" "9" :string)
  576. ("s" "9" :string)
  577. ("d" "9" :string)
  578. ("v" "9" :string)
  579. ("k" "9" :string)
  580. ("r" "9" :string)
  581. ("m" "9" :string)
  582. ("z" "9" :string)
  583. ("c" "9" :string)
  584. ("i" "9" :string)
  585. ("l" "9" :string)
  586. ("b" "9" :string)
  587. ("j" "9" :string)
  588. ("a" "9" :string)
  589. ("p" "9" :string)
  590. ("u" "9" :string)
  591. ("t" "9" :string)
  592. ("e" "9" :string)
  593. ))
  594. (use-rule-set :run 0
  595. :rule-set ("sphinx-xy-alphabetize"))
  596. (use-rule-set :run 1
  597. :rule-set ("sphinx-xy-resolve-diacritics"))
  598. (use-rule-set :run 2
  599. :rule-set ("sphinx-xy-resolve-case"))