How to use Yudit to edit Hungarian Runic text

Written by: Gáspár Sinai <gaspar yudit org>
Modified: Tokyo 2020-05-24

Unicode introduced Old Hungarian from version 8.0.0.
Yudit supported Rovásírás even before that in Unicode  
Private Use Area.

Now Yudit supports both encodings, but for information
exchange you should use Unicode Old Hungarian.

Yudit modified a freeware font with CC license 
downloaded from 

https://github.com/OldHungarian/old-hungarian-font/

Several glyphs have been reworked, but most importantly
Hosszú Gábor's original Rovás Szabvány ligatures have
been added in both small and capital form and they
can be accessed with ZWJ constructs.

The font was renamed to OldHungarian_full.ttf and it 
comes with Yudit distribution. The OldHungarian input
in Yudit shows how to type the character sequences
 available in this font.

##############################
#  Original HOWTO Document follows
#  Date: Tokyo 2002-02-25 
##############################
 On 2002-12-07 I renamed OldHungarian.kmap to HungarianRunes.kmap.
 They mean the same thing rovásírás but I prefer to use 
 Hungarian Runes.

 You can use yudit for rovásírás out of the box because yudit.ttf 
 comes with rovas glyphs in PUA, so in theory you need this document
 only if you want to use the original rovas fonts.

Introduction

 Hungarian Runes is the script that was used by Hungarians before
 Latin letters were introduced. Please see the References section
 for more details. 

 Hungarian Runes support was added to Yudit to enable researchers and
 enthusiasts  to make plain text email correspondence in mixed  old
 Hungarian  (rovasiras) and modern Hungarian. If a font is created
 it would even be possible to set up an utf-8 encoded web page that
 contains both old and new Hungarian. 

 The PUA codes in Yudit are not a replacement to Hungarian Rovas
 Standard, they just let us create mixed language plain text.
 Yudit will always be able to use legacy Hungarian Rovas Standard 
 fonts and texts with the built-in rovas converter.

Installation

 Follow the instructions from http://www.yudit.org. If you have
 a previous installation, after unistallation of the previous
 version, it is advised to remove the yudit.properties file:
 ~/.yudit/yudit.properties

 Please read Remarks section to see what ~/ means here. This 
 is an important step because yudit.ttf encoding has been changed
 and you may not be able to display text with it if old configuration 
 files are lying around.

 1. It is usually as simple as,

      ./configure
       make
       make install (as root)

    By default the yudit executable is installed in /usr/bin/ 
    directory. Other files will be placed under /usr/share/yudit.

 2. Download the following fonts:
    rovstdjb.ttf - Font for right-to-left writing
    rovstd.ttf - Font for left-to-right writing
    they were created by Dr. Hosszú Gábor.
    They are freely downloadable from:

       http://geocities.com/rovasiras/betuk/index.html
 
    Please note: yudit-2.5.4 yudit.ttf incorporated rovstd.ttf
    into PUA so you don't need to download them (you may skip 2,3,4).

 3. Locate font directory: 
    Windows: C:\Program Files\yudit\fonts or ~/.yudit/fonts
    Linux: /usr/share/yudit/fonts or ~/.yudit/fonts

 4. Copy rovstd.ttf and rovstdjb.ttf to fonts directory.

 If you don't have an existing configuration, that came, for instance
 from a previous installation of yudit, you can skip steps 5 and 6.

 5. Modify ~/.yudit/yudit.properties, add virtual fonts

    yudit.editor.fonts=default,TrueType,Misc,Rovas
    yudit.font.Rovas=rovstd.ttf:rovas:LR,rovstd.ttf:rovas:RL,yudit.ttf

    As LR glyphs are mirrored images of their RL counterparts we should
    to attach the LR (left-to-Right) and RL (Right-to-Left) attributes
    to the appropriate fonts. The encoding rovas option need to be used 
    for the font encoding. 

    You can omit the direction - LR direction is assumed then. The
    mirrored glyphs are calculated from their LR and RL counterparts
    if they are not specified explicitly:

    yudit.font.Rovas=rovstd.ttf:rovas,yudit.ttf

    As yudit.ttf already has rovas characters, put it to the end as
    a last resort font.

    Here are a few other font examples (some of them unnecessarily
    use two fonts to get the mirroring done):
      yudit.editor.fonts=default,TrueType,Misc,Rovas,Csenge,RovFS,RovSada,RovV1,Sumer
      yudit.font.Rovas=arial.ttf,rovstd.ttf:rovas
      yudit.font.Csenge=arial.ttf,csengejb.ttf:rovas:RL
      yudit.font.RovFS=arial.ttf,rov_fsjb.ttf:rovas:RL
      yudit.font.RovSada=arial.ttf,rovsada.ttf:rovas:LR
      yudit.font.RovV1=arial.ttf,rov_v1jb.ttf:rovas:RL,rov_v1.ttf:rovas:LR
      yudit.font.Sumer=arial.ttf,sumerjb.ttf:rovas:RL,sumer.ttf:rovas:LR

   Of course the simplest case is when we just use one font, yudit.ttf
      yudit.font.Simplest=yudit.ttf
   it has rovas characters in PUA.
   Please note that filenames are case sensitive in Linux.

 6. Invoke Yudit
       Change font  (with this configuration it is F4)
       Change input to HungarianRunes
     Small letters like o o" o: produce normal letters.
     Capital letter combinations like AB produce ligatures.
 7. Enjoy (optional)

 Remarks:
   a) ~/ means HOME directory. This is the directory that you
      see when you press home button in Yudit file manager.
   b) In yudit file manager .yudit is not visible unless you
      press the "hidden" button.
   c) After fresh installation you need to invoke yudit and exit
      so that ~/.yudit/yudit.properties file gets created.
      This is needed only if ~/.yudit/yudit.properties is missing.

Important Technical Notes

 Reading Dr. Hosszú Gábor's specification:

 http://geocities.com/rovasiras/cikkl/bevezet/bevezet.htm

 I decided to make the following remapping:

 0xEE00..0xEE29 HUNGARIAN RUNIC LETTERS (42)
 0xEE2F         HUNGARIAN RUNIC PUNCTUATION (1)
 0xEE30..0xEE3D HUNGARIAN RUNIC NUMBERS (6)
 0xEE40..0xEEAF HUNGARIAN RUNIC LIGATURES (76)

 WARNING: This is the Private Use Area of Unicode.  Files created
 will not be portable, and in the (unlikely) event that Unicode will
 include Hungarian Runes your files would need conversion. 
 As of 2002-03-01 EE00-EEAF is unassigned by ConScript Unicode Registry. 

 Please note that ConScript Unicode Registry:

 http://www.evertype.com/standards/csur/

 is an place to register PUA characters. You may want to try to get 
 Old Hungarian registered -  it would help font makers so that they 
 would not use these characters for other purposes in fonts.  Even
 Klingon is registered  there, so you might get lucky, but personally 
 I don't think you will succeed registering it. 

 Unrelated information: Conscript is organized by the same people who 
 make the official Unicode.

 Note that not registering  may actually be even good for Old Hungarian,
 because, for instance, we are not forced to use ZWJ and ZWNJ zero with
 characters to accept ligature formation, and we will have the freedom 
 to specify ligatures  directly when we want them, and also make conversion
 possible with the legacy Rovas Standard. What is most important of all 
 can use reversible algorithms that are usually not very popular at 
 Unicode Consortium. Reversible algorithms are very useful to preserve 
 the integrity of plain text. 

 With the use of PUA we also have the freedom to put Old Hungarian into 
 BMP so we can encode our emails in utf-7, as utf-7 can encode only 
 16 bits.
 
 Old Hungarian Unicode Proposal (dated 1998):
 http://wwwold.dkuug.dk/JTC1/SC2/WG2/docs/n1686/n1686.htm
 does not have 
   HUNGARIAN RUNIC LETTER CLOSED E
   HUNGARIAN RUNIC LETTER AS
   HUNGARIAN RUNIC LETTER ATY
 All 3 of them can be used in Yudit.

Conversion

 If text contains only Old Hungarian, conversion to/from the
 Hungarian Rovas Standard is possible if the file is read/written
 with rovas converter as a file-type. OldHungarian file-type can
 be used to make a transliteration of the text with the keyboard
 input map.

 Be aware that 8-bit encoding is correctly encoding the Rovas
 standard fonts. If Unicode encoding table is used in True Type
 fonts I found the following differences in rovstd.ttf, for instance:

  Glyph  Character Format4 Format0 (8-bit)
  GO     0xEE58    0x0152  0x8C  
  HA     0xEE59    0x0178  0x9F  
  HI     0xEE5B    0x02DC  0x98  
  IT     0xEE5D    0x2026  0x85  
  NT     0xEE6D    0x0153  0x9C  
  SK     0xEE78    0x0192  0x83  
  UNK    0xEE84    0x2122  0x99  

 Yudit automatically uses 8 bit encoding when necessary so you don't 
 need to know this subtle detail.

References

 Dr. Hosszú Gábor <hageel@freemail.hu>
 http://geocities.com/rovasiras/

 Heves Gábor <heves@fang.fa.gau.h>
 http://fang.fa.gau.hu/~heves/

 Lehoczki Endre <elehoczk@supernet.ca>
 http://www.dsuper.net/~elehoczk/

 Hungarian Letters and Writing 
 http://www2.4dcomm.com/millenia/alphabet.htm

 Ancient Hungarian Runic Writing
 http://www.interlog.com/~photodsk/magyar/rovas/rovaseng.html

 Rovástól Írásig (Hungarian)
 http://www.sztaki.hu/~smarton/erdely/rovas.htm

 Magyar Törzsnevek
 http://www2.4dcomm.com/millenia/tribe.htm
