Professional Documents
Culture Documents
Ulti EY: Index
Ulti EY: Index
MultiKey is designed for facilitating keyboard input under Microsoft® Windows™ (in the following referred
to as ‘Windows’), especially for Eastern Europe, Polytonic Greek and Hebrew fonts.
Index
Licence Agreements.............................................................................................................................................2
Functions...............................................................................................................................................................2
How to Install MultiKey.......................................................................................................................................2
How to Start MultiKey.........................................................................................................................................2
How to Use MultiKey...........................................................................................................................................2
Using MultiKey with Microsoft® Word™ Macros.........................................................................................3
Microsoft® Word™ Visual Basic Programmer's Reference:..........................................................................3
Using MultiKey with the Classical Text Editor...............................................................................................3
How to define MultiKey keyboard layouts..........................................................................................................3
Latin Mode........................................................................................................................................................4
Greek Mode.......................................................................................................................................................4
Right to Left Mode...........................................................................................................................................6
Programmer's Reference.......................................................................................................................................6
Troubleshooting....................................................................................................................................................7
Keyboard Support in This Release.......................................................................................................................8
Keyboard Tables...............................................................................................................................................8
Fonts..................................................................................................................................................................8
Key Combinations................................................................................................................................................8
Latin Unicode...................................................................................................................................................8
Cyrillic..............................................................................................................................................................9
Greek.................................................................................................................................................................9
Hebrew Unicode.............................................................................................................................................10
Arabic Unicode...............................................................................................................................................10
Times New Roman.........................................................................................................................................10
EETimes New Roman....................................................................................................................................10
WP Japanese (WordPerfect™ font)...............................................................................................................11
Bwhebb (BibleWorks™ by Hermeneutika™ font).......................................................................................11
Hebrew (as shipped with WinGreek by P. Gentry).......................................................................................11
WP Arabic Sihafa (Word Perfect™ font)......................................................................................................11
2
Licence Agreements
You are granted a free license of this product.
You are encouraged to distribute the product non-commercially and as a whole, including this information.
You may not alter the files or documentation as included in this product, except for your own use.
THIS PRODUCT IS DISTRIBUTED "AS IS". The author takes no responsibility that all features of the
product will work properly on every hardware or in combination with any software, nor for any loss of time or
data resulting from use of the product, especially not if caused by improper use or installation.
Functions
MultiKey can be accommodated to provide useful keyboard layout for any font. Is has been designed
especially for Ancient Greek diacritic marks, but keystroke combinations for other fonts can easily be defined
and have done so for you. MultiKey supports right-to-left input.
If font tables are defined for two or more related fonts, whose corresponding characters are assigned different
ASCII equivalents (as is the case with different Ancient Greek or Cyrillic fonts), MultiKey allows to convert
strings from one font into another.
F10 Latin
Shift+F10 Cyrillic
F11 Greek
Alt+F12 Arabic
Shift+Alt+F12 Hebrew
F12 Select from a list of keyboards and fonts
Latin Mode
You may define any combinations for any font in the MULTIKEY.INI file in the [Latin] section. Here comes
the syntax for each line:
<Font name>=<combination1><combination2>…
Each combination contains four or five characters:
1) space <character1><character2><resulting character>
2) space <character1><character2><resulting character1><resulting character2>
The second type is especially useful if the design of characters changes with the context (as in Arabic writing).
To denote Unicode characters, use an acute followed by the hexadecimal Unicode value in four digits (e.g.,
´01A0). You may combine Unicode and Ansi characters in one combination. Do not use the Unicode notation
for characters below 256 (U+0100).
For example:
1) " o/ó" will result in that any typed "o" followed immediately by a typed "/" will result in a "ó".
2) " ÖuŒu" will result in that any "Ö" followed by a typed "u" will change to "Œ", but the "u" won’t be
deleted.
3) " ´0145J´014A" will result in that the Unicode character U+0145, if followed by a typed ‘J’ is converted to
the character U+014A.
MultiKey will read strings up to 16384 characters.
If even the basic characters of a font are assigned to characters you cannot access easily or if you don’t like the
given assignments you may change them entirely by adding a line to the [LatinKeys] section. This entry must
correspond to one in the [Latin] section, so if you want to change the assignments without defining
combinations, leave the [Latin] section entry empty. The syntax is as follows:
<FontName>=<sequence of 223 characters>
For all characters from Ascii 33 ("!") to Ascii 255 define those that shall be accessed instead of them. For
example, if the first character in the string is an "A", MultiKey will change any typed "!" into an "A". Insert a
space for keys you don’t bother to change.
You may use the Unicode syntax as described above.
For your combination entries, use the resulting (not the typed!) characters.
Greek Mode
Greek characters respond to those keys which seemed the author most natural, i. e: θ=q, ξ=c, χ=x, ψ=y, ω=w,
ς=j, Ϛ =J, ϝ =v, Ϝ =V, ᾳ =ä, ῃ =ü, ῳ =ö. Furthermore, ϟ =&, Ϟ =$, Ϡ=@.
Define the keys that shall correspond to Greek accents in the [GreekAccents] section of the MULTIKEY.INI
file. The predefined values are:
Acute=+/
Grave=*\
Circumflex=~=
Lenis=<
5
Asper=>
Trema=#
Iota=| (for the iota subscriptum)
Define Greek fonts in the [Greek] section. The syntax is
<Font Name>=<sequence of characters corresponding to Greek characters in the reference string>
Reference string:
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψωςϞ ϝ Ϝ Ϡ Ϛ ᾳ ῃ ῳ Cc.,·;"'´` ῀ ᾿ ῾ ῎ ῞ ῎ ῝ ῏
῟ άὰ ᾶ ἀ ἁ ἄ ἅ ἂ ἃ ἆ ἇ έ ὲ ἐ ἑ ἔ ἕ ἒ ἓ ή ὴ ῆ ἠ ἡ ἤ ἥ ἢ ἣ ἦ ἧ ί ὶ ῖ ἰ ἱ ἴ ἵ ἲ ἳ ἶ ἷ ό ὸ ὀ ὁ ὄ ὅ ὂ ὃ ύὺ ῦ ὐ ὑ ὔ
ὕ ὒ ὓ ὖ ὗ ώ ὼ ῶ ὠ ὡ ὤ ὥ ὢ ὣ ὦ ὧ ᾴ ᾲ ᾷ ᾀ ᾁ ᾄ ᾅ ᾂ ᾃ ᾆ ᾇ ῄ ῂ ῇ ᾐ ᾑ ᾔ ᾕ ᾒ ᾓ ᾖ ᾗ ῴ ῲ ῷ ᾠ ᾡ ᾤ ᾥ ᾢ ᾣ ᾦ ᾧ ϊΐῒϋΰῢ¨΅῭ῤ ῥι ÿ+-
᾿ ϟ ¯˘―†¶• ./!·()[]{}|+*0123456789:=\_”“¤«»¬°<>?~
The following table lists the characters contained in the reference string:
1: Α 47 : ψ 91 : ἐ 137 : ὔ 183 : ᾢ 220 : |
2: Β 48 : ω 92 : ἑ 138 : ὕ 184 : ᾣ 221 : +
3: Γ 49 : ς 93 : ἔ 139 : ὒ 185 : ᾦ 222 : *
4: Δ 50 : Ϟ1 94 : ἕ 140 : ὓ 186 : ᾧ 223 : 0
5: Ε 51 : ϝ 95 : ἒ 141 : ὖ 187 : ϊ 224 : 1
6: Ζ 52 : Ϝ 96 : ἓ 142 : ὗ 188 : ΐ 225 : 2
7: Η 53 : Ϡ 97 : 143 : ώ 189 : ῒ 226 : 3
8: Θ 54 : Ϛ 98 : 144 : ὼ 190 : ϋ 227 : 4
9: Ι 55 : ᾳ 99 : ή 145 : ῶ 191 : ΰ 228 : 5
10 : Κ 56 : ῃ 100 : ὴ 146 : ὠ 192 : ῢ 229 : 6
11 : Λ 57 : ῳ 101 : ῆ 147 : ὡ 193 : ¨ 230 : 7
12 : Μ 58 : C 102 : ἠ 148 : ὤ 194 : ΅
231 : 8
13 : Ν 59 : c 103 : ἡ 149 : ὥ 195 : ῭
232 : 9
14 : Ξ 60 : . 104 : ἤ 150 : ὢ 196 : ῤ
233 : :
15 : Ο 61 : , 105 : ἥ 151 : ὣ 197 : ῥ
234 : =
16 : Π 62 : · 106 : ἢ 152 : ὦ 198 : ι
107 : ἣ 153 : ὧ 199 : ÿ2 235 : \
17 : Ρ 63 : ;
18 : Σ 108 : ἦ 154 : ᾴ 200 : + 236 : _
64 : "
19 : Τ 109 : ἧ 155 : ᾲ 201 : - 237 : ”
65 : '
20 : Υ 110 : ί 156 : ᾷ 202 : ’ 238 : “
66 : ´
21 : Φ 111 : ὶ 157 : ᾀ 203 : ϟ3 239 : ¤
67 : `
22 : Χ 68 : ῀ 112 : ῖ 158 : ᾁ 204 : ¯ 240 : «
23 : Ψ 69 : ᾿ 113 : ἰ 159 : ᾄ 205 : ˘ 241 : »
24 : Ω 70 : ῾ 114 : ἱ 160 : ᾅ 206 : ― 242 : ¬
25 : α 71 : ᾿´ 115 : ἴ 161 : ᾂ 207 : † 243 : °
26 : β 72 : ῾´ 116 : ἵ 162 : ᾃ 208 : ¶ 244 : <
27 : γ 73 : ᾿` 117 : ἲ 163 : ᾆ 209 : • 245 : >
28 : δ 74 : ῾` 118 : ἳ 164 : ᾇ 210 : .
4 246 : ?
29 : ε 75 : ῏ 119 : ἶ 165 : ῄ 211 : / 247 : ~
30 : ζ 76 : ῟ 120 : ἷ 166 : ῂ 212 : ! 381: „
31 : η 77 : ά 121 : ό 167 : ῇ 213 : · 382: …
32 : θ 78 : ὰ 122 : ὸ 168 : ᾐ 214 : ( 383: ‡
33 : ι 79 : ᾶ 123 : 169 : ᾑ 215 : ) 384: ‘
34 : κ 80 : ἀ 124 : ὀ 170 : ᾔ 216 : [ 385: ’
35 : λ 81 : ἁ 125 : ὁ 171 : ᾕ
217 : ] 386: §
36 : μ 82 : ἄ 126 : ὄ 172 : ᾒ
218 : { 387: –
37 : ν 83 : ἅ 127 : ὅ 173 : ᾓ
219 : } 388: ‚
38 : ξ 84 : ἂ 128 : ὂ 174 : ᾖ
39 : ο 85 : ἃ 129 : ὃ 175 : ᾗ 2
40 : π 130 : 176 : ῴ diagonal
86 : ἆ
41 : ρ 131 : 177 : ῲ arrow
87 : ἇ
42 : σ 132 : ύ 178 : ῷ down left
88 : έ 3
43 : τ 133 : ὺ 179 : ᾠ min.
89 : ὲ
44 : υ 90 : 134 : ῦ 180 : ᾡ qoppa
4
45 : φ 135 : ὐ 181 : ᾤ combi-
1
46 : χ maj. 136 : ὑ 182 : ᾥ ning
qoppa underdot
6
Use a space, where no corresponding character exists in a specific font. You may use the Unicode syntax as
described above (However, you will not need to do so, because there is a predefined "Greek Unicode"
keyboard layout).
Programmer's Reference
This section is intended for expert users only. To exploit the features described here, you should be able to use
a programming language such as C, VisualBasic, Pascal, Delphi etc.
You may access the following functions of the Dynamic Link Library MULTIKYB.DLL (Numbers in brackets
are DLL index numbers):
(4) void ConvertFont (uint Keyboard, uint SrcFont, uint DestFont, lpstr lpText)
Converts a string from one font into another. Use this function with fonts which share the same keyboard
layout but are coded differently.
Parameters Keyboard See above
SrcFont Number of the source font (Depends on the settings in MULTIKEY.INI)
DestFont Number of the destination font (Depends on the settings in MULTIKEY.INI)
lpText Pointer to a null-terminated string containing the text to convert.
(5) void GetFontName (uint Keyboard, uint Font, lpstr Name, uint maxName)
Returns the names of the fonts for which keyboard tables are defined.
Parameters Keyboard See above
Font See above
Name Pointer to a null terminated string that will receive the font name
MaxName Length of the buffer Name
(12) void ConvertFontW (uint Keyboard, uint SrcFont, uint DestFont, lpwstr lpText)
Converts a string from one font into another. Same as (4), but takes a wide string as pararameter. Use this
function with fonts which share the same keyboard layout but are coded differently. You may also con vert a
non-Unicode font to a Unicode font and vice versa. However, due to the manner Word 97 handles certain
fonts, there may be problems with single characters or even whole fonts.
Parameters Keyboard See above
SrcFont Number of the source font (Depends on the settings in MULTIKEY.INI)
DestFont Number of the destination font (Depends on the settings in MULTIKEY.INI)
lpText Pointer to a null-terminated wide string containing the text to convert.
The number of the Font tables is the number of the corresponding entry in the MULTIKEY.INI file.
Troubleshooting
MultiKey is responsible only for mapping keyboard keystrokes to characters. If these characters appear on
your screen, MultiKey’s word is done. If there is a problem with printing, the printer settings or the font are to
be blamed. Even if characters do not appear on your screen at all, it is more likely that your system does not
display the font correctly than that MultiKey fails to work. In this case, enter some characters of the desired
font without using MultiKey to see if the font is installed properly.
Problem Solution
When writing Greek in MS Word, single You are using a non-Unicode font and have turned on the Typo-
breathing marks before an initial major graphic Quotation Marks option in MS Word (in the AutoFormat
vowel are not represented correctly. options). Turn off this option when you are typing Greek. To access
typographic quotation marks, use the corresponding MultiKey com-
binations. Or use a Unicode font, as is suggested from Word 97 on.
I don’t want to have all the fonts dis- Modify the MULTIKEY.INI file by placing a semicolon at the
played for which keyboard support is beginning of the lines defining the fonts you don’t use (and restart
delivered. MultiKey).
MultiKey stops working. This may happen if you have used the Ctrl+Esc combination to in-
voke the Start menu in Windows 95. To get MultiKey to work
again, simply press the Ctrl key once.
Sometimes starting an application may cause MultiKey to stop
working. In this case, exit and restart MultiKey. If that does not
help, restart your wordprocessor, too.
Instead of displaying the new character This may happen if you use some strange Windows keyboard driver.
the last character gets deleted. As you shouldn’t need it any longer since you use MultiKey, the
8
Keyboard Tables
This release contains the implementation for Windows standard Latin fonts (Times New Roman), for Unicode
Latin, Unicode polytonic Greek, Unicode Cyrillic, Unicode Hebrew, for Eastern Europe specific fonts
according to the GoEast standard, for Greek as contained in WinGreek (usable also with the much improved
Greek font Aisa), for OldGreekSerif, for Grk, for Cyrillic fonts according to the Windows standard, for
WinGreek Hebrew, BibleWorks Hebrew (Bwhebb), for Arabic Neskhi, and for Word Perfect™ Japanese
Katakana.
Fonts
This release contains the polytonic Greek font Aisa and the font EETimes New Roman, containing Eastern
European characters.
Key Combinations
The key combinations for each font are defined as follows (if you don’t like them, change them as described
above).
Note: Only those fonts, which are installed on your system will be displayed correctly in the tables.
Latin Unicode
Common modifiers: Acute: +, Grave: *, Circumflex: =, Tilde: ~, Trema: |, Caron: #
Many other special characters can be accessed using the underline character (sometimes applied more than
once).
Á A+ Ă Ā= Ǟ Ä= ĉ c= Ë E|
á a+ ă ā= ǟ ä= Č C# ë e|
À A* Ą A_ Ǡ Å= č c# Ē Ê=
à a* ą a_ ǡ å= Ð D_ ē ê=
 A= Ǻ Å+ Ǣ Æ= ð d_ Ĕ Ē=
â a= ǻ å+ ǣ æ= Ď D# ĕ ē=
à Â= Ǽ Æ+ ª a_ _ ď d# Ė Ë|
ã â= ǽ æ+ Ç C_ đ ð_ ė ë|
à A~ Ǎ A# ç c_ É E+ Ę E_
ã a~ ǎ a# ¢ ç_ é e+ ę e_
Ä A| Å A° © ¢_ È E* Ě E#
ä a| å a° Ċ C| è e* ě e#
Ā Ã= Æ Ä_ ċ c| Ê E= ǝ e/
ā ã= æ ä_ Ĉ C= ê e= ƒ f_
5
For characters not defined in Times New Roman, the following table uses the fonts Lucida Sans Unicode
and Hermes. If you do not have installed these fonts or use another one, select the table and convert it to your
font before printing it. Thus you will learn which characters are supported by your font.
9
10
11
12
13
14
15
16
ff ƒf
fi ƒi
fl ƒl
ffi ffi
ffl ffl
Ĝ G=
ĝ g=
Ğ Ĝ=
ğ ĝ=
Ġ G|
ġ g|
Ģ G_
ģ g_
Ǥ G/
ǥ g/
Ǧ G#
ǧ g#
Ĥ H=
ĥ h=
Ħ H/
ħ h/
Ḫ H_
ḫ h_
Í I+
í i+
Ì I*
ì i*
Î I=
î i=
Ï I|
ï i|
Ǐ I#
ǐ i#
Ĩ Î=
ĩ î=
Ī Ĩ=
ī ĩ=
Ĭ Ī=
ĭ ī=
Į I_
į i_
İ Ï|
ı ï|
IJ IJ
ij ij
Ĵ J=
ĵ j=
ǰ j#
Ķ K_
ķ k_
ĸ k*
Ǩ K#
ǩ k#
Ĺ L+
ĺ l+
Ļ L_
ļ l_
17
Ľ L* ľ l* Ŀ L| ŀ l|
18
Ł L/ õ ô= ṙ r| ũ u~ ẅ w| ‘ '_
ł l/ Õ O~ Ṙ R| Ũ Û= Ý Y+ ’ '__
LJ ĻJ õ o~ ® ŗ_ ũ û= ý y+ ‛ '__ _
Lj Ļj Ö O| Š S# Ū Ũ= Ÿ Y| “ "_
lj ļj ö o| š s# ū ũ= ÿ y| ” "__
£ $_ Ø O/ Ś S+ Ŭ Ū= ¥ Y_ … ._
µ m_ ø o/ ś s+ ŭ ū= Ŷ Y= · ._ _
Ñ N= Œ Ö_ Ŝ S= Ů U° ŷ y= • .__ _
ñ n= œ ö_ ŝ s= ů u° Ỳ Y* ¡ !_
Ñ N~ Ō Õ= Ş S_ Ű Ú+ ỳ y* ¿ ?_
ñ n~ ō õ= ş s_ ű ú+ Ź Z+ ‼ !!
nj ņj Ŏ Ō= Š Ŝ+ Ų U_ ź z+ – --
Ń N+ ŏ ō= š ŝ+ ų u_ Ż Z| — ---
ń n+ Ő Ó+ Ţ T_ Ǔ U# ż z| ‗ __
Ņ N_ ő ó+ ţ t_ ǔ u# Ž Z# † §_
ņ n_ Ǒ O# Ť T# Ǖ Ü= ž z# ‡ †_
Ň N# ǒ o# ť t# ǖ ü= ʒ z_ ‰ %_
ň n# Ǫ O_ Ŧ T/ Ǘ Ü+ Ʒ Z_ ‹ <_
ʼn n* ǫ o_ ŧ t/ ǘ ü+ ǯ z_# › >_
Ŋ Ņ_ Ǭ Ǫ= Þ Ţ_ Ǚ Ü# Ǯ Z_# « <<
ŋ ņ_ ǭ ǫ= þ ţ_ ǚ ü# ¹ 1_ » >>
NJ ŅJ Ǿ Ø+ Ú U+ Ǜ Ü* ² 2_ • @_
Nj Ņj ǿ ø+ ú u+ ǜ ü* ³ 3_ º °_
Ó O+ ¶ p_ Ù U* Ŵ W= ⁿ ŋ_ ¯ ~_
ó o+ Ŕ R+ ù u* ŵ w= ¼ ¹4 ± +_
Ò O* ŕ r+ Û U= Ẁ W* ½ ¹2 × *_
ò o* Ŗ R_ û u= ẁ w* ¾ ³4 ÷ /_
Ô O= ŗ r_ Ü U| Ẃ W+ ‚ ,_ ™ M_
ô o= Ř R# ü u| ẃ w+ ¸ ‚_ ¬ ⁿ_
Õ Ô= ř r# Ũ U~ Ẅ W| „ ,,
Cyrillic
À A É J Ò T Û Y__ K+ ‡ !__
Á B Ê K Ó U Ü Y Ž C+ © c_
 V Ë L Ô F Ý E_ D# ® r_
à G Ì M Õ X Þ U_ ¡ U+ ™ M_
Ä D Í N Ö C ß A_ ¥ G_ µ m_
Å E Î O × Q C# € D_ ¨ E|
Æ Z# Ï P Ø W S# G+ ¹ N°
Ç Z Ð R Ù W# S## Š L_ ‰ %_
È I Ñ S Ú Y_ Œ N_ † !_
Greek
Αα Aa
Ββ Bb
Γγ Gg
Δδ Dd
Εε Ee
Ζζ Zz
Ηη Hh
Θθ Qq
Ιι Ii
Κκ Kk
Λλ Ll
Μμ Mm
Νν Nn
Ξξ Cc
19
Οο Oo Ψψ Yy Ϟϟ $& ᾿ ' ‘ ,_ _
Ππ Pp Ωω Ww Ϡ @ ¨ # ‘ ,__ _
Ρρ Rr ς j ι % ; ? „ ,,
Σσ Ss Ϛ J ´ + / · : “ "_
Ττ Tt ᾳ ä a| ` * \ … ._ ” "__
Υυ Uu ῃ ü h| ῀ = ~ † $_ « ((
Φφ Ff ῳ ö w| ᾿ < ‡ $_ _ » ))
Χχ Xx Ϝϝ Vv ῾ > ‚ ,_
For changing the accent keys, see .
Note: When converting other Greek fonts to Unicode, capital letters with preceding diacritics will not be com -
bined but left as individual characters as in all Greek fonts based on the lower 255 characters. If you want to
use the combined characters, you will have to enter them manually.
Hebrew Unicode
Modifier key is "#".
אa ט j פ p ן n# ּ * ֹ o
בb י y צ c ף p# ֽ , ׁ o#
גg כ k ק q ץ c# ַ ! ׂ o##
דd ל l ר r : . ָ = < ֻ u
הh מ m ש f ־ - ֵ e _ _
וw נ n ת t ֿ -- ֶ & ֽ ֽ
זz ס s ך k# ׳ + ְ :
חx ע v ם m# ״ ++ ִ i
Arabic Unicode
ﺍ a -ﺥ Xä ﺵ Sv ﻍ Co ﻥ n ﺀ =
ﺏ b ﺩ d ﺹ j ﻑ f ﻭ w ﻻ la
ﺕ t ﺫ Dü ﺽ J ﻕ q ﻩ h ﷲ °
ﺚ Tö -ﺭ r ﻁ p ﻙ k ﺓ H h:
ﺝ g -ﺯ z ﻅ P ﻝ l ﻯ y
ﺡ x ﺱ s ﻉ c ﻡ m ﻱ Y y:
Characters will combine automatically according to the writing conventions. If you have to start from a
character connected backwards (e.g. after deleting characters, or when inserting into an existing word), use the
"." key to get the modified form.
Æ Ä_ £ L_ Þ T_ ¸ ,__ › >_ Å A°
æ ä_ ™ M_ þ t_ ¡ !_ « << å a°
ª a_ µ m_ ¥ Y_ ¿ ?_ » >> ½ 1_2
Ç C_ ¬ n_ ¹ 1_ † §_ • @_ ¼ 1_4
ç c_ Ø O_ ² 2_ ‡ †_ º °_ ¾ 3_4
¢ ç_ ø o_ ³ 3_ ‰ %_ ¯ ~_ – --
© c__ Œ Ö_ … ._ ” "_ ± +_ — ---
Ð D_ œ ö_ · .__ “ "__ × *_ „ ,,
ð d_ ¶ p_ • .___ ¨ "___ ÷ /_
ƒ f_ ® r_ ‚ ,_ ‹ <_
All characters that represent combinations will replace the succession of the single characters.