# Copyright © 2017, 2019 by Dave Mielke <dave@mielke.cc>
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved. This file is offered as-is,
# without any warranty.

display: unicode-without-blank.dis
table:
  locale: el
  __assert-match: el.ctb
flags: {testmode: forward}
tests:

- # lowercase letters
  - αβγδεζηθικλμνξοπρστυφχψως
  - ⠁⠃⠛⠙⠑⠵⠜⠹⠊⠅⠇⠍⠝⠭⠕⠏⠗⠎⠞⠽⠋⠓⠯⠚⠎

- # uppercase letters
  -   ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
  - ⠨⠨⠁⠃⠛⠙⠑⠵⠜⠹⠊⠅⠇⠍⠝⠭⠕⠏⠗⠎⠞⠽⠋⠓⠯⠚

- # accents
  - ῾ ΄`´῀ ῍῎῏ ῝῞῟
  - ⠧ ⠐⠈⠐⠠ ⠾⠴⠲ ⠷⠢⠖

- # lowercase letters with dasia
  - ἁ ἑ ἡ ἱ ὁ ὑ ὡ ῥ
  - ⠧⠁ ⠧⠑ ⠧⠜ ⠧⠊ ⠧⠕ ⠧⠽ ⠧⠚ ⠧⠗

- # lowercase letters with dasia and oxia
  - ἅ ἕ ἥ ἵ ὅ ὕ ὥ
  - ⠢⠁ ⠢⠑ ⠢⠜ ⠢⠊ ⠢⠕ ⠢⠽ ⠢⠚

- # lowercase letters with dasia and oxia and ypogegrammeni
  - ᾅ ᾕ ᾥ
  - ⠢⠁⠔ ⠢⠼ ⠢⠺

- # lowercase letters with dasia and perispomeni
  - ἇ ἧ ἷ ὗ ὧ
  - ⠖⠁ ⠖⠜ ⠖⠊ ⠖⠽ ⠖⠚

- # lowercase letters with dasia and perispomeni and ypogegrammeni
  - ᾇ ᾗ ᾧ
  - ⠖⠁⠔ ⠖⠼ ⠖⠺

- # lowercase letters with dasia and varia
  - ἃ ἓ ἣ ἳ ὃ ὓ ὣ
  - ⠷⠁ ⠷⠑ ⠷⠜ ⠷⠊ ⠷⠕ ⠷⠽ ⠷⠚

- # lowercase letters with dasia and varia and ypogegrammeni
  - ᾃ ᾓ ᾣ
  - ⠷⠁⠔ ⠷⠼ ⠷⠺

- # lowercase letters with dasia and ypogegrammeni
  - ᾁ ᾑ ᾡ
  - ⠧⠁⠔ ⠧⠼ ⠧⠺

- # lowercase letters with dialytika
  - ϊ ϋ
  - ⠊ ⠽

- # lowercase letters with dialytika and oxia
  - ΐ ΰ
  - ⠐⠊ ⠐⠽

- # lowercase letters with dialytika and perispomeni
  - ῗ ῧ
  - ⠠⠊ ⠠⠽

- # lowercase letters with dialytika and tonos
  - ΐ ΰ
  - ⠐⠊ ⠐⠽

- # lowercase letters with dialytika and varia
  - ῒ ῢ
  - ⠈⠊ ⠈⠽

- # lowercase letters with macron
  - ᾱ ῑ ῡ
  - ⠁ ⠊ ⠽

- # lowercase letters with oxia
  - ά έ ή ί ό ύ ώ
  - ⠐⠁ ⠐⠑ ⠐⠜ ⠐⠊ ⠐⠕ ⠐⠽ ⠐⠚

- # lowercase letters with oxia and ypogegrammeni
  - ᾴ ῄ ῴ
  - ⠐⠁⠔ ⠐⠼ ⠐⠺

- # lowercase letters with perispomeni
  - ᾶ ῆ ῖ ῦ ῶ
  - ⠠⠁ ⠠⠜ ⠠⠊ ⠠⠽ ⠠⠚

- # lowercase letters with perispomeni and ypogegrammeni
  - ᾷ ῇ ῷ
  - ⠠⠁⠔ ⠠⠼ ⠠⠺

- # lowercase letters with psili
  - ἀ ἐ ἠ ἰ ὀ ὐ ὠ ῤ
  - ⠁ ⠑ ⠜ ⠊ ⠕ ⠽ ⠚ ⠗

- # lowercase letters with psili and oxia
  - ἄ ἔ ἤ ἴ ὄ ὔ ὤ
  - ⠴⠁ ⠴⠑ ⠴⠜ ⠴⠊ ⠴⠕ ⠴⠽ ⠴⠚

- # lowercase letters with psili and oxia and ypogegrammeni
  - ᾄ ᾔ ᾤ
  - ⠴⠁⠔ ⠴⠼ ⠴⠺

- # lowercase letters with psili and perispomeni
  - ἆ ἦ ἶ ὖ ὦ
  - ⠲⠁ ⠲⠜ ⠲⠊ ⠲⠽ ⠲⠚

- # lowercase letters with psili and perispomeni and ypogegrammeni
  - ᾆ ᾖ ᾦ
  - ⠲⠁⠔ ⠲⠼ ⠲⠺

- # lowercase letters with psili and varia
  - ἂ ἒ ἢ ἲ ὂ ὒ ὢ
  - ⠾⠁ ⠾⠑ ⠾⠜ ⠾⠊ ⠾⠕ ⠾⠽ ⠾⠚

- # lowercase letters with psili and varia and ypogegrammeni
  - ᾂ ᾒ ᾢ
  - ⠾⠁⠔ ⠾⠼ ⠾⠺

- # lowercase letters with psili and ypogegrammeni
  - ᾀ ᾐ ᾠ
  - ⠁⠔ ⠼ ⠺

- # lowercase letters with tonos
  - ά έ ή ί ό ύ ώ
  - ⠐⠁ ⠐⠑ ⠐⠜ ⠐⠊ ⠐⠕ ⠐⠽ ⠐⠚

- # lowercase letters with varia
  - ὰ ὲ ὴ ὶ ὸ ὺ ὼ
  - ⠈⠁ ⠈⠑ ⠈⠜ ⠈⠊ ⠈⠕ ⠈⠽ ⠈⠚

- # lowercase letters with varia and ypogegrammeni
  - ᾲ ῂ ῲ
  - ⠈⠁⠔ ⠈⠼ ⠈⠺

- # lowercase letters with vrachy
  - ᾰ ῐ ῠ
  - ⠁ ⠊ ⠽

- # lowercase letters with ypogegrammeni
  - ᾳ ῃ ῳ
  - ⠁⠔ ⠼ ⠺

- # uppercase letters with dasia
  - Ἁ Ἑ Ἡ Ἱ Ὁ Ὑ Ὡ Ῥ
  - ⠨⠧⠁ ⠨⠧⠑ ⠨⠧⠜ ⠨⠧⠊ ⠨⠧⠕ ⠨⠧⠽ ⠨⠧⠚ ⠨⠧⠗

- # uppercase letters with dasia and oxia
  - Ἅ Ἕ Ἥ Ἵ Ὅ Ὕ Ὥ
  - ⠨⠢⠁ ⠨⠢⠑ ⠨⠢⠜ ⠨⠢⠊ ⠨⠢⠕ ⠨⠢⠽ ⠨⠢⠚

- # uppercase letters with dasia and oxia and prosgegrammeni
  - ᾍ ᾝ ᾭ
  - ⠨⠢⠁⠔ ⠨⠢⠼ ⠨⠢⠺

- # uppercase letters with dasia and perispomeni
  - Ἇ Ἧ Ἷ Ὗ Ὧ
  - ⠨⠖⠁ ⠨⠖⠜ ⠨⠖⠊ ⠨⠖⠽ ⠨⠖⠚

- # uppercase letters with dasia and perispomeni and prosgegrammeni
  - ᾏ ᾟ ᾯ
  - ⠨⠖⠁⠔ ⠨⠖⠼ ⠨⠖⠺

- # uppercase letters with dasia and prosgegrammeni
  - ᾉ ᾙ ᾩ
  - ⠨⠧⠁⠔ ⠨⠧⠼ ⠨⠧⠺

- # uppercase letters with dasia and varia
  - Ἃ Ἓ Ἣ Ἳ Ὃ Ὓ Ὣ
  - ⠨⠷⠁ ⠨⠷⠑ ⠨⠷⠜ ⠨⠷⠊ ⠨⠷⠕ ⠨⠷⠽ ⠨⠷⠚

- # uppercase letters with dasia and varia and prosgegrammeni
  - ᾋ ᾛ ᾫ
  - ⠨⠷⠁⠔ ⠨⠷⠼ ⠨⠷⠺

- # uppercase letters with dialytika
  - Ϊ Ϋ
  - ⠨⠊ ⠨⠽

- # uppercase letters with macron
  - Ᾱ Ῑ Ῡ
  - ⠨⠁ ⠨⠊ ⠨⠽

- # uppercase letters with oxia
  - Ά Έ Ή Ί Ό Ύ Ώ
  - ⠨⠐⠁ ⠨⠐⠑ ⠨⠐⠜ ⠨⠐⠊ ⠨⠐⠕ ⠨⠐⠽ ⠨⠐⠚

- # uppercase letters with prosgegrammeni
  - ᾼ ῌ ῼ
  - ⠨⠁⠔ ⠨⠼ ⠨⠺

- # uppercase letters with psili
  - Ἀ Ἐ Ἠ Ἰ Ὀ Ὠ
  - ⠨⠁ ⠨⠑ ⠨⠜ ⠨⠊ ⠨⠕ ⠨⠚

- # uppercase letters with psili and oxia
  - Ἄ Ἔ Ἤ Ἴ Ὄ Ὤ
  - ⠨⠴⠁ ⠨⠴⠑ ⠨⠴⠜ ⠨⠴⠊ ⠨⠴⠕ ⠨⠴⠚

- # uppercase letters with psili and oxia and prosgegrammeni
  - ᾌ ᾜ ᾬ
  - ⠨⠴⠁⠔ ⠨⠴⠼ ⠨⠴⠺

- # uppercase letters with psili and perispomeni
  - Ἆ Ἦ Ἶ Ὦ
  - ⠨⠲⠁ ⠨⠲⠜ ⠨⠲⠊ ⠨⠲⠚

- # uppercase letters with psili and perispomeni and prosgegrammeni
  - ᾎ ᾞ ᾮ
  - ⠨⠲⠁⠔ ⠨⠲⠼ ⠨⠲⠺

- # uppercase letters with psili and prosgegrammeni
  - ᾈ ᾘ ᾨ
  - ⠨⠁⠔ ⠨⠼ ⠨⠺

- # uppercase letters with psili and varia
  - Ἂ Ἒ Ἢ Ἲ Ὂ Ὢ
  - ⠨⠾⠁ ⠨⠾⠑ ⠨⠾⠜ ⠨⠾⠊ ⠨⠾⠕ ⠨⠾⠚

- # uppercase letters with psili and varia and prosgegrammeni
  - ᾊ ᾚ ᾪ
  - ⠨⠾⠁⠔ ⠨⠾⠼ ⠨⠾⠺

- # uppercase letters with tonos
  - Ά Έ Ή Ί Ό Ύ Ώ
  - ⠨⠐⠁ ⠨⠐⠑ ⠨⠐⠜ ⠨⠐⠊ ⠨⠐⠕ ⠨⠐⠽ ⠨⠐⠚

- # uppercase letters with varia
  - Ὰ Ὲ Ὴ Ὶ Ὸ Ὺ Ὼ
  - ⠨⠈⠁ ⠨⠈⠑ ⠨⠈⠜ ⠨⠈⠊ ⠨⠈⠕ ⠨⠈⠽ ⠨⠈⠚

- # uppercase letters with vrachy
  - Ᾰ Ῐ Ῠ
  - ⠨⠁ ⠨⠊ ⠨⠽

- # capital letter indicator
  - αβγ Δεζ ΗΘΙ
  - ⠁⠃⠛ ⠨⠙⠑⠵ ⠨⠨⠜⠹⠊

- # unaccented diphthongs
  - ου αυ αι ει ευ υι ηυ οι
  - ⠥ ⠡ ⠣ ⠩ ⠱ ⠻ ⠳ ⠪

- # diphthongs with Psili
  - οὐ αὐ αἰ εἰ εὐ υἰ ηὐ οἰ
  - ⠥ ⠡ ⠣ ⠩ ⠱ ⠻ ⠳ ⠪

- # diphthongs with Dialytika
  - οϋ αϋ αϊ εϊ εϋ υϊ ηϋ οϊ
  - ⠥ ⠡ ⠣ ⠩ ⠱ ⠻ ⠳ ⠪

- # diphthongs with Dasia
  - οὑ αὑ αἱ εἱ εὑ υἱ ηὑ οἱ
  - ⠧⠥ ⠧⠡ ⠧⠣ ⠧⠩ ⠧⠱ ⠧⠻ ⠧⠳ ⠧⠪

- # diphthongs with Dasia,Psili and Varia,Oxia,Perispomeni
  - οὓ οὕ οὗ οὒ οὔ οὖ
  - ⠷⠥ ⠢⠥ ⠖⠥ ⠾⠥ ⠴⠥ ⠲⠥

- # diphthongs with Tonos,Varia,Oxia,Perispomeni
  - ού οὺ ού οῦ
  - ⠐⠥ ⠈⠥ ⠐⠥ ⠠⠥

- # number
  - 123.456.789,01
  - ⠼⠁⠃⠉⠨⠙⠑⠋⠨⠛⠓⠊⠂⠚⠁

- # period
  - τελεία.
  - ⠞⠑⠇⠐⠩⠁⠲

- # comma
  - κόμμα,
  - ⠅⠐⠕⠍⠍⠁⠂

- # colon
  - "άνω και κάτω τελεία:"
  - ⠐⠁⠝⠚ ⠅⠣ ⠅⠐⠁⠞⠚ ⠞⠑⠇⠐⠩⠁⠒

- # exclamation point
  - θαυμαστικό!
  - ⠹⠡⠍⠁⠎⠞⠊⠅⠐⠕⠖

- # semicolon
  - άνω τελεία·
  - ⠐⠁⠝⠚ ⠞⠑⠇⠐⠩⠁⠆

- # question mark
  - ερωτηματικό;
  - ⠑⠗⠚⠞⠜⠍⠁⠞⠊⠅⠐⠕⠢

- # apostrophe
  - "απόστροφος'"
  - ⠁⠏⠐⠕⠎⠞⠗⠕⠋⠕⠎⠄

- # opening quotation mark
  - «άνοιγμα εισαγωγικών
  - ⠦⠐⠁⠝⠪⠛⠍⠁ ⠩⠎⠁⠛⠚⠛⠊⠅⠐⠚⠝

- # closing quotation mark
  - κλείσιμο εισαγωγικών»
  - ⠅⠇⠐⠩⠎⠊⠍⠕ ⠩⠎⠁⠛⠚⠛⠊⠅⠐⠚⠝⠴

- # quotation marks
  - «εισαγωγικά»
  - ⠦⠩⠎⠁⠛⠚⠛⠊⠅⠐⠁⠴

- # opening parenthesis
  - "(άνοιγμα παρένθεσης"
  - ⠶⠐⠁⠝⠪⠛⠍⠁ ⠏⠁⠗⠐⠑⠝⠹⠑⠎⠜⠎

- # closing parenthesis
  - "κλείσιμο παρένθεσης)"
  - ⠅⠇⠐⠩⠎⠊⠍⠕ ⠏⠁⠗⠐⠑⠝⠹⠑⠎⠜⠎⠶

- # parentheses
  - "(παρενθέσεις)"
  - ⠶⠏⠁⠗⠑⠝⠹⠐⠑⠎⠩⠎⠶

- # opening bracket
  - "[άνοιγμα αγκύλης"
  - ⠷⠐⠁⠝⠪⠛⠍⠁ ⠁⠛⠅⠐⠽⠇⠜⠎

- # closing bracket
  - "κλείσιμο αγκύλης]"
  - ⠅⠇⠐⠩⠎⠊⠍⠕ ⠁⠛⠅⠐⠽⠇⠜⠎⠾

- # brackets
  - "[αγκύλες]"
  - ⠷⠁⠛⠅⠐⠽⠇⠑⠎⠾

- # opening brace
  - "{άνοιγμα άγκιστρων"
  - ⠯⠐⠁⠝⠪⠛⠍⠁ ⠐⠁⠛⠅⠊⠎⠞⠗⠚⠝

- # closing brace
  - "κλείσιμο άγκιστρων}"
  - ⠅⠇⠐⠩⠎⠊⠍⠕ ⠐⠁⠛⠅⠊⠎⠞⠗⠚⠝⠽

- # braces
  - "{άγκιστρα}"
  - ⠯⠐⠁⠛⠅⠊⠎⠞⠗⠁⠽

- # ellipsis
  - αποσιωπητικά …
  - ⠁⠏⠕⠎⠊⠚⠏⠜⠞⠊⠅⠐⠁ ⠄⠄⠄

- # hyphen
  - παύλα-
  - ⠏⠐⠡⠇⠁⠤

- # underscore
  - κάτω παύλα_
  - ⠅⠐⠁⠞⠚ ⠏⠐⠡⠇⠁⠸

- # asterisk
  - αστερίσκος *
  - ⠁⠎⠞⠑⠗⠐⠊⠎⠅⠕⠎ ⠔⠔

- # slash 
  - κάθετος/
  - ⠅⠐⠁⠹⠑⠞⠕⠎⠌

###########
# English #
###########

- # English quotation marks
  - '"quotation marks"'
  - ⠠⠦⠰⠟⠥⠕⠞⠁⠞⠊⠕⠝ ⠰⠍⠁⠗⠅⠎⠴⠄

- # English question mark
  - question mark?
  - ⠰⠟⠥⠑⠎⠞⠊⠕⠝ ⠰⠍⠁⠗⠅⠦

- # lowercase English letters
  - abcdefghijklmnopqrstuvwxyz
  - ⠰⠁⠃⠉⠙⠑⠋⠛⠓⠊⠚⠅⠇⠍⠝⠕⠏⠟⠗⠎⠞⠥⠧⠺⠭⠽⠵

- # uppercase English letters
  - ABCDEFGHIJKLMNOPQRSTUVWXYZ
  - ⠰⠠⠁⠠⠃⠠⠉⠠⠙⠠⠑⠠⠋⠠⠛⠠⠓⠠⠊⠠⠚⠠⠅⠠⠇⠠⠍⠠⠝⠠⠕⠠⠏⠠⠟⠠⠗⠠⠎⠠⠞⠠⠥⠠⠧⠠⠺⠠⠭⠠⠽⠠⠵

