# liblouis: German Grade 1 Braille
#
# Das System der deutschen Blindenschrift (2015/2018)
# http://www.bskdl.org/textschrift.html
#
# Bemerkung:
# - Gross-/Kleinschreibung wird nicht berücksichtigt (d.h. für
#   Abkürzungen u.ä. braucht es Vorprogramm)
# - Akzente: Hinweis auf die beiden Tabellen (bis jetzt nur als
#   Kommentar in de-g0.utb)
#
# -----------
#-name: Deutsche Vollschrift
#-index-name: German, partially contracted
#-display-name: German partially contracted braille
#
#+locale: de
#+type: literary
#+contraction: partial
#+grade: 1
#+direction: forward
#
#-has-nocross: yes
# ------------
#
#  Copyright (C) 2018 SBS Schweizerische Bibliothek für Blinde, Seh- und Lesebehinderte
#
#  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/>.
#
#-------------------------------------------------------------------------------

include de-g0.utb
include de-g1-core.cti
