dnl Insert a comment in the file generated from this file:
# ---------------------------------------------------------------------------
# Beware! This file is automatically generated from nl-NL-g0.utb.in. Don't
# make changes to this file directly.
# ---------------------------------------------------------------------------
dnl
# 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
# .
#
dnl Define some m4 macros to simpify writing the table:
dnl
dnl Macro for defining a "foreign" lowercase letter and corresponding uppercase
dnl letter. Words with "foreign" letters are marked with the
dnl "alfabetwisselingsteken" indicator.
dnl
dnl _foreignuplow(,,,)
dnl
dnl : uppercase letter
dnl : lowercase letter
dnl : dot pattern
dnl : virtual dots to attach (in forward direction only)
dnl
define(`_foreignuplow',`
noback lowercase $2 $3$4
noback uppercase $1 $3$4f
nofor lowercase $2 $3
base uppercase $1 $2
attribute foreign $1$2')dnl
dnl
dnl Macro for defining a "foreign" lowercase letter without a
dnl corresponding uppercase letter.
dnl
dnl _foreignlower(,,)
dnl
dnl : letter
dnl : dot pattern
dnl : virtual dots to attach (in forward direction only)
dnl
define(`_foreignlower',`
noback lowercase $1 $2$3
nofor lowercase $1 $2
attribute foreign $1')dnl
dnl
dnl Macro for defining a Unicode braille character.
dnl
dnl _unibrl(,)
dnl
dnl : character
dnl : dot pattern
dnl
define(`_unibrl',`
noback sign $1 $2e
nofor sign $1 $2')dnl
dnl
dnl The following line changes the quotes used by m4. It should prevent
dnl any accidental changes to the normal text in the table
changequote(`{{{', `}}}')dnl
dnl ============================================================================================
dnl
#
#-index-name: Dutch
#-display-name: Dutch braille
#
#+language: nl
#+type: literary
#+contraction: no
#+grade: 0
#+version: 2017.1
#+direction: forward
#
#-maintainer: Bert Frees
#-license: LGPLv2.1
#-copyright: 2010, 2011, DocArch
#-copyright: 2014-2015, 2019, 2024, 2025, Bert Frees
#-copyright: 2014, CBB
#-copyright: 2015, 2016, 2018, Dedicon
#-copyright: 2024, Davy Kager
#
# Copyright (C) 2010, 2011 by DocArch
# Copyright (C) 2014-2015, 2019, 2024, 2025 by Bert Frees
# Copyright (C) 2014 by CBB
# Copyright (C) 2015, 2016, 2018 by Dedicon
# Copyright (C) 2024 by Davy Kager
#
# -------------------------------------------------------------------------------
#
# Dutch Braille as used in the Netherlands
#
# Created by Bert Frees
# Modified by Henri Apperloo
# Modified by Davy Kager
#
# See also: « Braillestandaard voor algemeen gebruik in het Nederlandse taalgebied,
# Van toepassing vanaf 24 april 2020 »
# (Braille Autoriteit, 2020)
# [http://liblouis.io/braille-specs/dutch][1]
# and: « World Braille Usage (3rd edition) »
# [http://liblouis.io/braille-specs/world-braille-usage-third-edition.pdf][2]
#
# ----------------------------------------------------------------------------------------------
# include a display table by default to avoid errors if the user would not include a display table
include nl-print.dis
include nl-chardefs.uti
hyphen \x002D 36
# §3.1 Het cijferteken [1]
midnum \x002C 2 # COMMA
midnum \x002E 256 # FULL STOP
# §1.55 Paragraafteken [1]
begword \x00A7 346-0
midword \x00A7 0-346-0
endword \x00A7 0-346
# §3.4 Procent- en promilleteken [1]
endnum \x0025 0-123456
endnum \x2030 0-123456-123456
# §3.2 De basisrekentekens (spatieregel) [1]
# isgelijkteken =
begword \x003D 2356-0
midword \x003D 0-2356-0
endword \x003D 0-2356
# plusteken +
begword \x002B 235a-0
endnum \x002B 5-235a
# deelteken ÷
begword \x00F7 256-0
midword \x00F7 0-256-0
endword \x00F7 0-256
# maalteken ×
begword \x00D7 236-0
midword \x00D7 0-236-0
endword \x00D7 0-236
# §2.16 Muntsymbolen/valutatekens [1]
# Als de munteenheid na het getal wordt geplaatst, dan wordt ze bij voorkeur voluit geschreven
noback correct ["€"]$s.!$d "euro"
noback correct ["$"]$s.!$d "dollar"
noback correct ["£"]$s.!$d "pond"
noback correct ["¥"]$s.!$d "yen"
noback correct ["€"]$s.~ "euro"
noback correct ["$"]$s.~ "dollar"
noback correct ["£"]$s.~ "pond"
noback correct ["¥"]$s.~ "yen"
noback correct ["€"]!$ds "euro"
noback correct ["$"]!$ds "dollar"
noback correct ["£"]!$ds "pond"
noback correct ["¥"]!$ds "yen"
noback correct ["€"]~ "euro"
noback correct ["$"]~ "dollar"
noback correct ["£"]~ "pond"
noback correct ["¥"]~ "yen"
# Geplaatst vóór het getal wordt de munteenheid door haar beginletter weergegeven, zonder spatie tussen letter en cijfer
# §1.5 euroteken € (zonder spatie vóór het getal) [1]
noback joinnum \x20AC 15a
# §1.4 dollarteken $ (zonder spatie vóór het getal) [1]
noback joinnum \x0024 145a
# §1.16 pondteken £ (zonder spatie vóór het getal) [1]
noback joinnum \x00A3 1234a
# §1.24 yenteken ¥ (zonder spatie vóór het getal) [1]
noback joinnum \x00A5 13456a
# §1.34 verticale streep | (spatie voor en na) [1]
begword \x007C 1456-0
midword \x007C 0-1456-0
endword \x007C 0-1456
# Roman page numbers
replace \\_
# §2.10 Herstelteken [1]
# For numbers that are immediately followed by a letter a-j, a sign must be
# inserted for terminating the number.
# Using these rules instead of the multipass rules makes a lot of tests fail:
# nocontractsign 6
# numericnocontchars abcdefghij
attribute digitletter abcdefghijABCDEFGHIJ # 1st class = $w
noback context $d[]%digitletter @6a
noback context $d","[]%digitletter @6a
noback context $d"."[]%digitletter @6a
noback context $d":"[]%digitletter @6a
# Multiple dots 6 are collapsed into a single dot 6.
noback pass2 [@6a]@6a ?
# A dot 6 is not needed when the number is already cancelled by a capital, emphasis or foreign language sign
noback pass3 $d[@6a]@45 ?
noback pass3 $d[@6a]@46 ?
noback pass3 $d[@6a]@456 ?
noback pass3 $d[@6a]@56 ?
# backward translation
nofor pass2 _$d[@6]%digitletter @6a
nofor pass2 __$d@2[@6]%digitletter @6a
nofor pass2 __$d@25[@6]%digitletter @6a
nofor pass2 __$d@256[@6]%digitletter @6a
endcapsword 6a # hack to not back-translate @6a to "\6A"
# §2.18 Sleutelteken tweede betekenis [1]
# §2.3 Ampersandteken [1]
# When an AMPERSAND appears within a word (e.g. an initialism like AT&T) it must be
# preceded by a "second meaning" sign because its first meaning is LETTER C WITH
# CEDILLA (ç).
# When a PLUS SIGN appears within a word (e.g. 30+'er) it must be preceded by a
# "second meaning" sign because its first meaning is EXCLAMATION MARK.
attribute plusamp +& # 2nd class = $x
attribute noplusamp .'‘’ # 3rd class = $y
noback pass4 %noplusamp[]%plusamp @5
noback pass4 $l[]%plusamp @5
noback pass4 [@235a]%plusamp @235a-5
noback pass4 [@12346]%plusamp @12346-5
noback pass4 [@12346] @12346
numsign 3456
# backward translation of unicode braille pattern ⠼
noback pass2 [@3456]!$d @3456e
# §2.7 Drukwijzigingsteken [1]
emphclass italic
emphclass underline
emphclass bold
lenemphphrase italic 4
begemphword italic 456
endemphword italic 6
begemphphrase italic 456-456
endemphphrase italic before 456
emphletter italic 456
lenemphphrase bold 4
begemphword bold 456
endemphword bold 6
begemphphrase bold 456-456
endemphphrase bold before 456
emphletter bold 456
lenemphphrase underline 4
begemphword underline 456
endemphword underline 6
begemphphrase underline 456-456
endemphphrase underline before 456
emphletter underline 456
# Only these non-letters can appear within an emphasized passage without
# cancelling the emphasis "state": + (PLUS SIGN), & (AMPERSAND), . (FULL STOP),
# ' (APOSTROPHE), ‘ (LEFT SINGLE QUOTATION MARK) and ’ (RIGHT SINGLE QUOTATION
# MARK).
emphmodechars italic +&.'‘’
emphmodechars bold +&.'‘’
emphmodechars underline +&.'‘’
# These are the characters for which emphasis is not indicated:
noemphchars italic \s'‘’()
noemphchars bold \s'‘’()
noemphchars underline \s'()
# treat apostrophe in 't as a letter
letter \xe000 3
noback correct ["'"]"t"$s "\xe000" # this rule needs to come before the `include quotation-marks.uti' rule
# §2.11 Hoofdletters [1]
# Certain characters can appear within an uppercase string without cancelling
# the uppercase "state". These characters are + (PLUS SIGN), & (AMPERSAND),
# . (FULL STOP), ' (APOSTROPHE), ‘ (LEFT SINGLE QUOTATION MARK)
# and ’ (RIGHT SINGLE QUOTATION MARK).
capsmodechars +&.'‘’
lencapsphrase 4
begcapsword 45
endcapsword 6
begcapsphrase 45-45
endcapsphrase before 45
capsletter 46
# §3.6 Graad-, minuut- en secondeteken [1]
# replace ' (\x27 APOSTROPHE), when it is used as a closing quote, by a ’ (\x2019 RIGHT
# SINGLE QUOTATION MARK)
include quotation-marks.uti
noback context $d["''"] @4-35a-35a
noback context $d["'"] @4-35a
# Left and right curly brackets
noback punctuation \x007B 12356c { LEFT CURLY BRACKET
nofor punctuation \x007B 12356 { LEFT CURLY BRACKET
noback punctuation \x007D 23456c } RIGHT CURLY BRACKET
nofor punctuation \x007D 23456 } RIGHT CURLY BRACKET
# 2.2. Alfabetwisselingsteken
modeletter foreign 56
begmodeword foreign 56
begmodephrase foreign 56-56
endmodephrase foreign before 56
lenmodephrase foreign 4
# Note that we don't use the "base" opcode to define foreign letters
# because we don't want non-foreign characters to cancel foreign mode.
# Foreign letters Ã, Õ (Portuguese), Å, Æ, Ø (Norwegian/Danish/Finnish), Ì (Italian)
_foreignuplow( \x00C3, \x00E3, 1, a) Ãã LATIN CAPITAL LETTER A WITH TILDE - LATIN SMALL LETTER A WITH TILDE
_foreignuplow( \x00C5, \x00E5, 1, b) Åå LATIN CAPITAL LETTER A WITH RING ABOVE - LATIN SMALL LETTER A WITH RING ABOVE
_foreignuplow( \x00CC, \x00EC, 24, a) Ìì LATIN CAPITAL LETTER I WITH GRAVE - LATIN SMALL LETTER I WITH GRAVE
_foreignuplow( \x00D5, \x00F5, 135, b) Õõ LATIN CAPITAL LETTER O WITH TILDE - LATIN SMALL LETTER O WITH TILDE
_foreignuplow( \x00D8, \x00F8, 246, b) Øø LATIN CAPITAL LETTER O WITH STROKE - LATIN SMALL LETTER O WITH STROKE
lowercase \x00E6 1-15-15 æ LATIN SMALL LETTER AE
uppercase \x00C6 1f-15f-15f Æ LATIN CAPITAL LETTER AE
base uppercase \x00C6 \x00E6 Ææ LATIN CAPITAL LETTER AE - LATIN SMALL LETTER AE
attribute foreign Ææ
# Greek letters
_foreignuplow( Α, α, 1, d) GREEK LETTER ALPHA
_foreignuplow( Ά, ά, 1, ad) GREEK LETTER ALPHA WITH TONOS
_foreignuplow( Β, β, 12, d) GREEK LETTER BETA
_foreignuplow( Γ, γ, 1245, d) GREEK LETTER GAMMA
_foreignuplow( Δ, δ, 145, d) GREEK LETTER DELTA
_foreignuplow( Ε, ε, 15, d) GREEK LETTER EPSILON
_foreignuplow( Ζ, ζ, 1356, d) GREEK LETTER ZETA
_foreignuplow( Ι, ι, 24, d) GREEK LETTER IOTA
_foreignuplow( Ί, ί, 24, ad) GREEK LETTER IOTA WITH TONOS
_foreignuplow( Κ, κ, 13, d) GREEK LETTER KAPPA
_foreignuplow( Λ, λ, 123, d) GREEK LETTER LAMDA
_foreignuplow( Μ, μ, 134, d) GREEK LETTER MU
_foreignuplow( Ν, ν, 1345, d) GREEK LETTER NU
_foreignuplow( Ξ, ξ, 1346, d) GREEK LETTER XI
_foreignuplow( Ο, ο, 135, d) GREEK LETTER OMICRON
_foreignuplow( Π, π, 1234, d) GREEK LETTER PI
_foreignuplow( Ρ, ρ, 1235, d) GREEK LETTER RHO
_foreignuplow( Σ, σ, 234, d) GREEK LETTER SIGMA
_foreignlower( ς, 234, ad) GREEK LETTER FINAL SIGMA
_foreignuplow( Τ, τ, 2345, d) GREEK LETTER TAU
_foreignuplow( Υ, υ, 136, d) GREEK LETTER UPSILON
_foreignuplow( Φ, φ, 124, d) GREEK LETTER PHI
_foreignlower( ϕ, 124, ad) GREEK PHI SYMBOL
_foreignuplow( Ψ, ψ, 13456, d) GREEK LETTER PSI
_foreignuplow( Ω, ω, 2456, d) GREEK LETTER OMEGA
_foreignuplow( Η, η, 156, d) GREEK LETTER ETA
_foreignuplow( Θ, θ, 1456, d) GREEK LETTER THETA
_foreignuplow( Χ, χ, 12346, d) GREEK LETTER CHI
# Other alphabets
attribute foreign Ññ # ñ defined in nl-chardefs.uti
_foreignuplow( Ł, ł, 126, b)
_foreignuplow( Ź, ź, 2346, b)
# Unicode braille patterns
noback sign \x2800 e ⠀
_unibrl( \x2801, 1) ⠁
_unibrl( \x2802, 2) ⠂
_unibrl( \x2803, 12) ⠃
_unibrl( \x2804, 3) ⠄
_unibrl( \x2805, 13) ⠅
_unibrl( \x2806, 23) ⠆
_unibrl( \x2807, 123) ⠇
_unibrl( \x2808, 4) ⠈
_unibrl( \x2809, 14) ⠉
_unibrl( \x280A, 24) ⠊
_unibrl( \x280B, 124) ⠋
_unibrl( \x280C, 34) ⠌
_unibrl( \x280D, 134) ⠍
_unibrl( \x280E, 234) ⠎
_unibrl( \x280F, 1234) ⠏
_unibrl( \x2810, 5) ⠐
_unibrl( \x2811, 15) ⠑
_unibrl( \x2812, 25) ⠒
_unibrl( \x2813, 125) ⠓
_unibrl( \x2814, 35) ⠔
_unibrl( \x2815, 135) ⠕
_unibrl( \x2816, 235) ⠖
_unibrl( \x2817, 1235) ⠗
_unibrl( \x2818, 45) ⠘
_unibrl( \x2819, 145) ⠙
_unibrl( \x281A, 245) ⠚
_unibrl( \x281B, 1245) ⠛
_unibrl( \x281C, 345) ⠜
_unibrl( \x281D, 1345) ⠝
_unibrl( \x281E, 2345) ⠞
_unibrl( \x281F, 12345) ⠟
_unibrl( \x2820, 6) ⠠
_unibrl( \x2821, 16) ⠡
_unibrl( \x2822, 26) ⠢
_unibrl( \x2823, 126) ⠣
_unibrl( \x2824, 36) ⠤
_unibrl( \x2825, 136) ⠥
_unibrl( \x2826, 236) ⠦
_unibrl( \x2827, 1236) ⠧
sign \x2828 46e ⠨
_unibrl( \x2829, 146) ⠩
_unibrl( \x282A, 246) ⠪
_unibrl( \x282B, 1246) ⠫
_unibrl( \x282C, 346) ⠬
_unibrl( \x282D, 1346) ⠭
_unibrl( \x282E, 2346) ⠮
_unibrl( \x282F, 12346) ⠯
_unibrl( \x2830, 56) ⠰
_unibrl( \x2831, 156) ⠱
_unibrl( \x2832, 256) ⠲
_unibrl( \x2833, 1256) ⠳
_unibrl( \x2834, 356) ⠴
_unibrl( \x2835, 1356) ⠵
_unibrl( \x2836, 2356) ⠶
_unibrl( \x2837, 12356) ⠷
_unibrl( \x2838, 456) ⠸
_unibrl( \x2839, 1456) ⠹
_unibrl( \x283A, 2456) ⠺
_unibrl( \x283B, 12456) ⠻
sign \x283C 3456e ⠼
_unibrl( \x283D, 13456) ⠽
_unibrl( \x283E, 23456) ⠾
_unibrl( \x283F, 123456) ⠿
_unibrl( \x2840, 7) ⡀
_unibrl( \x2841, 17) ⡁
_unibrl( \x2842, 27) ⡂
_unibrl( \x2843, 127) ⡃
_unibrl( \x2844, 37) ⡄
_unibrl( \x2845, 137) ⡅
_unibrl( \x2846, 237) ⡆
_unibrl( \x2847, 1237) ⡇
_unibrl( \x2848, 47) ⡈
_unibrl( \x2849, 147) ⡉
_unibrl( \x284A, 247) ⡊
_unibrl( \x284B, 1247) ⡋
_unibrl( \x284C, 347) ⡌
_unibrl( \x284D, 1347) ⡍
_unibrl( \x284E, 2347) ⡎
_unibrl( \x284F, 12347) ⡏
_unibrl( \x2850, 57) ⡐
_unibrl( \x2851, 157) ⡑
_unibrl( \x2852, 257) ⡒
_unibrl( \x2853, 1257) ⡓
_unibrl( \x2854, 357) ⡔
_unibrl( \x2855, 1357) ⡕
_unibrl( \x2856, 2357) ⡖
_unibrl( \x2857, 12357) ⡗
_unibrl( \x2858, 457) ⡘
_unibrl( \x2859, 1457) ⡙
_unibrl( \x285A, 2457) ⡚
_unibrl( \x285B, 12457) ⡛
_unibrl( \x285C, 3457) ⡜
_unibrl( \x285D, 13457) ⡝
_unibrl( \x285E, 23457) ⡞
_unibrl( \x285F, 123457) ⡟
_unibrl( \x2860, 67) ⡠
_unibrl( \x2861, 167) ⡡
_unibrl( \x2862, 267) ⡢
_unibrl( \x2863, 1267) ⡣
_unibrl( \x2864, 367) ⡤
_unibrl( \x2865, 1367) ⡥
_unibrl( \x2866, 2367) ⡦
_unibrl( \x2867, 12367) ⡧
_unibrl( \x2868, 467) ⡨
_unibrl( \x2869, 1467) ⡩
_unibrl( \x286A, 2467) ⡪
_unibrl( \x286B, 12467) ⡫
_unibrl( \x286C, 3467) ⡬
_unibrl( \x286D, 13467) ⡭
_unibrl( \x286E, 23467) ⡮
_unibrl( \x286F, 123467) ⡯
_unibrl( \x2870, 567) ⡰
_unibrl( \x2871, 1567) ⡱
_unibrl( \x2872, 2567) ⡲
_unibrl( \x2873, 12567) ⡳
_unibrl( \x2874, 3567) ⡴
_unibrl( \x2875, 13567) ⡵
_unibrl( \x2876, 23567) ⡶
_unibrl( \x2877, 123567) ⡷
_unibrl( \x2878, 4567) ⡸
_unibrl( \x2879, 14567) ⡹
_unibrl( \x287A, 24567) ⡺
_unibrl( \x287B, 124567) ⡻
_unibrl( \x287C, 34567) ⡼
_unibrl( \x287D, 134567) ⡽
_unibrl( \x287E, 234567) ⡾
_unibrl( \x287F, 1234567) ⡿
_unibrl( \x2880, 8) ⢀
_unibrl( \x2881, 18) ⢁
_unibrl( \x2882, 28) ⢂
_unibrl( \x2883, 128) ⢃
_unibrl( \x2884, 38) ⢄
_unibrl( \x2885, 138) ⢅
_unibrl( \x2886, 238) ⢆
_unibrl( \x2887, 1238) ⢇
_unibrl( \x2888, 48) ⢈
_unibrl( \x2889, 148) ⢉
_unibrl( \x288A, 248) ⢊
_unibrl( \x288B, 1248) ⢋
_unibrl( \x288C, 348) ⢌
_unibrl( \x288D, 1348) ⢍
_unibrl( \x288E, 2348) ⢎
_unibrl( \x288F, 12348) ⢏
_unibrl( \x2890, 58) ⢐
_unibrl( \x2891, 158) ⢑
_unibrl( \x2892, 258) ⢒
_unibrl( \x2893, 1258) ⢓
_unibrl( \x2894, 358) ⢔
_unibrl( \x2895, 1358) ⢕
_unibrl( \x2896, 2358) ⢖
_unibrl( \x2897, 12358) ⢗
_unibrl( \x2898, 458) ⢘
_unibrl( \x2899, 1458) ⢙
_unibrl( \x289A, 2458) ⢚
_unibrl( \x289B, 12458) ⢛
_unibrl( \x289C, 3458) ⢜
_unibrl( \x289D, 13458) ⢝
_unibrl( \x289E, 23458) ⢞
_unibrl( \x289F, 123458) ⢟
_unibrl( \x28A0, 68) ⢠
_unibrl( \x28A1, 168) ⢡
_unibrl( \x28A2, 268) ⢢
_unibrl( \x28A3, 1268) ⢣
_unibrl( \x28A4, 368) ⢤
_unibrl( \x28A5, 1368) ⢥
_unibrl( \x28A6, 2368) ⢦
_unibrl( \x28A7, 12368) ⢧
_unibrl( \x28A8, 468) ⢨
_unibrl( \x28A9, 1468) ⢩
_unibrl( \x28AA, 2468) ⢪
_unibrl( \x28AB, 12468) ⢫
_unibrl( \x28AC, 3468) ⢬
_unibrl( \x28AD, 13468) ⢭
_unibrl( \x28AE, 23468) ⢮
_unibrl( \x28AF, 123468) ⢯
_unibrl( \x28B0, 568) ⢰
_unibrl( \x28B1, 1568) ⢱
_unibrl( \x28B2, 2568) ⢲
_unibrl( \x28B3, 12568) ⢳
_unibrl( \x28B4, 3568) ⢴
_unibrl( \x28B5, 13568) ⢵
_unibrl( \x28B6, 23568) ⢶
_unibrl( \x28B7, 123568) ⢷
_unibrl( \x28B8, 4568) ⢸
_unibrl( \x28B9, 14568) ⢹
_unibrl( \x28BA, 24568) ⢺
_unibrl( \x28BB, 124568) ⢻
_unibrl( \x28BC, 34568) ⢼
_unibrl( \x28BD, 134568) ⢽
_unibrl( \x28BE, 234568) ⢾
_unibrl( \x28BF, 1234568) ⢿
_unibrl( \x28C0, 78) ⣀
_unibrl( \x28C1, 178) ⣁
_unibrl( \x28C2, 278) ⣂
_unibrl( \x28C3, 1278) ⣃
_unibrl( \x28C4, 378) ⣄
_unibrl( \x28C5, 1378) ⣅
_unibrl( \x28C6, 2378) ⣆
_unibrl( \x28C7, 12378) ⣇
_unibrl( \x28C8, 478) ⣈
_unibrl( \x28C9, 1478) ⣉
_unibrl( \x28CA, 2478) ⣊
_unibrl( \x28CB, 12478) ⣋
_unibrl( \x28CC, 3478) ⣌
_unibrl( \x28CD, 13478) ⣍
_unibrl( \x28CE, 23478) ⣎
_unibrl( \x28CF, 123478) ⣏
_unibrl( \x28D0, 578) ⣐
_unibrl( \x28D1, 1578) ⣑
_unibrl( \x28D2, 2578) ⣒
_unibrl( \x28D3, 12578) ⣓
_unibrl( \x28D4, 3578) ⣔
_unibrl( \x28D5, 13578) ⣕
_unibrl( \x28D6, 23578) ⣖
_unibrl( \x28D7, 123578) ⣗
_unibrl( \x28D8, 4578) ⣘
_unibrl( \x28D9, 14578) ⣙
_unibrl( \x28DA, 24578) ⣚
_unibrl( \x28DB, 124578) ⣛
_unibrl( \x28DC, 34578) ⣜
_unibrl( \x28DD, 134578) ⣝
_unibrl( \x28DE, 234578) ⣞
_unibrl( \x28DF, 1234578) ⣟
_unibrl( \x28E0, 678) ⣠
_unibrl( \x28E1, 1678) ⣡
_unibrl( \x28E2, 2678) ⣢
_unibrl( \x28E3, 12678) ⣣
_unibrl( \x28E4, 3678) ⣤
_unibrl( \x28E5, 13678) ⣥
_unibrl( \x28E6, 23678) ⣦
_unibrl( \x28E7, 123678) ⣧
_unibrl( \x28E8, 4678) ⣨
_unibrl( \x28E9, 14678) ⣩
_unibrl( \x28EA, 24678) ⣪
_unibrl( \x28EB, 124678) ⣫
_unibrl( \x28EC, 34678) ⣬
_unibrl( \x28ED, 134678) ⣭
_unibrl( \x28EE, 234678) ⣮
_unibrl( \x28EF, 1234678) ⣯
_unibrl( \x28F0, 5678) ⣰
_unibrl( \x28F1, 15678) ⣱
_unibrl( \x28F2, 25678) ⣲
_unibrl( \x28F3, 125678) ⣳
_unibrl( \x28F4, 35678) ⣴
_unibrl( \x28F5, 135678) ⣵
_unibrl( \x28F6, 235678) ⣶
_unibrl( \x28F7, 1235678) ⣷
_unibrl( \x28F8, 45678) ⣸
_unibrl( \x28F9, 145678) ⣹
_unibrl( \x28FA, 245678) ⣺
_unibrl( \x28FB, 1245678) ⣻
_unibrl( \x28FC, 345678) ⣼
_unibrl( \x28FD, 1345678) ⣽
_unibrl( \x28FE, 2345678) ⣾
_unibrl( \x28FF, 12345678) ⣿