summaryrefslogtreecommitdiff
path: root/support/translit/koi7-8.rus
blob: 93ca6dc9de286c0dac8c2e310299e6b74c3a69db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# Jan Labanowski, jkl@osc.edu, Dec. 30, 1992
# File koi7_8.rus

# This is a transliteration data file for converting from KOI7 to
# KOI8 (RELCOM-GOST 19768-74). The KOI7 character codes for Russian letters
# overlap with Latin letters. To mark what is in Russian and what in English,
# The SHIFT-OUT and SHIFT-IN characters are used: The SHIFT-OUT and SHIFT-IN 
# switch between Latin and Russian character set. The SHIFT-OUT switches
# to Russian letters. If the sequence of Russian characters does not start
# with the SHIFT-OUT character, it will be treated as English text!
# The SHIFT-OUT character is CTRL-N (\14 = \0x0E = \0o16).
# The SHIFT-IN character is CTRL-O (\15 = \0x0F = \0o17). It switches back to
# Latin characters. 
# If the SHIFT-OUT character is not present, whole file is assumed to be
# written in Latin alphabet.
# On the practical side: The KOI7 characters are frequently obtained
# from KOI8 character set as a result of transmission through the network.
# In most cases, the electronic-mail strips the 8th bit of KOI8 character
# set changing it to KOI7. The problem is that in this case, there is no
# SHIFT-IN and SHIFT-OUT codes to signal which characters are Latin and
# which are Russian. In this case, buy using the editor, YOU HAVE TO ENCLOSE
# RUSSIAN TEXT inside the appropriate SHIFT-OUT and SHIFT-IN sequence.
# To obtain a true KOI7 file, these should be CTRL-N and CTRL-O, respectively.
# However, It is sometimes difficult to obtain this control characters within
# an editor. In this case, you may use your own character, but they should
# not apear elsewhere in the text. Unfortunately, most "good" characters
# are taken. I think that it is better to use a two-character sequence in
# this situation. You are free to use your own, but I would suggest that you
# stick with {{ (as SHIFT-OUT) and }} as SHIFT-IN (they correspoind to:
# sh-sh and shch-shch in KOI7). Of course, if they appear in your KOI7
# text you need to use something else. To use these characters, you need to
# make following changes in the section of this file where input SHIFT-OUT/IN
# sequences are read in:
# 1) uncomment (i.e., delete # character in the first column):
#  #   "{{"    ""    ""    ""    "}}"      ""         # Russian letters {{...}}
# 2) comment (i.e., put # in the first column)
#  "\0x0E"  ""    ""    ""    "\0x0F"   ""         # Russian letters ^N...^O


# To be used with translit.c program by Jan Labanowski

   1            file version number

   "    "      # string delimiters
   [    ]      # list delimites
   {    }      # regular expression delimiters


#starting sequence
""


#ending sequence
""

   2     # number of input SHIFT sequences, only one set of input characters
   ""      ""    ""    ""    ""        ""         # Latin characters
   "\0x0E"  ""    ""    ""    "\0x0F"   ""         # Russian letters ^N...^O
#   "{{"     ""    ""    ""    "}}"      ""         # Russian letters {{...}}

   0     # number of output SHIFT sequences, only one set of output characters
  
# conversion table
#   ASCII characters (set 1) no-change
#   Russian letters have to be entered explicitly (we could use a simple
#   range like:
#   2  [#$"@-~]  0   [\0xA3\0xB3\0xFF\0xC0-\0xFE]
#  but then we would miss the nice table for the humans).

# inp_set_numb  inp_seq        out_set_numb  out_seq
      1    [\0x21-\0x7F]          0  [\0x21-\0x7F]     #Pass  ASCII, no change

# Leave the " as a quote if it is at the beginning or end of the word
# Change it to hard sign only if it is inside the word
2 {([][\0x7d{A-Za-z\|~@'/])\0x22([][\0x7d{A-Za-z\|~@'/])}
                                 -1        {\1\0xFF\2} # hard sign
      2           "#"             0          "\0xA3"   #small yo
      2           "$"             0          "\0xB3"   #capital YO
      2           "a"             0          "\0xE1"   #capital  A
      2           "b"             0          "\0xE2"   #capital  Be
      2           "w"             0          "\0xF7"   #capital  Ve
      2           "g"             0          "\0xE7"   #capital  Ghe
      2           "d"             0          "\0xE4"   #capital  De
      2           "e"             0          "\0xE5"   #capital  Ie
      2           "v"             0          "\0xF6"   #capital  Zhe
      2           "z"             0          "\0xFA"   #capital  Ze
      2           "i"             0          "\0xE9"   #capital  I
      2           "j"             0          "\0xEA"   #capital  short I
      2           "k"             0          "\0xEB"   #capital  Ka
      2           "l"             0          "\0xEC"   #capital  El
      2           "m"             0          "\0xED"   #capital  Em
      2           "n"             0          "\0xEE"   #capital  En
      2           "o"             0          "\0xEF"   #capital  O
      2           "p"             0          "\0xF0"   #capital  Pe
      2           "r"             0          "\0xF2"   #capital  Er
      2           "s"             0          "\0xF3"   #capital  Es
      2           "t"             0          "\0xF4"   #capital  Te
      2           "u"             0          "\0xF5"   #capital  U
      2           "f"             0          "\0xE6"   #capital  Ef
      2           "h"             0          "\0xE8"   #capital  Kha
      2           "c"             0          "\0xE3"   #capital  Tse
      2           "~"             0          "\0xFE"   #capital  Che
      2           "{"             0          "\0xFB"   #capital  Sha
      2           "}"             0          "\0xFD"   #capital  Shcha
      2           "y"             0          "\0xF9"   #capital  Y (Iery)
      2           "x"             0          "\0xF8"   #capit soft sign(Ierik)
      2           "|"             0          "\0xFC"   #capit reverse rounded E
      2           "`"             0          "\0xE0"   #capital  Yu
      2           "q"             0          "\0xF1"   #capital  Ya
      2           "A"             0          "\0xC1"   #small  a
      2           "B"             0          "\0xC2"   #small  be
      2           "W"             0          "\0xD7"   #small  ve
      2           "G"             0          "\0xC7"   #small  ghe
      2           "D"             0          "\0xC4"   #small  de
      2           "E"             0          "\0xC5"   #small  ie
      2           "V"             0          "\0xD6"   #small  zhe
      2           "Z"             0          "\0xDA"   #small  z
      2           "I"             0          "\0xC9"   #small  i
      2           "J"             0          "\0xCA"   #small  short i
      2           "K"             0          "\0xCB"   #small  ka
      2           "L"             0          "\0xCC"   #small  el
      2           "M"             0          "\0xCD"   #small  em
      2           "N"             0          "\0xCE"   #small  en
      2           "O"             0          "\0xCF"   #small  o
      2           "P"             0          "\0xD0"   #small  pe
      2           "R"             0          "\0xD2"   #small  er
      2           "S"             0          "\0xD3"   #small  es
      2           "T"             0          "\0xD4"   #small  te
      2           "U"             0          "\0xD5"   #small  u
      2           "F"             0          "\0xC6"   #small  ef
      2           "H"             0          "\0xC8"   #small  kha
      2           "C"             0          "\0xC3"   #small  tse
      2           "^"             0          "\0xDE"   #small  che
      2           "["             0          "\0xDB"   #small  sha
      2           "]"             0          "\0xDD"   #small  shcha
      2           "_"             0          "\0xDF"   #small hard sign (ier)
      2           "Y"             0          "\0xD9"   #small  y (iery)
      2           "X"             0          "\0xD8"   #small soft sign (ierik)
      2           "\"             0          "\0xDC"   #small  rev rounded e
      2           "@"             0          "\0xC0"   #small  yu
      2           "Q"             0          "\0xD1"   #small  ya