| # liblouis: Estonian 6-dot braille based on the official specification document |
| # |
| # Copyright (C) 2025 Artur Räpp <artur@laegas.ee> |
| # Copyright (C) 2025 Taniel Kirikal <taniel@colleduc.ee> |
| # |
| # 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 2.1 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/>. |
| # |
| # |
| #-index-name: Estonian |
| #-display-name: Estonian braille |
| #-name: Eesti punktkirjatabel (6-punktine) |
| # |
| #+language:et |
| #+type:literary |
| #+contraction:no |
| #+dots:6 |
| #+direction:forward |
| # |
| # |
| #-author: Artur Räpp <artur@laegas.ee> |
| #-author: Taniel Kirikal <taniel@colleduc.ee> |
| #-copyright: 2008-2026 |
| #-updated: 2026-02-15 |
| # |
| # Based on the official documentation "Punktkiri" on the website (in Estonian) https://tek.tartu.ee/punktkiri. |
| |
| |
| # Includes |
| include spaces.uti |
| include latinLetterDef6Dots.uti |
| include digits6Dots.uti |
| include litdigits6Dots.uti |
| include braille-patterns.cti |
| |
| noback correct "\x00ad" "" # ignore invisible "soft hyphen" |
| |
| lowercase \x00e4 345 LATIN LETTER A WITH DIAERESIS |
| base uppercase \x00c4 \x00e4 |
| lowercase \x00f5 126 LATIN LETTER O WITH TILDE |
| base uppercase \x00d5 \x00f5 |
| lowercase \x00f6 246 LATIN LETTER O WITH DIAERESIS |
| base uppercase \x00d6 \x00f6 |
| lowercase \x00fc 1256 LATIN LETTER U WITH DIAERESIS |
| base uppercase \x00dc \x00fc |
| lowercase \x0161 156 LATIN LETTER S WITH CARON |
| base uppercase \x0160 \x0161 |
| lowercase \x017e 2346 LATIN LETTER Z WITH CARON |
| base uppercase \x017d \x017e |
| lowercase \x00e7 4-14 LATIN LETTER C WITH CEDILLA |
| base uppercase \x00c7 \x00e7 |
| |
| |
| punctuation ! 235 EXCLAMATION MARK |
| punctuation ' 5 # apostrophe, single quote |
| punctuation ` 5 # apostrophe, single quote |
| noback punctuation ´ 4 # foreign letter/diacritic sign (avoid ambiguity with @) |
| punctuation \x2019 5 # right single quotation mark |
| punctuation " 56 QUOTATION MARK |
| noback punctuation \x201c 56 # left double quotation mark |
| noback punctuation \x201d 56 # right double quotation mark |
| noback punctuation \x201e 56 # low double quotation mark |
| punctuation - 36 HYPHEN-MINUS |
| punctuation \x2013 36 # en dash |
| punctuation \x2014 36 # em dash |
| punctuation _ 36 # underscore |
| punctuation ( 236 LEFT PARENTHESIS |
| punctuation ) 356 RIGHT PARENTHESIS |
| punctuation , 2 COMMA |
| punctuation . 3 FULL STOP |
| punctuation § 346 paragraph sign |
| punctuation : 25 COLON |
| punctuation ; 23 SEMICOLON |
| punctuation ? 26 QUESTION MARK |
| punctuation [ 12356 left bracket |
| punctuation ] 23456 right bracket |
| |
| # replacing horizontal ellipsis with three dots |
| replace \x2026 ... # explicit three braille points |
| repeated ggg 2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356-2356 |
| repeated ccc 25-25-25-25-25-25-25-25-25-25-25-25-25-25-25-25-25-25-25-25 |
| |
| sign # 3456 number sign, pound sign (weight) |
| sign % 1456 percent sign |
| sign & 12346 ampersand |
| sign * 35 asterisk, multiplication sign |
| sign @ 4 at |
| sign \x20ac 4-15 € Euro sign |
| sign \x2032 46 ′ Prime sign (minute) |
| sign \x2033 456 ″ Double prime sign (second) |
| sign \\ 16 backslash |
| sign \x2022 256 • Bold bullet sign |
| sign \x00b7 3 · Interpunct |
| sign ~ 45 |
| |
| math \x22c5 3 dot operator or multiplication sign |
| math \x2219 3 ∙ Bullet operator |
| math \x00d7 3 × Multiplication sign |
| math \x2236 25 division sign |
| math \x00f7 25 ÷ Division sign; Obelus |
| math + 235 plus sign |
| math \x2212 36 − Minus sign, not a hyphen |
| math / 34 slash, division sign |
| math < 246 less than |
| math > 135 greater than |
| math { 246 |
| math } 135 |
| math = 2356 equals |
| math \x2260 5-2356 not equal to |
| math \x2248 456-2356 almost equal to |
| math \x2264 246-2356 LESS-THAN OR EQUAL TO |
| math \x2265 135-2356 GREATER-THAN OR EQUAL TO |
| math \x2030 25-1456 ‰ Per mille sign |
| math \x00b0 356 ° Degree symbol |
| math \x221e 123456 ∞ Infinity sign |
| math \x221a 146 √ Root sign |
| |
| decpoint , 2 |
| numsign 3456 |
| |
| # Longer number expressions |
| midnum . 3 |
| midnum : 25 # Common time notation 15:30 (non-standard convenience) |
| swapcd dropped 0123456789 356,2,23,25,256,26,235,2356,236,35 |
| |
| # Number-text transitions: separate trailing text from numbers with space. |
| noback context $d[]$l @0 |
| # Mixed numbers: omit print space between whole number and the fraction. |
| noback context $d["\s"]$d."/"$d. ? |
| |
| # Second power |
| # Powers are generally marked using power sign. However, if the power is two, the number is omitted. |
| noback context ["^2\s"] @346-0 |
| noback context ["^2"]$p @346 |
| |
| # Squared uses just the power sign (dots 3-4-6) |
| sign \x00b2 346 |
| # Cubed uses power sign + dropped 3 (dots 3-4-6 then 2-5) |
| sign \x00b3 346-25 |
| |
| # Dashes, not a hyphen. Dashes always have spaces around them. |
| noback context !$s["\x2013"]!$s @0-36-0 |
| noback context !$s["\x2014"]!$s @0-36-0 |
| # Degree/prime signs are always preceded by a space in numeric notation. |
| noback context $d[]"\x00b0" @0 Degree sign |
| noback context $d[]"\x2032" @0 Prime sign (minute) |
| noback context $d[]"\x2033" @0 Double prime sign (second) |
| # Percent and per mille signs are preceded by space. |
| noback context $d[]"\x2030" @0 Per mille sign |
| noback context $d[]"%" @0 Percent sign |
| # Fractions/division with solidus: omit slash and lower denominator digits. |
| # Keep this before the generic math-spacing rule so n/m patterns are handled first. |
| noback context $d["/"$d.] %dropped |
| # Parentheses in math context use dedicated bracket cells. |
| noback context ["("]$d @126 |
| noback context ["("]$s.$d @126 |
| noback context $d[")"] @345 |
| noback context $d$s.[")"] @345 |
| # Mathematical symbols and operators are always preceded by space. |
| noback context $d[]$m @0 |
| # Hyphen-minus used as subtraction is also preceded by space. |
| noback context $d[]"-" @0 |
| # Slash as an operator is preceded by space within number expressions. |
| noback context $d[]"/" @0 |
| |
| # Braille Indicators: |
| capsletter 6 shift indicator |
| begcapsword 69-6 caps lock indicator |
| endcapsword 569 caps release indicator |
| # capsmodechars 0123456789!"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~ # if letters are separated by numbers, punctuation, etc. |
| |
| # Use virtual capsword markers in forward translation and map them back to |
| # standard dots (6-6 / 56) so backward translation can disambiguate quotes. |
| swapdd cleanvirtual 69,569 6,56 |
| noback pass4 %cleanvirtual %cleanvirtual |
| # When a capsword starts in braille, only treat dot-56 as endcapsword if a |
| # letter follows; otherwise keep it as a quotation mark. |
| nofor pass4 _!$sp[@6@6] @69-6#1=1 |
| nofor pass4 #1=1[@56]$l @569#1=0 |
| nofor pass4 #1=1!$l *#1=0 |
| |
| # Emphasis |
| emphclass italic |
| emphclass underline |
| emphclass bold |
| |
| # Define phrase length threshold for each class (standard: >3 words) |
| lenemphphrase italic 3 |
| lenemphphrase bold 3 |
| lenemphphrase underline 3 |
| |
| begemphphrase underline 346-346 |
| endemphphrase underline before 346 |
| begemphword underline 346 |
| |
| |
| begemphphrase bold 456-456 |
| endemphphrase bold before 456 |
| begemphword bold 456 |
| |
| begemphphrase italic 46-46 |
| endemphphrase italic before 46 |
| begemphword italic 46 |
| |
| |
| # Lowercase Greek alphabet |
| lowercase α 46-1 # alpha |
| lowercase β 46-12 # beta |
| lowercase γ 46-1245 # gamma |
| lowercase δ 46-145 # delta |
| lowercase ε 46-15 # epsilon |
| lowercase ζ 46-1356 # zeta |
| lowercase η 46-345 # eta |
| lowercase θ 46-1456 # theta |
| lowercase ι 46-24 # iota |
| lowercase κ 46-13 # kappa |
| lowercase λ 46-123 # lambda |
| lowercase μ 46-134 # mu |
| lowercase ν 46-1345 # nu |
| lowercase ξ 46-1346 # xi |
| lowercase ο 46-135 # omicron |
| lowercase π 46-1234 # pi |
| lowercase ρ 46-1235 # rho |
| lowercase ς 46-234 # sigma |
| lowercase τ 46-2345 # tau |
| lowercase υ 46-13456 # upsilon |
| lowercase φ 46-124 # fii |
| lowercase χ 46-125 # chi |
| lowercase ψ 46-12346 # psi |
| lowercase ω 46-245 # omega |
| |
| # Uppercase Greek letter alphabet |
| letter \x0391 456-1 # Α Capital Alpha |
| letter \x0392 456-12 # Β Capital Beta |
| letter \x0393 456-1245 # Γ Capital Gamma |
| letter \x0394 456-145 # Δ Capital Delta |
| letter \x0395 456-15 # Ε Capital Epsilon |
| letter \x0396 456-1356 # Ζ Capital Zeta |
| letter \x0397 456-345 # Η Capital Eta |
| letter \x0398 456-1456 # Θ Capital Theta |
| letter \x0399 456-24 # Ι Capital Iota |
| letter \x039a 456-13 # Κ Capital Kappa |
| letter \x039b 456-123 # Λ Capital Lambda |
| letter \x039c 456-134 # Μ Capital Mu |
| letter \x039d 456-1345 # Ν Capital Nu |
| letter \x039e 456-1346 # Ξ Capital Xi |
| letter \x039f 456-135 # Ο Capital Omicron |
| letter \x03a0 456-1234 # Π Capital Pi |
| letter \x03a1 456-1235 # Ρ Capital Rho |
| letter \x03a3 456-234 # Σ Capital Sigma |
| letter \x03a4 456-2345 # Τ Capital Tau |
| letter \x03a5 456-13456 # Υ Capital Upsilon |
| letter \x03a6 456-124 # Φ Capital Phi |
| letter \x03a7 456-125 # Χ Capital Chi |
| letter \x03a8 456-13456 # Ψ Capital Psi |
| letter \x03a9 456-245 # Ω Capital Omega |