# liblouis: Macedonian Grade 1 Braille Table
#
# Copyright (C) 2025 Kristijan Lazarev
# Maintainers: Kristijan Lazarev, Blazhe Zafirov
# Contact: lazarev@nssrm.org.mk
#
# 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/.
#
#-author: Kristijan Lazarev <lazarev@nssrm.org.mk>
#-maintainer: Kristijan Lazarev <lazarev@nssrm.org.mk>
#-maintainer: Blazhe Zafirov
#-license: LGPLv2.1
#-copyright: 2025, Kristijan Lazarev <lazarev@nssrm.org.mk>
#
# Motivation and background
# Macedonia, officially Republic of North Macedonia, currently has no officially published,
# unified Braille standard. What is used in practice is a consistent tradition
# maintained by the State School for the Blind Dimitar Vlahov in Skopje for more than seven decades, and
# by the National Union of the Blind of the Republic of North Macedonia.
# This first version preserves the defacto letter assignments used in education,
# removes a few ambiguous patterns, and aims to make Macedonian available in
# open-source screen readers via Liblouis.
#
# Author and authority
# Kristijan Lazarev — teacher of Macedonian language and literature at the State
# School for the Blind “Dimitar Vlahov” (Skopje) and Braille user, with knowledge
# and support from the National Union of the Blind of the Republic of North Macedonia.
#
#-index-name: Macedonian
#-display-name: Macedonian braille
#
# Table type: literary, both directions
# Language: Macedonian
# Version: 1.0 (initial submission)
#
#+language: mk
#+type: literary
#+dots: 6
#+direction: both
#+contraction: no
include spaces.uti
#capsletter 46
capsletter 46 #single capital letter
begcapsword 246 #whole word in caps
# digits after numsign
numsign 3456
litdigit 1 1
litdigit 2 12
litdigit 3 14
litdigit 4 145
litdigit 5 15
litdigit 6 124
litdigit 7 1245
litdigit 8 125
litdigit 9 24
litdigit 0 245
# punctuation
# punctuation (456-* style where possible)
punctuation . 256
punctuation , 2
punctuation ? 26
punctuation ! 235
punctuation - 36
punctuation : 25
punctuation ; 23
punctuation \x2026 256-256-256 # …
punctuation \x201E 236 # „
punctuation \x201C 356 # “
punctuation ( 12356
punctuation ) 23456
punctuation [ 6-12346
punctuation ] 6-13456
punctuation { 6-126
punctuation } 6-345
sign \x00D7 6-3 # ×
sign \x00F7 6-23 # ÷
sign \x2122 456-2345-134 # ™
sign \x00A9 456-1-1234 # ©
sign \x00AE 456-1235-15-1245 # ®
sign \x2022 6-12 # •
punctuation / 456-34
punctuation \\ 456-16
sign < 6-246
sign > 6-135
sign = 6-2356
sign + 6-235
sign @ 456-134
sign # 456-3456
sign $ 456-145
sign % 456-1234
sign ^ 456-13
sign & 456-24
sign \x002a 456-1256
sign | 456-456
sign _ 456-36
sign \x20AC 456-15 # €
sign \x00B0 456-234 # °
punctuation \x2014 6-36 # —
punctuation \x2013 6-36 # –
punctuation ' 3
punctuation \x2019 6-356 # ’
punctuation \x2018 6-236 # ‘
punctuation ` 45
# letters (same dot patterns as output)
letter \x0430 1
base uppercase \x0410 \x0430
letter \x0431 12
base uppercase \x0411 \x0431
letter \x0432 1236
base uppercase \x0412 \x0432
letter \x0433 1245
base uppercase \x0413 \x0433
letter \x0434 145
base uppercase \x0414 \x0434
letter \x0435 15
base uppercase \x0415 \x0435
letter \x0436 2346
base uppercase \x0416 \x0436
letter \x0437 1356
base uppercase \x0417 \x0437
letter \x0438 24
base uppercase \x0418 \x0438
letter \x0458 245
base uppercase \x0408 \x0458
letter \x043A 13
base uppercase \x041A \x043A
letter \x043B 123
base uppercase \x041B \x043B
letter \x0459 126
base uppercase \x0409 \x0459
letter \x043C 134
base uppercase \x041C \x043C
letter \x043D 1345
base uppercase \x041D \x043D
letter \x045A 1246
base uppercase \x040A \x045A
letter \x043E 135
base uppercase \x041E \x043E
letter \x043F 1234
base uppercase \x041F \x043F
letter \x0440 1235
base uppercase \x0420 \x0440
letter \x0441 234
base uppercase \x0421 \x0441
letter \x0442 2345
base uppercase \x0422 \x0442
letter \x045C 34
base uppercase \x040C \x045C
letter \x0443 136
base uppercase \x0423 \x0443
letter \x0444 124
base uppercase \x0424 \x0444
letter \x0445 125
base uppercase \x0425 \x0445
letter \x0446 14
base uppercase \x0426 \x0446
letter \x0447 16
base uppercase \x0427 \x0447
letter \x045F 12456
base uppercase \x040F \x045F
letter \x0448 156
base uppercase \x0428 \x0448
letter \x0453 345
base uppercase \x0403 \x0453
letter \x0455 1256
base uppercase \x0405 \x0455
letter \x0450 4-15
base uppercase \x0400 \x0450
letter \x045D 4-24
base uppercase \x040D \x045D
# e and i with accent
sign \x0450 4-15 # Cyrillic ѐ
sign \x00E8 4-15 # Latin è
sign \x00EC 4-24 # Latin ì
# Latin alphabet for output only
include latinLetterDef6Dots.uti
# Digits to display
include digits6Dots.uti