| # liblouis: Russian literary text translation table |
| # |
| # Copyright (C) 2013 Igor B. Poretsky <poretsky@mlbox.ru> |
| # |
| # This file is part of liblouis. |
| # |
| # liblouis is free software: you can redistribute it and/or modify it |
| # under the terms of the GNU Lesser General Public License as |
| # published by the Free Software Foundation, either version 3 of the |
| # License, or (at your option) any later version. |
| # |
| # liblouis 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 |
| # Lesser General Public License for more details. |
| # |
| # You should have received a copy of the GNU Lesser General Public |
| # License along with liblouis. If not, see |
| # <http://www.gnu.org/licenses/>. |
| |
| # Display and character definitions: |
| include ru-letters.dis |
| include ru-chardefs.cti |
| include en-chardefs.cti English character definitions |
| |
| # Braille indicators: |
| numsign 3456 number sign, just a dots operand |
| |
| # Emphasis indication signs: |
| emphclass italic |
| emphclass underline |
| emphclass bold |
| begemphphrase italic 456 |
| endemphphrase italic after 456 |
| begemphphrase bold 34 |
| endemphphrase bold after 34 |
| |
| # The decimal digits: |
| include litdigits6Dots.uti |
| |
| # Punctuations: |
| decpoint , 2 |
| prepunc " 236 |
| postpunc " 356 |
| postpunc ,\s 2 |
| postpunc ;\s 23 |
| hyphen - 36 |
| noback always . 256 |
| noback always , 2 |
| noback always ; 23 |
| noback always : 25 |
| noback always ? 26 |
| noback always ! 235 |
| noback always ' 3 |
| noback always ` 4 |
| |
| # Special symbols: |
| always @ 4-1 |
| always # 4-1345 |
| always $ 4-145 |
| always % 3456-245-356 |
| always ^ 56-26 |
| always & 6-12346 |
| noback always * 35 |
| noback always ( 126 |
| noback always ) 345 |
| always _ 6-25 |
| always [ 6-12356 |
| always ] 6-23456 |
| always { 46-126 |
| always } 46-345 |
| always \\ 4-16 |
| always | 456-3 |
| always ~ 5-26 |
| |
| # mathematical symbols: |
| noback always - 36 |
| always + 0-235 |
| always / 6-34 |
| always < 0-25-246-0 |
| always > 0-135-25-0 |
| always = 0-2356 |
| |
| # Symbol classes for special rules below: |
| class upperlatin ABCDEFGHIJKLMNOPQRSTUVWXYZ |
| class lowerlatin abcdefghijklmnopqrstuvwxyz |
| class uppercyrillic \x0401\x0410\x0411\x0412\x0413\x0414\x0415\x0416\x0417\x0418\x0419\x041A\x041B\x041C\x041D\x041E\x041F\x0420\x0421\x0422\x0423\x0424\x0425\x0426\x0427\x0428\x0429\x042A\x042B\x042C\x042D\x042E\x042F |
| class lowercyrillic \x0430\x0431\x0432\x0433\x0434\x0435\x0436\x0437\x0438\x0439\x043A\x043B\x043C\x043D\x043E\x043F\x0440\x0441\x0442\x0443\x0444\x0445\x0446\x0447\x0448\x0449\x044A\x044B\x044C\x044D\x044E\x044F\x0451 |
| |
| class latin ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz |
| class cyrillic \x0401\x0410\x0411\x0412\x0413\x0414\x0415\x0416\x0417\x0418\x0419\x041A\x041B\x041C\x041D\x041E\x041F\x0420\x0421\x0422\x0423\x0424\x0425\x0426\x0427\x0428\x0429\x042A\x042B\x042C\x042D\x042E\x042F\x0430\x0431\x0432\x0433\x0434\x0435\x0436\x0437\x0438\x0439\x043A\x043B\x043C\x043D\x043E\x043F\x0440\x0441\x0442\x0443\x0444\x0445\x0446\x0447\x0448\x0449\x044A\x044B\x044C\x044D\x044E\x044F\x0451 |
| |
| swapcd updigit 1234567890 1,12,14,145,15,124,1245,125,24,245 |
| |
| swapdd uppertolower 17,127,147,1457,157,1247,12457,1257,247,2457,137,1237,1347,13457,1357,12347,123457,12357,2347,23457,1367,12367,24567,13467,134567,13567,179,1279,1479,14579,1579,12479,124579,12579,2479,24579,1379,12379,13479,134579,13579,123479,1234579,123579,23479,234579,13679,245679,134679,135679,1679,1234679,15679,1235679,234679,2345679,24679,125679,124679 1,12,14,145,15,124,1245,125,24,245,13,123,134,1345,135,1234,12345,1235,234,2345,136,1236,2456,1346,13456,1356,19,129,149,1459,159,1249,12459,1259,249,2459,139,1239,1349,13459,1359,12349,123459,12359,2349,23459,1369,24569,13469,13569,169,123469,1569,123569,23469,234569,2469,12569,12469 |
| |
| # Adjust spacing around dashes according to the Russian braille rules. |
| noback context `["-\s"] @36 |
| noback context [$s]"-"$s ? |
| noback context [$d]"-" %updigit@0 |
| |
| # Mark cyrillic letters immediately following digits. |
| noback context [$d]%uppercyrillic %updigit@45#1=0 |
| noback context [$d]%lowercyrillic %updigit@5#1=0 |
| |
| # Mark lowercase latin letters where it is required. |
| noback context !#1=0[]%cyrillic #1=0 |
| noback context #1=1[$d]%lowerlatin %updigit@6 |
| noback context !#1=1[]%lowerlatin #1=1@6 |
| noback context !#1=1[]%upperlatin #1=1 |
| |
| # Make space before text following number with punctuation. |
| noback context [$d","]$l %updigit@2-0 |
| noback context [$d",\s"]$l %updigit@2-0 |
| noback context [$d";"]$l %updigit@23-0 |
| noback context [$d";\s"]$l %updigit@23-0 |
| |
| # Mark cyrillic letters immediately following latins. |
| noback pass2 %lowerlatin[]%uppercyrillic @45#1=0 |
| noback pass2 %lowerlatin[]%lowercyrillic @5#1=0 |
| noback pass2 #1=1[]%uppercyrillic @45#1=0 |
| noback pass2 #1=1[]%lowercyrillic @5#1=0 |
| |
| # Mark uppercase latin letters where it is appropriate. |
| noback pass2 !%upperlatin *#1=0 |
| noback pass2 !#1=1[]%upperlatin #1=1@46 |
| |
| # Format dialogs and direct speech according to the Russian braille tradition. |
| noback pass3 `@36 *#1=1 |
| noback pass3 @236 *#1=1 |
| noback pass3 @356 *#1=0 |
| noback pass3 #1=1@2@36@0 *#1=2 |
| noback pass3 #1=1@26@36@0 *#1=2 |
| noback pass3 #1=1@235@36@0 *#1=2 |
| noback pass3 #1=2@2[@36@0] @0-36 |
| noback pass3 #1=2@256[@36@0] @0-36 |
| |
| # Remove dot 7 from uppercase letters |
| noback pass4 %uppertolower %uppertolower |