flatulent 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. data/README +41 -0
  2. data/flatulent-0.0.0.gem +0 -0
  3. data/gemspec.rb +28 -0
  4. data/lib/flatulent.rb +239 -0
  5. data/lib/flatulent/attributes.rb +79 -0
  6. data/lib/flatulent/fontfiles/banner.flf +2494 -0
  7. data/lib/flatulent/fontfiles/big.flf +2204 -0
  8. data/lib/flatulent/fontfiles/block.flf +1691 -0
  9. data/lib/flatulent/fontfiles/bubble.flf +1630 -0
  10. data/lib/flatulent/fontfiles/digital.flf +1286 -0
  11. data/lib/flatulent/fontfiles/ivrit.flf +900 -0
  12. data/lib/flatulent/fontfiles/lean.flf +1691 -0
  13. data/lib/flatulent/fontfiles/mini.flf +899 -0
  14. data/lib/flatulent/fontfiles/mnemonic.flf +3702 -0
  15. data/lib/flatulent/fontfiles/script.flf +1493 -0
  16. data/lib/flatulent/fontfiles/shadow.flf +1097 -0
  17. data/lib/flatulent/fontfiles/slant.flf +1295 -0
  18. data/lib/flatulent/fontfiles/small.flf +1097 -0
  19. data/lib/flatulent/fontfiles/smscript.flf +1097 -0
  20. data/lib/flatulent/fontfiles/smshadow.flf +899 -0
  21. data/lib/flatulent/fontfiles/smslant.flf +1097 -0
  22. data/lib/flatulent/fontfiles/standard.flf +2227 -0
  23. data/lib/flatulent/fontfiles/term.flf +600 -0
  24. data/lib/flatulent/pervasives.rb +32 -0
  25. data/lib/flatulent/text.rb +6 -0
  26. data/lib/flatulent/text/double_metaphone.rb +356 -0
  27. data/lib/flatulent/text/figlet.rb +17 -0
  28. data/lib/flatulent/text/figlet/font.rb +117 -0
  29. data/lib/flatulent/text/figlet/smusher.rb +64 -0
  30. data/lib/flatulent/text/figlet/typesetter.rb +68 -0
  31. data/lib/flatulent/text/levenshtein.rb +65 -0
  32. data/lib/flatulent/text/metaphone.rb +97 -0
  33. data/lib/flatulent/text/porter_stemming.rb +171 -0
  34. data/lib/flatulent/text/soundex.rb +61 -0
  35. data/rails/README +182 -0
  36. data/rails/Rakefile +10 -0
  37. data/rails/app/controllers/application.rb +7 -0
  38. data/rails/app/controllers/flatulent_controller.rb +20 -0
  39. data/rails/app/helpers/application_helper.rb +3 -0
  40. data/rails/app/helpers/flatulent_helper.rb +2 -0
  41. data/rails/config/boot.rb +45 -0
  42. data/rails/config/database.yml +36 -0
  43. data/rails/config/environment.rb +60 -0
  44. data/rails/config/environments/development.rb +21 -0
  45. data/rails/config/environments/production.rb +18 -0
  46. data/rails/config/environments/test.rb +19 -0
  47. data/rails/config/lighttpd.conf +54 -0
  48. data/rails/config/routes.rb +23 -0
  49. data/rails/doc/README_FOR_APP +2 -0
  50. data/rails/log/development.log +950 -0
  51. data/rails/log/fastcgi.crash.log +34 -0
  52. data/rails/log/lighttpd.access.log +65 -0
  53. data/rails/log/lighttpd.error.log +33 -0
  54. data/rails/log/production.log +0 -0
  55. data/rails/log/server.log +0 -0
  56. data/rails/log/test.log +0 -0
  57. data/rails/public/404.html +30 -0
  58. data/rails/public/500.html +30 -0
  59. data/rails/public/dispatch.cgi +10 -0
  60. data/rails/public/dispatch.fcgi +24 -0
  61. data/rails/public/dispatch.rb +10 -0
  62. data/rails/public/favicon.ico +0 -0
  63. data/rails/public/images/rails.png +0 -0
  64. data/rails/public/index.html +277 -0
  65. data/rails/public/javascripts/application.js +2 -0
  66. data/rails/public/javascripts/controls.js +833 -0
  67. data/rails/public/javascripts/dragdrop.js +942 -0
  68. data/rails/public/javascripts/effects.js +1088 -0
  69. data/rails/public/javascripts/prototype.js +2515 -0
  70. data/rails/public/robots.txt +1 -0
  71. data/rails/script/about +3 -0
  72. data/rails/script/breakpointer +3 -0
  73. data/rails/script/console +3 -0
  74. data/rails/script/destroy +3 -0
  75. data/rails/script/generate +3 -0
  76. data/rails/script/performance/benchmarker +3 -0
  77. data/rails/script/performance/profiler +3 -0
  78. data/rails/script/plugin +3 -0
  79. data/rails/script/process/inspector +3 -0
  80. data/rails/script/process/reaper +3 -0
  81. data/rails/script/process/spawner +3 -0
  82. data/rails/script/runner +3 -0
  83. data/rails/script/server +3 -0
  84. data/rails/test/functional/flatulent_controller_test.rb +18 -0
  85. data/rails/test/test_helper.rb +28 -0
  86. data/rails/tmp/sessions/ruby_sess.517c54e2d384126a +0 -0
  87. metadata +174 -0
data/README ADDED
@@ -0,0 +1,41 @@
1
+ NAME
2
+
3
+ flatulent : CAPTCHA for FIGLET.
4
+
5
+ SYNOPSIS
6
+
7
+ the flatulent gem provides brain dead simple ascii art captcha for ruby.
8
+
9
+ URI
10
+
11
+ http://codeforpeople.com/lib/ruby
12
+ http://rubyforge.org/projects/codeforpeople
13
+
14
+ INSTALL
15
+
16
+ gem install flatulent
17
+
18
+ EXAMPLE
19
+
20
+ def index
21
+ if params.has_key? 'flatulent'
22
+ Flatulent.validate! params
23
+ end
24
+
25
+ render :inline => <<-html
26
+ <html><body>
27
+
28
+ #{ Flatulent.form }
29
+
30
+ </body></html>
31
+ html
32
+ end
33
+
34
+ DOCS
35
+
36
+ see source in lib/*
37
+ see example rails project in ./rails
38
+
39
+ ONLINE SAMPLES
40
+
41
+ http://drawohara.tumblr.com/post/4791838
Binary file
data/gemspec.rb ADDED
@@ -0,0 +1,28 @@
1
+
2
+ lib, version = File::basename(File::dirname(File::expand_path(__FILE__))).split %r/-/, 2
3
+
4
+ require 'rubygems'
5
+
6
+ Gem::Specification::new do |spec|
7
+ $VERBOSE = nil
8
+ spec.name = lib
9
+ spec.version = version
10
+ spec.platform = Gem::Platform::RUBY
11
+ spec.summary = lib
12
+
13
+ spec.files = Dir::glob "**/**"
14
+ spec.executables = Dir::glob("bin/*").map{|exe| File::basename exe}
15
+
16
+ spec.require_path = "lib"
17
+ spec.autorequire = lib
18
+
19
+ spec.has_rdoc = File::exist? "doc"
20
+ spec.test_suite_file = "test/#{ lib }.rb" if File::directory? "test"
21
+ #spec.add_dependency 'lib', '>= version'
22
+
23
+ spec.extensions << "extconf.rb" if File::exists? "extconf.rb"
24
+
25
+ spec.author = "Ara T. Howard"
26
+ spec.email = "ara.t.howard@gmail.com"
27
+ spec.homepage = "http://codeforpeople.com/lib/ruby/#{ lib }/"
28
+ end
data/lib/flatulent.rb ADDED
@@ -0,0 +1,239 @@
1
+ require 'digest/md5'
2
+
3
+ libdir = File.expand_path(__FILE__).gsub(%r/\.rb$/, '') + File::SEPARATOR
4
+
5
+ begin
6
+ require 'rubygems'
7
+ rescue LoadError
8
+ end
9
+
10
+ begin
11
+ require 'text/figlet'
12
+ rescue LoadError
13
+ require libdir + 'text/figlet'
14
+ end
15
+
16
+ begin
17
+ require 'pervasives'
18
+ rescue LoadError
19
+ require libdir + 'pervasives'
20
+ end
21
+
22
+ begin
23
+ require 'attributes'
24
+ rescue LoadError
25
+ require libdir + 'attributes'
26
+ end
27
+
28
+ class Flatulent
29
+ singleton_class =
30
+ class << self
31
+ self
32
+ end
33
+
34
+ singleton_class.module_eval do
35
+ attribute('libdir'){ File.expand_path(__FILE__).gsub(%r/\.rb$/, '') }
36
+
37
+ attribute('fontdir'){ File.join libdir, 'fontfiles' }
38
+
39
+ attribute('style'){ Hash[
40
+ 'white-space' => 'pre,nowrap',
41
+ 'font-family' => 'monospace',
42
+ 'font-weight' => 'bold',
43
+ 'display' => 'table',
44
+ 'padding' => '11px',
45
+ 'background' => '#ffc',
46
+ 'color' => 'blue',
47
+ ] }
48
+
49
+ attribute('noise_style'){ Hash[
50
+ 'color' => '#ccc',
51
+ 'font-style' => 'oblique',
52
+ ] }
53
+ end
54
+
55
+ singleton_class.attributes.each{|a| attribute(a){ self.class.send a}}
56
+
57
+ attr 'string'
58
+
59
+ def initialize keywords = {}
60
+ opt = getopts keywords
61
+
62
+ @size = opt[ 'size', 4 ]
63
+ @string = opt[ 'string', generate_random_string ]
64
+ @font = opt[ 'font', 'big' ]
65
+ @noise = opt[ 'noise', 0.04 ]
66
+ @no_table = opt[ 'no_table', false ]
67
+ @id = opt[ 'id', 'flatulent' ]
68
+ @action = opt[ 'action' ]
69
+ @ttl = Integer opt[ 'ttl', 5 * 60 ] # seconds!
70
+
71
+ figlet!
72
+ element!
73
+ form_tags!
74
+ form!
75
+ end
76
+
77
+ def generate_random_string
78
+ chars = ('A' .. 'Z').to_a + ('1' .. '9').to_a ### zero is too much like o/O
79
+ Array.new(@size).map{ chars[rand(chars.size - 1)]}.join #.join(' ')
80
+ end
81
+
82
+ def getopts options
83
+ self.class.getopts options
84
+ end
85
+
86
+ def figlet!
87
+ spaced = @string.split(%r//).join(' ')
88
+ fontfile = File.join fontdir, "#{ @font }.flf"
89
+ font = Text::Figlet::Font.new fontfile
90
+ typesetter = Text::Figlet::Typesetter.new font
91
+ @figlet = typesetter[spaced]
92
+ end
93
+ attr 'figlet'
94
+
95
+ def element!
96
+ rows = []
97
+ rows << (row = [])
98
+ chars = @figlet.split %r//
99
+ size = chars.size
100
+ last = size - 1
101
+
102
+ chars.each_with_index do |char, idx|
103
+ content =
104
+ case char
105
+ when %r/\n/o
106
+ "<br>"
107
+ when %r/\s/o
108
+ "&nbsp;"
109
+ when %r/([^\s])/o
110
+ $1
111
+ end
112
+ row << content
113
+ rows << (row = []) unless idx == last
114
+ end
115
+
116
+ (@noise * chars.size).ceil.times do
117
+ y = rand(rows.size - 1)
118
+ x = rand(rows.first.size - 1)
119
+ next if rows[y][x] == '<br>'
120
+ printable = rand(126 - 33) + 33 + 1
121
+ rows[y][x] = "<span 'style=#{ noise_css }'>#{ printable.chr }</span>"
122
+ end
123
+
124
+ content = rows.join
125
+ @element = "<pre id='#{ @id }_element' style='#{ css }'>#{ content }</pre>"
126
+ end
127
+ attr 'element'
128
+
129
+ def css
130
+ style.map{|kv| kv.join ':'}.join ';'
131
+ end
132
+ def noise_css
133
+ noise_style.map{|kv| kv.join ':'}.join ';'
134
+ end
135
+
136
+ def form_tags!
137
+ n = @string.scan(%r/\w/).size
138
+ @form_tags = <<-html
139
+ #{ element }
140
+ <p id='#{ @id }_instructions'>
141
+ Please enter the #{ n } large characters shown.
142
+ </p>
143
+ <input type='textarea' name='#{ @id }[t]' id='#{ @id }_textarea' />
144
+ <input type='hidden' name='#{ @id }[m]' id='#{ @id }_m' value='#{ md5 }' />
145
+ <input type='hidden' name='#{ @id }[v]' id='#{ @id }_v' value='#{ valid_until }' />
146
+ html
147
+ end
148
+ attr 'form_tags'
149
+
150
+ def md5
151
+ Digest::MD5.hexdigest munge(@string)
152
+ end
153
+
154
+ def munge string
155
+ self.class.munge string
156
+ end
157
+ def self.munge string
158
+ string.downcase.strip.gsub(%r/[0Oo]/, '0') ### note that 0 (zero) looks like O and o
159
+ end
160
+
161
+ def valid_until
162
+ Time.now.to_i + @ttl
163
+ end
164
+
165
+ def form!
166
+ action = "action='#{ @action }'"
167
+ @form = <<-html
168
+ <form method='post' #{ action }>
169
+ #{ form_tags }
170
+ <input type='submit' name='#{ @id }[submit]' id='#{ @id }_submit' value='Submit' />
171
+ </form>
172
+ html
173
+ end
174
+ attr 'form'
175
+ alias_method 'to_html', 'form'
176
+
177
+ def to_html
178
+ @element
179
+ end
180
+
181
+ def to_s
182
+ form
183
+ end
184
+
185
+ class MD5Error < ::StandardError; end
186
+ class TimeToLiveError < ::StandardError; end
187
+ TTLError = TimeToLiveError
188
+
189
+ def self.valid? keywords = {}
190
+ begin
191
+ validate! keywords
192
+ true
193
+ rescue MD5Error, TTLError
194
+ false
195
+ end
196
+ end
197
+
198
+ def self.validate! keywords = {}
199
+ keywords = keywords['flatulent'] if keywords.has_key?('flatulent')
200
+ keywords = keywords[:flatulent] if keywords.has_key?(:flatulent)
201
+
202
+ opts = getopts keywords
203
+
204
+ textarea = opts['t']
205
+ md5 = opts['m']
206
+ timestamp = Integer opts['v']
207
+
208
+ raise MD5Error unless Digest::MD5.hexdigest(munge(textarea)) == md5
209
+ raise TimeToLiveError unless Time.now.utc <= Time.at(timestamp).utc
210
+ true
211
+ end
212
+
213
+ def self.getopts options
214
+ lambda do |key, *default|
215
+ default = default.first
216
+ break options[key] if options.has_key?(key)
217
+ key = key.to_s
218
+ break options[key] if options.has_key?(key)
219
+ key = key.to_sym
220
+ break options[key] if options.has_key?(key)
221
+ break default
222
+ end
223
+ end
224
+
225
+ def self.form options = {}
226
+ new(options).form
227
+ end
228
+ def self.element options = {}
229
+ new(options).element
230
+ end
231
+ def self.form_tags options = {}
232
+ new(options).form_tags
233
+ end
234
+ def self.figlet options = {}
235
+ new(options).figlet
236
+ end
237
+ end
238
+
239
+ def Flatulent(*a, &b) Flatulent.new(*a, &b) end
@@ -0,0 +1,79 @@
1
+ require 'pervasives'
2
+
3
+ module Attributes
4
+ VERSION = '3.5.0'
5
+ def self.version() VERSION end
6
+
7
+ def attributes *a, &b
8
+ unless a.empty?
9
+ hashes, names = a.partition{|x| Hash === x}
10
+
11
+ names_and_defaults = {}
12
+ hashes.each{|h| names_and_defaults.update h}
13
+ names.flatten.compact.each{|name| names_and_defaults.update name => nil}
14
+
15
+ names_and_defaults.each do |name, default|
16
+ init = b || lambda { default }
17
+ ivar, getter, setter, query, banger =
18
+ "@#{ name }", "#{ name }", "#{ name }=", "#{ name }?", "#{ name }!"
19
+
20
+ define_method(setter) do |value|
21
+ __pervasive__('instance_variable_set', ivar, value)
22
+ end
23
+
24
+ define_method(getter) do |*value|
25
+ unless value.empty?
26
+ __pervasive__('send', setter, value.shift)
27
+ else
28
+ defined = __pervasive__('instance_eval', "defined? #{ ivar }")
29
+ __pervasive__('send', setter, __pervasive__('instance_eval', &init)) unless defined
30
+ __pervasive__('instance_variable_get', ivar)
31
+ end
32
+ end
33
+
34
+ define_method(banger) do
35
+ __pervasive__('send', setter, __pervasive__('instance_eval', &init))
36
+ __pervasive__('instance_variable_get', ivar)
37
+ end
38
+
39
+ alias_method query, getter
40
+
41
+ (attributes << name.to_s).uniq!
42
+ attributes
43
+ end
44
+ else
45
+ begin
46
+ __attribute_list__
47
+ rescue NameError
48
+ singleton_class =
49
+ class << self
50
+ self
51
+ end
52
+ klass = self
53
+ singleton_class.module_eval do
54
+ attribute_list = []
55
+ define_method('attribute_list'){ klass == self ? attribute_list : raise(NameError) }
56
+ alias_method '__attribute_list__', 'attribute_list'
57
+ end
58
+ __attribute_list__
59
+ end
60
+ end
61
+ end
62
+
63
+ %w( __attributes__ __attribute__ attribute ).each{|dst| alias_method dst, 'attributes'}
64
+ end
65
+
66
+ class Object
67
+ def attributes *a, &b
68
+ sc =
69
+ class << self
70
+ self
71
+ end
72
+ sc.attributes *a, &b
73
+ end
74
+ %w( __attributes__ __attribute__ attribute ).each{|dst| alias_method dst, 'attributes'}
75
+ end
76
+
77
+ class Module
78
+ include Attributes
79
+ end
@@ -0,0 +1,2494 @@
1
+ flf2a$ 8 7 54 0 12 0 64 185
2
+ banner.flf version 2 by Ryan Youck (youck@cs.uregina.ca)
3
+ (From a unix program called banner)
4
+ I am not responsible for use of this font
5
+ Thanks to Glenn Chappell for his help
6
+ Katakana characters by Vinney Thai <ssfiit@eris.cs.umb.edu>
7
+ Cyrillic characters from "koi8x8" BDF font.
8
+ Date: August 11, 1994
9
+
10
+ Merged by John Cowan <cowan@ccil.org>
11
+ Modified by Paul Burton <solution@earthlink.net> 12/96 to include new parameter
12
+ supported by FIGlet and FIGWin. May also be slightly modified for better use
13
+ of new full-width/kern/smush alternatives, but default output is NOT changed.
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
+ $@@
142
+ ### $@
143
+ # # $@
144
+ # #$@
145
+ # #$@
146
+ # #$@
147
+ # # $@
148
+ ### $@
149
+ $@@
150
+ # $@
151
+ ## $@
152
+ # # $@
153
+ # $@
154
+ # $@
155
+ # $@
156
+ #####$@
157
+ $@@
158
+ ##### $@
159
+ # #$@
160
+ #$@
161
+ ##### $@
162
+ # $@
163
+ # $@
164
+ #######$@
165
+ $@@
166
+ ##### $@
167
+ # #$@
168
+ #$@
169
+ ##### $@
170
+ #$@
171
+ # #$@
172
+ ##### $@
173
+ $@@
174
+ # $@
175
+ # # $@
176
+ # # $@
177
+ # # $@
178
+ #######$@
179
+ # $@
180
+ # $@
181
+ $@@
182
+ #######$@
183
+ # $@
184
+ # $@
185
+ ###### $@
186
+ #$@
187
+ # #$@
188
+ ##### $@
189
+ $@@
190
+ ##### $@
191
+ # #$@
192
+ # $@
193
+ ###### $@
194
+ # #$@
195
+ # #$@
196
+ ##### $@
197
+ $@@
198
+ #######$@
199
+ # # $@
200
+ # $@
201
+ # $@
202
+ # $@
203
+ # $@
204
+ # $@
205
+ $@@
206
+ ##### $@
207
+ # #$@
208
+ # #$@
209
+ ##### $@
210
+ # #$@
211
+ # #$@
212
+ ##### $@
213
+ $@@
214
+ ##### $@
215
+ # #$@
216
+ # #$@
217
+ ######$@
218
+ #$@
219
+ # #$@
220
+ ##### $@
221
+ $@@
222
+ # $@
223
+ ###$@
224
+ # $@
225
+ $@
226
+ # $@
227
+ ###$@
228
+ # $@
229
+ $@@
230
+ $@
231
+ ###$@
232
+ ###$@
233
+ $@
234
+ ###$@
235
+ ###$@
236
+ # $@
237
+ # $@@
238
+ #$@
239
+ # $@
240
+ # $@
241
+ # $@
242
+ # $@
243
+ # $@
244
+ #$@
245
+ $@@
246
+ $@
247
+ $@
248
+ #####$@
249
+ $@
250
+ #####$@
251
+ $@
252
+ $@
253
+ $@@
254
+ # $@
255
+ # $@
256
+ # $@
257
+ #$@
258
+ # $@
259
+ # $@
260
+ # $@
261
+ $@@
262
+ ##### $@
263
+ # #$@
264
+ #$@
265
+ ### $@
266
+ # $@
267
+ $@
268
+ # $@
269
+ $@@
270
+ ##### $@
271
+ # #$@
272
+ # ### #$@
273
+ # ### #$@
274
+ # #### $@
275
+ # $@
276
+ ##### $@
277
+ $@@
278
+ # $@
279
+ # # $@
280
+ # # $@
281
+ # #$@
282
+ #######$@
283
+ # #$@
284
+ # #$@
285
+ $@@
286
+ ###### $@
287
+ # #$@
288
+ # #$@
289
+ ###### $@
290
+ # #$@
291
+ # #$@
292
+ ###### $@
293
+ $@@
294
+ ##### $@
295
+ # #$@
296
+ # $@
297
+ # $@
298
+ # $@
299
+ # #$@
300
+ ##### $@
301
+ $@@
302
+ ###### $@
303
+ # #$@
304
+ # #$@
305
+ # #$@
306
+ # #$@
307
+ # #$@
308
+ ###### $@
309
+ $@@
310
+ #######$@
311
+ # $@
312
+ # $@
313
+ ##### $@
314
+ # $@
315
+ # $@
316
+ #######$@
317
+ $@@
318
+ #######$@
319
+ # $@
320
+ # $@
321
+ ##### $@
322
+ # $@
323
+ # $@
324
+ # $@
325
+ $@@
326
+ ##### $@
327
+ # #$@
328
+ # $@
329
+ # ####$@
330
+ # #$@
331
+ # #$@
332
+ ##### $@
333
+ $@@
334
+ # #$@
335
+ # #$@
336
+ # #$@
337
+ #######$@
338
+ # #$@
339
+ # #$@
340
+ # #$@
341
+ $@@
342
+ ###$@
343
+ # $@
344
+ # $@
345
+ # $@
346
+ # $@
347
+ # $@
348
+ ###$@
349
+ $@@
350
+ #$@
351
+ #$@
352
+ #$@
353
+ #$@
354
+ # #$@
355
+ # #$@
356
+ ##### $@
357
+ $@@
358
+ # #$@
359
+ # # $@
360
+ # # $@
361
+ ### $@
362
+ # # $@
363
+ # # $@
364
+ # #$@
365
+ $@@
366
+ # $@
367
+ # $@
368
+ # $@
369
+ # $@
370
+ # $@
371
+ # $@
372
+ #######$@
373
+ $@@
374
+ # #$@
375
+ ## ##$@
376
+ # # # #$@
377
+ # # #$@
378
+ # #$@
379
+ # #$@
380
+ # #$@
381
+ $@@
382
+ # #$@
383
+ ## #$@
384
+ # # #$@
385
+ # # #$@
386
+ # # #$@
387
+ # ##$@
388
+ # #$@
389
+ $@@
390
+ #######$@
391
+ # #$@
392
+ # #$@
393
+ # #$@
394
+ # #$@
395
+ # #$@
396
+ #######$@
397
+ $@@
398
+ ###### $@
399
+ # #$@
400
+ # #$@
401
+ ###### $@
402
+ # $@
403
+ # $@
404
+ # $@
405
+ $@@
406
+ ##### $@
407
+ # #$@
408
+ # #$@
409
+ # #$@
410
+ # # #$@
411
+ # # $@
412
+ #### #$@
413
+ $@@
414
+ ###### $@
415
+ # #$@
416
+ # #$@
417
+ ###### $@
418
+ # # $@
419
+ # # $@
420
+ # #$@
421
+ $@@
422
+ ##### $@
423
+ # #$@
424
+ # $@
425
+ ##### $@
426
+ #$@
427
+ # #$@
428
+ ##### $@
429
+ $@@
430
+ #######$@
431
+ # $@
432
+ # $@
433
+ # $@
434
+ # $@
435
+ # $@
436
+ # $@
437
+ $@@
438
+ # #$@
439
+ # #$@
440
+ # #$@
441
+ # #$@
442
+ # #$@
443
+ # #$@
444
+ ##### $@
445
+ $@@
446
+ # #$@
447
+ # #$@
448
+ # #$@
449
+ # #$@
450
+ # # $@
451
+ # # $@
452
+ # $@
453
+ $@@
454
+ # #$@
455
+ # # #$@
456
+ # # #$@
457
+ # # #$@
458
+ # # #$@
459
+ # # #$@
460
+ ## ## $@
461
+ $@@
462
+ # #$@
463
+ # # $@
464
+ # # $@
465
+ # $@
466
+ # # $@
467
+ # # $@
468
+ # #$@
469
+ $@@
470
+ # #$@
471
+ # # $@
472
+ # # $@
473
+ # $@
474
+ # $@
475
+ # $@
476
+ # $@
477
+ $@@
478
+ #######$@
479
+ # $@
480
+ # $@
481
+ # $@
482
+ # $@
483
+ # $@
484
+ #######$@
485
+ $@@
486
+ #####$@
487
+ # $@
488
+ # $@
489
+ # $@
490
+ # $@
491
+ # $@
492
+ #####$@
493
+ $@@
494
+ # $@
495
+ # $@
496
+ # $@
497
+ # $@
498
+ # $@
499
+ # $@
500
+ #$@
501
+ $@@
502
+ #####$@
503
+ #$@
504
+ #$@
505
+ #$@
506
+ #$@
507
+ #$@
508
+ #####$@
509
+ $@@
510
+ # $@
511
+ # # $@
512
+ # #$@
513
+ $@
514
+ $@
515
+ $@
516
+ $@
517
+ $@@
518
+ $@
519
+ $@
520
+ $@
521
+ $@
522
+ $@
523
+ $@
524
+ $@
525
+ #######$@@
526
+ ###$@
527
+ ###$@
528
+ # $@
529
+ #$@
530
+ $@
531
+ $@
532
+ $@
533
+ $@@
534
+ $@
535
+ ## $@
536
+ # # $@
537
+ # #$@
538
+ ######$@
539
+ # #$@
540
+ # #$@
541
+ $@@
542
+ $@
543
+ ##### $@
544
+ # #$@
545
+ ##### $@
546
+ # #$@
547
+ # #$@
548
+ ##### $@
549
+ $@@
550
+ $@
551
+ #### $@
552
+ # #$@
553
+ # $@
554
+ # $@
555
+ # #$@
556
+ #### $@
557
+ $@@
558
+ $@
559
+ ##### $@
560
+ # #$@
561
+ # #$@
562
+ # #$@
563
+ # #$@
564
+ ##### $@
565
+ $@@
566
+ $@
567
+ ######$@
568
+ # $@
569
+ ##### $@
570
+ # $@
571
+ # $@
572
+ ######$@
573
+ $@@
574
+ $@
575
+ ######$@
576
+ # $@
577
+ ##### $@
578
+ # $@
579
+ # $@
580
+ # $@
581
+ $@@
582
+ $@
583
+ #### $@
584
+ # #$@
585
+ # $@
586
+ # ###$@
587
+ # #$@
588
+ #### $@
589
+ $@@
590
+ $@
591
+ # #$@
592
+ # #$@
593
+ ######$@
594
+ # #$@
595
+ # #$@
596
+ # #$@
597
+ $@@
598
+ $@
599
+ #$@
600
+ #$@
601
+ #$@
602
+ #$@
603
+ #$@
604
+ #$@
605
+ $@@
606
+ $@
607
+ #$@
608
+ #$@
609
+ #$@
610
+ #$@
611
+ # #$@
612
+ #### $@
613
+ $@@
614
+ $@
615
+ # #$@
616
+ # # $@
617
+ #### $@
618
+ # # $@
619
+ # # $@
620
+ # #$@
621
+ $@@
622
+ $@
623
+ # $@
624
+ # $@
625
+ # $@
626
+ # $@
627
+ # $@
628
+ ######$@
629
+ $@@
630
+ $@
631
+ # #$@
632
+ ## ##$@
633
+ # ## #$@
634
+ # #$@
635
+ # #$@
636
+ # #$@
637
+ $@@
638
+ $@
639
+ # #$@
640
+ ## #$@
641
+ # # #$@
642
+ # # #$@
643
+ # ##$@
644
+ # #$@
645
+ $@@
646
+ $@
647
+ #### $@
648
+ # #$@
649
+ # #$@
650
+ # #$@
651
+ # #$@
652
+ #### $@
653
+ $@@
654
+ $@
655
+ ##### $@
656
+ # #$@
657
+ # #$@
658
+ ##### $@
659
+ # $@
660
+ # $@
661
+ $@@
662
+ $@
663
+ #### $@
664
+ # #$@
665
+ # #$@
666
+ # # #$@
667
+ # # $@
668
+ ### #$@
669
+ $@@
670
+ $@
671
+ ##### $@
672
+ # #$@
673
+ # #$@
674
+ ##### $@
675
+ # # $@
676
+ # #$@
677
+ $@@
678
+ $@
679
+ #### $@
680
+ # $@
681
+ #### $@
682
+ #$@
683
+ # #$@
684
+ #### $@
685
+ $@@
686
+ $@
687
+ #####$@
688
+ # $@
689
+ # $@
690
+ # $@
691
+ # $@
692
+ # $@
693
+ $@@
694
+ $@
695
+ # #$@
696
+ # #$@
697
+ # #$@
698
+ # #$@
699
+ # #$@
700
+ #### $@
701
+ $@@
702
+ $@
703
+ # #$@
704
+ # #$@
705
+ # #$@
706
+ # #$@
707
+ # # $@
708
+ ## $@
709
+ $@@
710
+ $@
711
+ # #$@
712
+ # #$@
713
+ # #$@
714
+ # ## #$@
715
+ ## ##$@
716
+ # #$@
717
+ $@@
718
+ $@
719
+ # #$@
720
+ # # $@
721
+ ## $@
722
+ ## $@
723
+ # # $@
724
+ # #$@
725
+ $@@
726
+ $@
727
+ # #$@
728
+ # # $@
729
+ # $@
730
+ # $@
731
+ # $@
732
+ # $@
733
+ $@@
734
+ $@
735
+ ######$@
736
+ # $@
737
+ # $@
738
+ # $@
739
+ # $@
740
+ ######$@
741
+ $@@
742
+ ###$@
743
+ # $@
744
+ # $@
745
+ ## $@
746
+ # $@
747
+ # $@
748
+ ###$@
749
+ $@@
750
+ #$@
751
+ #$@
752
+ #$@
753
+ $@
754
+ #$@
755
+ #$@
756
+ #$@
757
+ $@@
758
+ ### $@
759
+ # $@
760
+ # $@
761
+ ##$@
762
+ # $@
763
+ # $@
764
+ ### $@
765
+ $@@
766
+ ## $@
767
+ # # #$@
768
+ ## $@
769
+ $@
770
+ $@
771
+ $@
772
+ $@
773
+ $@@
774
+ # # #$@
775
+ # # $@
776
+ # # $@
777
+ # #$@
778
+ #######$@
779
+ # #$@
780
+ # #$@
781
+ $@@
782
+ # #$@
783
+ ##### $@
784
+ # #$@
785
+ # #$@
786
+ # #$@
787
+ # #$@
788
+ ##### $@
789
+ $@@
790
+ # #$@
791
+ $@
792
+ # #$@
793
+ # #$@
794
+ # #$@
795
+ # #$@
796
+ ##### $@
797
+ $@@
798
+ $@
799
+ # #$@
800
+ #### $@
801
+ # #$@
802
+ ######$@
803
+ # #$@
804
+ # #$@
805
+ $@@
806
+ $@
807
+ # #$@
808
+ #### $@
809
+ # #$@
810
+ # #$@
811
+ # #$@
812
+ #### $@
813
+ $@@
814
+ $@
815
+ # #$@
816
+ $@
817
+ # #$@
818
+ # #$@
819
+ # #$@
820
+ #### $@
821
+ $@@
822
+ ###### $@
823
+ # #$@
824
+ # #$@
825
+ ###### $@
826
+ # #$@
827
+ # #$@
828
+ ###### $@
829
+ # $@@
830
+ 160 NO-BREAK SPACE
831
+ $@
832
+ $@
833
+ $@
834
+ $@
835
+ ########$@
836
+ ## $@
837
+ ## $@
838
+ ## $@@
839
+ 169 COPYRIGHT SIGN
840
+ $@
841
+ $@
842
+ $@
843
+ $@
844
+ $@
845
+ $@
846
+ $@
847
+ $@@
848
+ 176 DEGREE SIGN
849
+ $@
850
+ $@
851
+ $@
852
+ $@
853
+ ########$@
854
+ $@
855
+ $@
856
+ $@@
857
+ 178 SUPERSCRIPT TWO
858
+ ## $@
859
+ ## $@
860
+ ## $@
861
+ ## $@
862
+ ########$@
863
+ ## $@
864
+ ## $@
865
+ ## $@@
866
+ 183 MIDDLE DOT
867
+ ## $@
868
+ ## $@
869
+ #####$@
870
+ ## $@
871
+ #####$@
872
+ ## $@
873
+ ## $@
874
+ ## $@@
875
+ 196 LATIN CAPITAL LETTER A WITH DIAERESIS
876
+ # # #$@
877
+ # # $@
878
+ # # $@
879
+ # #$@
880
+ #######$@
881
+ # #$@
882
+ # #$@
883
+ $@@
884
+ 214 LATIN CAPITAL LETTER O WITH DIAERESIS
885
+ # #$@
886
+ ##### $@
887
+ # #$@
888
+ # #$@
889
+ # #$@
890
+ # #$@
891
+ ##### $@
892
+ $@@
893
+ 220 LATIN CAPITAL LETTER U WITH DIAERESIS
894
+ # #$@
895
+ $@
896
+ # #$@
897
+ # #$@
898
+ # #$@
899
+ # #$@
900
+ ##### $@
901
+ $@@
902
+ 223 LATIN SMALL LETTER SHARP S
903
+ ###### $@
904
+ # #$@
905
+ # #$@
906
+ ###### $@
907
+ # #$@
908
+ # #$@
909
+ ###### $@
910
+ # $@@
911
+ 228 LATIN SMALL LETTER A WITH DIAERESIS
912
+ $@
913
+ # #$@
914
+ #### $@
915
+ # #$@
916
+ ######$@
917
+ # #$@
918
+ # #$@
919
+ $@@
920
+ 246 LATIN SMALL LETTER O WITH DIAERESIS
921
+ $@
922
+ # #$@
923
+ #### $@
924
+ # #$@
925
+ # #$@
926
+ # #$@
927
+ #### $@
928
+ $@@
929
+ 247 DIVISION SIGN
930
+ #### $@
931
+ #### $@
932
+ #### $@
933
+ #### $@
934
+ #####$@
935
+ #### $@
936
+ #### $@
937
+ #### $@@
938
+ 252 LATIN SMALL LETTER U WITH DIAERESIS
939
+ $@
940
+ # #$@
941
+ $@
942
+ # #$@
943
+ # #$@
944
+ # #$@
945
+ #### $@
946
+ $@@
947
+ 0x0401 CYRILLIC CAPITAL LETTER IO
948
+ ########$@
949
+ ########$@
950
+ ########$@
951
+ ########$@
952
+ ########$@
953
+ ########$@
954
+ ########$@
955
+ ########$@@
956
+ 0x0410 CYRILLIC CAPITAL LETTER A
957
+ ####$@
958
+ ## ##$@
959
+ ## ##$@
960
+ ## ##$@
961
+ #######$@
962
+ ## ##$@
963
+ ## ##$@
964
+ $@@
965
+ 0x0411 CYRILLIC CAPITAL LETTER BE
966
+ #######$@
967
+ ## $@
968
+ ## $@
969
+ ###### $@
970
+ ## ##$@
971
+ ## ##$@
972
+ ###### $@
973
+ $@@
974
+ 0x0412 CYRILLIC CAPITAL LETTER VE
975
+ ###### $@
976
+ ## ##$@
977
+ ## ##$@
978
+ ###### $@
979
+ ## ##$@
980
+ ## ##$@
981
+ ###### $@
982
+ $@@
983
+ 0x0413 CYRILLIC CAPITAL LETTER GHE
984
+ #######$@
985
+ ## $@
986
+ ## $@
987
+ ## $@
988
+ ## $@
989
+ ## $@
990
+ ## $@
991
+ $@@
992
+ 0x0414 CYRILLIC CAPITAL LETTER DE
993
+ #### $@
994
+ ## ## $@
995
+ ## ## $@
996
+ ## ## $@
997
+ ## ## $@
998
+ #######$@
999
+ ## ##$@
1000
+ $@@
1001
+ 0x0415 CYRILLIC CAPITAL LETTER IE
1002
+ #######$@
1003
+ ## $@
1004
+ ## $@
1005
+ ###### $@
1006
+ ## $@
1007
+ ## $@
1008
+ #######$@
1009
+ $@@
1010
+ 0x0416 CYRILLIC CAPITAL LETTER ZHE
1011
+ ## # ##$@
1012
+ # # # $@
1013
+ ### $@
1014
+ ### $@
1015
+ # # # $@
1016
+ # # # $@
1017
+ ## # ##$@
1018
+ $@@
1019
+ 0x0417 CYRILLIC CAPITAL LETTER ZE
1020
+ ##### $@
1021
+ ## ##$@
1022
+ ##$@
1023
+ ## $@
1024
+ ##$@
1025
+ ## ##$@
1026
+ ##### $@
1027
+ $@@
1028
+ 0x0418 CYRILLIC CAPITAL LETTER I
1029
+ ## ##$@
1030
+ ## ###$@
1031
+ ## ###$@
1032
+ ## # ##$@
1033
+ ### ##$@
1034
+ ## ##$@
1035
+ ## ##$@
1036
+ $@@
1037
+ 0x0419 CYRILLIC CAPITAL LETTER SHORT I
1038
+ ## ## #$@
1039
+ ## ##$@
1040
+ ## ###$@
1041
+ ## # ##$@
1042
+ ### ##$@
1043
+ ## ##$@
1044
+ ## ##$@
1045
+ $@@
1046
+ 0x041A CYRILLIC CAPITAL LETTER KA
1047
+ ## ##$@
1048
+ ## ## $@
1049
+ ## ## $@
1050
+ ##### $@
1051
+ ## ## $@
1052
+ ## ##$@
1053
+ ## ##$@
1054
+ $@@
1055
+ 0x041B CYRILLIC CAPITAL LETTER EL
1056
+ #####$@
1057
+ ## ##$@
1058
+ ## ##$@
1059
+ ## ##$@
1060
+ ## ##$@
1061
+ ## ##$@
1062
+ ## ##$@
1063
+ $@@
1064
+ 0x041C CYRILLIC CAPITAL LETTER EM
1065
+ ## ##$@
1066
+ ## ##$@
1067
+ ### ###$@
1068
+ ## # ##$@
1069
+ ## ##$@
1070
+ ## ##$@
1071
+ ## ##$@
1072
+ $@@
1073
+ 0x041D CYRILLIC CAPITAL LETTER EN
1074
+ ## ##$@
1075
+ ## ##$@
1076
+ ## ##$@
1077
+ #######$@
1078
+ ## ##$@
1079
+ ## ##$@
1080
+ ## ##$@
1081
+ $@@
1082
+ 0x041E CYRILLIC CAPITAL LETTER O
1083
+ ##### $@
1084
+ ## ##$@
1085
+ ## ##$@
1086
+ ## ##$@
1087
+ ## ##$@
1088
+ ## ##$@
1089
+ ##### $@
1090
+ $@@
1091
+ 0x041F CYRILLIC CAPITAL LETTER PE
1092
+ #######$@
1093
+ ## ##$@
1094
+ ## ##$@
1095
+ ## ##$@
1096
+ ## ##$@
1097
+ ## ##$@
1098
+ ## ##$@
1099
+ $@@
1100
+ 0x0420 CYRILLIC CAPITAL LETTER ER
1101
+ ###### $@
1102
+ ## ##$@
1103
+ ## ##$@
1104
+ ###### $@
1105
+ ## $@
1106
+ ## $@
1107
+ ## $@
1108
+ $@@
1109
+ 0x0421 CYRILLIC CAPITAL LETTER ES
1110
+ ##### $@
1111
+ ## ##$@
1112
+ ## $@
1113
+ ## $@
1114
+ ## $@
1115
+ ## ##$@
1116
+ ##### $@
1117
+ $@@
1118
+ 0x0422 CYRILLIC CAPITAL LETTER TE
1119
+ ###### $@
1120
+ ## $@
1121
+ ## $@
1122
+ ## $@
1123
+ ## $@
1124
+ ## $@
1125
+ ## $@
1126
+ $@@
1127
+ 0x0423 CYRILLIC CAPITAL LETTER U
1128
+ ## ##$@
1129
+ ## ##$@
1130
+ ## ##$@
1131
+ ######$@
1132
+ ##$@
1133
+ ## ##$@
1134
+ ##### $@
1135
+ $@@
1136
+ 0x0424 CYRILLIC CAPITAL LETTER EF
1137
+ # $@
1138
+ ##### $@
1139
+ ## # ##$@
1140
+ ## # ##$@
1141
+ ## # ##$@
1142
+ ##### $@
1143
+ # $@
1144
+ $@@
1145
+ 0x0425 CYRILLIC CAPITAL LETTER HA
1146
+ ## ##$@
1147
+ ## ## $@
1148
+ ### $@
1149
+ ### $@
1150
+ ### $@
1151
+ ## ## $@
1152
+ ## ##$@
1153
+ $@@
1154
+ 0x0426 CYRILLIC CAPITAL LETTER TSE
1155
+ ## ## $@
1156
+ ## ## $@
1157
+ ## ## $@
1158
+ ## ## $@
1159
+ ## ## $@
1160
+ ## ## $@
1161
+ #######$@
1162
+ #$@@
1163
+ 0x0427 CYRILLIC CAPITAL LETTER CHE
1164
+ ## ##$@
1165
+ ## ##$@
1166
+ ## ##$@
1167
+ ######$@
1168
+ ##$@
1169
+ ##$@
1170
+ ##$@
1171
+ $@@
1172
+ 0x0428 CYRILLIC CAPITAL LETTER SHA
1173
+ ## # ##$@
1174
+ ## # ##$@
1175
+ ## # ##$@
1176
+ ## # ##$@
1177
+ ## # ##$@
1178
+ ## # ##$@
1179
+ #######$@
1180
+ $@@
1181
+ 0x0429 CYRILLIC CAPITAL LETTER SHCHA
1182
+ ## # ##$@
1183
+ ## # ##$@
1184
+ ## # ##$@
1185
+ ## # ##$@
1186
+ ## # ##$@
1187
+ ## # ##$@
1188
+ #######$@
1189
+ #$@@
1190
+ 0x042A CYRILLIC CAPITAL LETTER HARD SIGN
1191
+ ### $@
1192
+ ### $@
1193
+ ## $@
1194
+ ##### $@
1195
+ ## ##$@
1196
+ ## ##$@
1197
+ ##### $@
1198
+ $@@
1199
+ 0x042B CYRILLIC CAPITAL LETTER YERU
1200
+ ## ##$@
1201
+ ## ##$@
1202
+ ## ##$@
1203
+ #### #$@
1204
+ ## # #$@
1205
+ ## # #$@
1206
+ #### #$@
1207
+ $@@
1208
+ 0x042C CYRILLIC CAPITAL LETTER SOFT SIGN
1209
+ ## $@
1210
+ ## $@
1211
+ ## $@
1212
+ ###### $@
1213
+ ## ##$@
1214
+ ## ##$@
1215
+ ###### $@
1216
+ $@@
1217
+ 0x042D CYRILLIC CAPITAL LETTER E
1218
+ ##### $@
1219
+ ## ##$@
1220
+ ##$@
1221
+ #####$@
1222
+ ##$@
1223
+ ## ##$@
1224
+ ##### $@
1225
+ $@@
1226
+ 0x042E CYRILLIC CAPITAL LETTER YU
1227
+ ## ## $@
1228
+ ## # ##$@
1229
+ ## # ##$@
1230
+ #### ##$@
1231
+ ## # ##$@
1232
+ ## # ##$@
1233
+ ## ## $@
1234
+ $@@
1235
+ 0x042F CYRILLIC CAPITAL LETTER YA
1236
+ #####$@
1237
+ ## ##$@
1238
+ ## ##$@
1239
+ #####$@
1240
+ ## ##$@
1241
+ ## ##$@
1242
+ ## ##$@
1243
+ $@@
1244
+ 0x0430 CYRILLIC SMALL LETTER A
1245
+ $@
1246
+ $@
1247
+ #### $@
1248
+ ## $@
1249
+ ##### $@
1250
+ ## ## $@
1251
+ ######$@
1252
+ $@@
1253
+ 0x0431 CYRILLIC SMALL LETTER BE
1254
+ $@
1255
+ ## $@
1256
+ #### $@
1257
+ ## $@
1258
+ ###### $@
1259
+ ## ##$@
1260
+ ##### $@
1261
+ $@@
1262
+ 0x0432 CYRILLIC SMALL LETTER VE
1263
+ $@
1264
+ $@
1265
+ ##### $@
1266
+ ## ## $@
1267
+ ###### $@
1268
+ ## ##$@
1269
+ ###### $@
1270
+ $@@
1271
+ 0x0433 CYRILLIC SMALL LETTER GHE
1272
+ $@
1273
+ $@
1274
+ ##### $@
1275
+ ##$@
1276
+ ##### $@
1277
+ ## $@
1278
+ ######$@
1279
+ $@@
1280
+ 0x0434 CYRILLIC SMALL LETTER DE
1281
+ $@
1282
+ #### $@
1283
+ ##$@
1284
+ #####$@
1285
+ ## ##$@
1286
+ ## ##$@
1287
+ ##### $@
1288
+ $@@
1289
+ 0x0435 CYRILLIC SMALL LETTER IE
1290
+ $@
1291
+ $@
1292
+ ##### $@
1293
+ ## ##$@
1294
+ ###### $@
1295
+ ## $@
1296
+ ##### $@
1297
+ $@@
1298
+ 0x0436 CYRILLIC SMALL LETTER ZHE
1299
+ $@
1300
+ $@
1301
+ ## # ##$@
1302
+ # # # $@
1303
+ ### $@
1304
+ # # # $@
1305
+ ## # ##$@
1306
+ $@@
1307
+ 0x0437 CYRILLIC SMALL LETTER ZE
1308
+ $@
1309
+ $@
1310
+ ##### $@
1311
+ ## ##$@
1312
+ ### $@
1313
+ ## ##$@
1314
+ ##### $@
1315
+ $@@
1316
+ 0x0438 CYRILLIC SMALL LETTER I
1317
+ $@
1318
+ $@
1319
+ ## ##$@
1320
+ ## ###$@
1321
+ ## # ##$@
1322
+ ### ##$@
1323
+ ## ##$@
1324
+ $@@
1325
+ 0x0439 CYRILLIC SMALL LETTER SHORT I
1326
+ $@
1327
+ ## $@
1328
+ ## ##$@
1329
+ ## ###$@
1330
+ ## # ##$@
1331
+ ### ##$@
1332
+ ## ##$@
1333
+ $@@
1334
+ 0x043A CYRILLIC SMALL LETTER KA
1335
+ $@
1336
+ $@
1337
+ ## ##$@
1338
+ ## ## $@
1339
+ ##### $@
1340
+ ## ## $@
1341
+ ## ##$@
1342
+ $@@
1343
+ 0x043B CYRILLIC SMALL LETTER EL
1344
+ $@
1345
+ $@
1346
+ #####$@
1347
+ ## ##$@
1348
+ ## ##$@
1349
+ ## ##$@
1350
+ ## ##$@
1351
+ $@@
1352
+ 0x043C CYRILLIC SMALL LETTER EM
1353
+ $@
1354
+ $@
1355
+ ## ##$@
1356
+ ### ###$@
1357
+ ## # ##$@
1358
+ ## ##$@
1359
+ ## ##$@
1360
+ $@@
1361
+ 0x043D CYRILLIC SMALL LETTER EN
1362
+ $@
1363
+ $@
1364
+ ## ##$@
1365
+ ## ##$@
1366
+ #######$@
1367
+ ## ##$@
1368
+ ## ##$@
1369
+ $@@
1370
+ 0x043E CYRILLIC SMALL LETTER O
1371
+ $@
1372
+ $@
1373
+ ##### $@
1374
+ ## ##$@
1375
+ ## ##$@
1376
+ ## ##$@
1377
+ ##### $@
1378
+ $@@
1379
+ 0x043F CYRILLIC SMALL LETTER PE
1380
+ $@
1381
+ $@
1382
+ ###### $@
1383
+ ## ##$@
1384
+ ## ##$@
1385
+ ## ##$@
1386
+ ## ##$@
1387
+ $@@
1388
+ 0x0440 CYRILLIC SMALL LETTER ER
1389
+ $@
1390
+ $@
1391
+ ###### $@
1392
+ ## ##$@
1393
+ ###### $@
1394
+ ## $@
1395
+ ## $@
1396
+ $@@
1397
+ 0x0441 CYRILLIC SMALL LETTER ES
1398
+ $@
1399
+ $@
1400
+ ##### $@
1401
+ ## $@
1402
+ ## $@
1403
+ ## $@
1404
+ ##### $@
1405
+ $@@
1406
+ 0x0442 CYRILLIC SMALL LETTER TE
1407
+ $@
1408
+ $@
1409
+ ###### $@
1410
+ ## $@
1411
+ ## $@
1412
+ ## $@
1413
+ ## $@
1414
+ $@@
1415
+ 0x0443 CYRILLIC SMALL LETTER U
1416
+ $@
1417
+ $@
1418
+ ## ##$@
1419
+ ## ##$@
1420
+ ## ##$@
1421
+ ######$@
1422
+ ##$@
1423
+ ##### $@@
1424
+ 0x0444 CYRILLIC SMALL LETTER EF
1425
+ $@
1426
+ # $@
1427
+ ##### $@
1428
+ ## # ##$@
1429
+ ## # ##$@
1430
+ ##### $@
1431
+ # $@
1432
+ $@@
1433
+ 0x0445 CYRILLIC SMALL LETTER HA
1434
+ $@
1435
+ $@
1436
+ ## ##$@
1437
+ ## ## $@
1438
+ ### $@
1439
+ ## ## $@
1440
+ ## ##$@
1441
+ $@@
1442
+ 0x0446 CYRILLIC SMALL LETTER TSE
1443
+ $@
1444
+ $@
1445
+ ## ##$@
1446
+ ## ##$@
1447
+ ## ##$@
1448
+ ## ## $@
1449
+ ### ##$@
1450
+ #$@@
1451
+ 0x0447 CYRILLIC SMALL LETTER CHE
1452
+ $@
1453
+ $@
1454
+ ## ##$@
1455
+ ## ##$@
1456
+ ######$@
1457
+ ##$@
1458
+ ##$@
1459
+ $@@
1460
+ 0x0448 CYRILLIC SMALL LETTER SHA
1461
+ $@
1462
+ $@
1463
+ ## # ##$@
1464
+ ## # ##$@
1465
+ ## # ##$@
1466
+ ## # ##$@
1467
+ #######$@
1468
+ $@@
1469
+ 0x0449 CYRILLIC SMALL LETTER SHCHA
1470
+ $@
1471
+ $@
1472
+ ## # ##$@
1473
+ ## # ##$@
1474
+ ## # ##$@
1475
+ ## # ##$@
1476
+ #######$@
1477
+ #$@@
1478
+ 0x044A CYRILLIC SMALL LETTER HARD SIGN
1479
+ $@
1480
+ $@
1481
+ ### $@
1482
+ ## $@
1483
+ ##### $@
1484
+ ## ##$@
1485
+ ##### $@
1486
+ $@@
1487
+ 0x044B CYRILLIC SMALL LETTER YERU
1488
+ $@
1489
+ $@
1490
+ ## ##$@
1491
+ ## ##$@
1492
+ #### #$@
1493
+ ## # #$@
1494
+ #### #$@
1495
+ $@@
1496
+ 0x044C CYRILLIC SMALL LETTER SOFT SIGN
1497
+ $@
1498
+ $@
1499
+ ## $@
1500
+ ## $@
1501
+ ###### $@
1502
+ ## ##$@
1503
+ ###### $@
1504
+ $@@
1505
+ 0x044D CYRILLIC SMALL LETTER E
1506
+ $@
1507
+ $@
1508
+ ###### $@
1509
+ ##$@
1510
+ #####$@
1511
+ ##$@
1512
+ ###### $@
1513
+ $@@
1514
+ 0x044E CYRILLIC SMALL LETTER YU
1515
+ $@
1516
+ $@
1517
+ # ### $@
1518
+ # ## ##$@
1519
+ #### ##$@
1520
+ # ## ##$@
1521
+ # ### $@
1522
+ $@@
1523
+ 0x044F CYRILLIC SMALL LETTER YA
1524
+ $@
1525
+ $@
1526
+ #####$@
1527
+ ## ##$@
1528
+ #####$@
1529
+ ## ##$@
1530
+ ## ##$@
1531
+ $@@
1532
+ 0x0451 CYRILLIC SMALL LETTER IO
1533
+ $@
1534
+ $@
1535
+ ########$@
1536
+ $@
1537
+ #### ###$@
1538
+ ## ## $@
1539
+ ## ## $@
1540
+ ## ## $@@
1541
+ 0x2219 BULLET OPERATOR
1542
+ ## ##$@
1543
+ ## ##$@
1544
+ ## ##$@
1545
+ ## ##$@
1546
+ #######$@
1547
+ $@
1548
+ $@
1549
+ $@@
1550
+ 0x221A SQUARE ROOT
1551
+ ## $@
1552
+ ## $@
1553
+ ##### $@
1554
+ ## $@
1555
+ ##### $@
1556
+ $@
1557
+ $@
1558
+ $@@
1559
+ 0x2248 ALMOST EQUAL TO
1560
+ $@
1561
+ $@
1562
+ $@
1563
+ $@
1564
+ ##### $@
1565
+ ## $@
1566
+ ## $@
1567
+ ## $@@
1568
+ 0x2264 LESS-THAN OR EQUAL TO
1569
+ ## $@
1570
+ ## $@
1571
+ ## $@
1572
+ ## $@
1573
+ #####$@
1574
+ $@
1575
+ $@
1576
+ $@@
1577
+ 0x2265 GREATER-THAN OR EQUAL TO
1578
+ ## $@
1579
+ ## $@
1580
+ ## $@
1581
+ ## $@
1582
+ ########$@
1583
+ $@
1584
+ $@
1585
+ $@@
1586
+ 0x2320 TOP HALF INTEGRAL
1587
+ $@
1588
+ $@
1589
+ #######$@
1590
+ ##$@
1591
+ #### ##$@
1592
+ ## ##$@
1593
+ ## ##$@
1594
+ ## ##$@@
1595
+ 0x2321 BOTTOM HALF INTEGRAL
1596
+ ## $@
1597
+ ## $@
1598
+ ## $@
1599
+ ## $@
1600
+ #####$@
1601
+ ## $@
1602
+ ## $@
1603
+ ## $@@
1604
+ 0x2500 BOX DRAWINGS LIGHT HORIZONTAL
1605
+ ## $@
1606
+ $@
1607
+ ## $@
1608
+ ## $@
1609
+ ## $@
1610
+ ## ##$@
1611
+ #### $@
1612
+ $@@
1613
+ 0x2502 BOX DRAWINGS LIGHT VERTICAL
1614
+ $@
1615
+ $@
1616
+ $@
1617
+ ######$@
1618
+ ## $@
1619
+ ## $@
1620
+ $@
1621
+ $@@
1622
+ 0x250C BOX DRAWINGS LIGHT DOWN AND RIGHT
1623
+ $@
1624
+ $@
1625
+ $@
1626
+ ######$@
1627
+ ##$@
1628
+ ##$@
1629
+ $@
1630
+ $@@
1631
+ 0x2510 BOX DRAWINGS LIGHT DOWN AND LEFT
1632
+ ## ##$@
1633
+ ## ## $@
1634
+ ## ## $@
1635
+ ## #### $@
1636
+ ## ##$@
1637
+ ## ## $@
1638
+ ## ## $@
1639
+ ####$@@
1640
+ 0x2514 BOX DRAWINGS LIGHT UP AND RIGHT
1641
+ ## ##$@
1642
+ ## ## $@
1643
+ ## ## $@
1644
+ ## ## ##$@
1645
+ ## ###$@
1646
+ ## ####$@
1647
+ ## ####$@
1648
+ ##$@@
1649
+ 0x2518 BOX DRAWINGS LIGHT UP AND LEFT
1650
+ ## $@
1651
+ ## $@
1652
+ $@
1653
+ ## $@
1654
+ ## $@
1655
+ ## $@
1656
+ ## $@
1657
+ $@@
1658
+ 0x251C BOX DRAWINGS LIGHT VERTICAL AND RIGHT
1659
+ $@
1660
+ ## ##$@
1661
+ ## ## $@
1662
+ ## ## $@
1663
+ ## ## $@
1664
+ ## ##$@
1665
+ $@
1666
+ $@@
1667
+ 0x2524 BOX DRAWINGS LIGHT VERTICAL AND LEFT
1668
+ $@
1669
+ ## ## $@
1670
+ ## ## $@
1671
+ ## ##$@
1672
+ ## ## $@
1673
+ ## ## $@
1674
+ $@
1675
+ $@@
1676
+ 0x252C BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
1677
+ # #$@
1678
+ # # $@
1679
+ # #$@
1680
+ # # $@
1681
+ # #$@
1682
+ # # $@
1683
+ # #$@
1684
+ # # $@@
1685
+ 0x2534 BOX DRAWINGS LIGHT UP AND HORIZONTAL
1686
+ # # # #$@
1687
+ # # # # $@
1688
+ # # # #$@
1689
+ # # # # $@
1690
+ # # # #$@
1691
+ # # # # $@
1692
+ # # # #$@
1693
+ # # # # $@@
1694
+ 0x253C BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
1695
+ ## ## ##$@
1696
+ ### ###$@
1697
+ ## ## ##$@
1698
+ ### ### $@
1699
+ ## ## ##$@
1700
+ ### ###$@
1701
+ ## ## ##$@
1702
+ ### ### $@@
1703
+ 0x2550 BOX DRAWINGS DOUBLE HORIZONTAL
1704
+ ## ## $@
1705
+ ## ## $@
1706
+ ## ###$@
1707
+ ## $@
1708
+ ######$@
1709
+ $@
1710
+ $@
1711
+ $@@
1712
+ 0x2551 BOX DRAWINGS DOUBLE VERTICAL
1713
+ $@
1714
+ $@
1715
+ ######$@
1716
+ ## $@
1717
+ ## ###$@
1718
+ ## ## $@
1719
+ ## ## $@
1720
+ ## ## $@@
1721
+ 0x2552 BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
1722
+ ## ## $@
1723
+ ## ## $@
1724
+ #### ###$@
1725
+ $@
1726
+ ########$@
1727
+ $@
1728
+ $@
1729
+ $@@
1730
+ 0x2553 BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
1731
+ #### $@
1732
+ #### $@
1733
+ #####$@
1734
+ ## $@
1735
+ #####$@
1736
+ #### $@
1737
+ #### $@
1738
+ #### $@@
1739
+ 0x2554 BOX DRAWINGS DOUBLE DOWN AND RIGHT
1740
+ $@
1741
+ $@
1742
+ ########$@
1743
+ $@
1744
+ ########$@
1745
+ $@
1746
+ $@
1747
+ $@@
1748
+ 0x2555 BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
1749
+ #### $@
1750
+ #### $@
1751
+ #######$@
1752
+ $@
1753
+ #######$@
1754
+ #### $@
1755
+ #### $@
1756
+ #### $@@
1757
+ 0x2556 BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
1758
+ ## $@
1759
+ ## $@
1760
+ ########$@
1761
+ $@
1762
+ ########$@
1763
+ $@
1764
+ $@
1765
+ $@@
1766
+ 0x2557 BOX DRAWINGS DOUBLE DOWN AND LEFT
1767
+ ## ## $@
1768
+ ## ## $@
1769
+ ## ## $@
1770
+ ## ## $@
1771
+ ########$@
1772
+ $@
1773
+ $@
1774
+ $@@
1775
+ 0x2558 BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
1776
+ $@
1777
+ $@
1778
+ ########$@
1779
+ $@
1780
+ ########$@
1781
+ ## $@
1782
+ ## $@
1783
+ ## $@@
1784
+ 0x2559 BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
1785
+ $@
1786
+ $@
1787
+ $@
1788
+ $@
1789
+ ########$@
1790
+ ## ## $@
1791
+ ## ## $@
1792
+ ## ## $@@
1793
+ 0x255A BOX DRAWINGS DOUBLE UP AND RIGHT
1794
+ ## ## $@
1795
+ ## ## $@
1796
+ ## ## $@
1797
+ ## ## $@
1798
+ ######$@
1799
+ $@
1800
+ $@
1801
+ $@@
1802
+ 0x255B BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
1803
+ ## $@
1804
+ ## $@
1805
+ #####$@
1806
+ ## $@
1807
+ #####$@
1808
+ $@
1809
+ $@
1810
+ $@@
1811
+ 0x255C BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
1812
+ $@
1813
+ $@
1814
+ #####$@
1815
+ ## $@
1816
+ #####$@
1817
+ ## $@
1818
+ ## $@
1819
+ ## $@@
1820
+ 0x255D BOX DRAWINGS DOUBLE UP AND LEFT
1821
+ $@
1822
+ $@
1823
+ $@
1824
+ $@
1825
+ ######$@
1826
+ ## ## $@
1827
+ ## ## $@
1828
+ ## ## $@@
1829
+ 0x255E BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
1830
+ ## ## $@
1831
+ ## ## $@
1832
+ ## ## $@
1833
+ ## ## $@
1834
+ ########$@
1835
+ ## ## $@
1836
+ ## ## $@
1837
+ ## ## $@@
1838
+ 0x255F BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
1839
+ ## $@
1840
+ ## $@
1841
+ ########$@
1842
+ ## $@
1843
+ ########$@
1844
+ ## $@
1845
+ ## $@
1846
+ ## $@@
1847
+ 0x2560 BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
1848
+ ## $@
1849
+ ## $@
1850
+ ## $@
1851
+ ## $@
1852
+ ##### $@
1853
+ $@
1854
+ $@
1855
+ $@@
1856
+ 0x2561 BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
1857
+ $@
1858
+ $@
1859
+ $@
1860
+ $@
1861
+ #####$@
1862
+ ## $@
1863
+ ## $@
1864
+ ## $@@
1865
+ 0x2562 BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
1866
+ $@
1867
+ $@
1868
+ $@
1869
+ $@
1870
+ ########$@
1871
+ ########$@
1872
+ ########$@
1873
+ ########$@@
1874
+ 0x2563 BOX DRAWINGS DOUBLE VERTICAL AND LEFT
1875
+ #### $@
1876
+ #### $@
1877
+ #### $@
1878
+ #### $@
1879
+ #### $@
1880
+ #### $@
1881
+ #### $@
1882
+ #### $@@
1883
+ 0x2564 BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
1884
+ ####$@
1885
+ ####$@
1886
+ ####$@
1887
+ ####$@
1888
+ ####$@
1889
+ ####$@
1890
+ ####$@
1891
+ ####$@@
1892
+ 0x2565 BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
1893
+ ########$@
1894
+ ########$@
1895
+ ########$@
1896
+ ########$@
1897
+ $@
1898
+ $@
1899
+ $@
1900
+ $@@
1901
+ 0x2566 BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
1902
+ ### $@
1903
+ ## ## $@
1904
+ ## ## $@
1905
+ ### $@
1906
+ $@
1907
+ $@
1908
+ $@
1909
+ $@@
1910
+ 0x2567 BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
1911
+ $@
1912
+ $@
1913
+ $@
1914
+ ## $@
1915
+ ## $@
1916
+ $@
1917
+ $@
1918
+ $@@
1919
+ 0x2568 BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
1920
+ $@
1921
+ $@
1922
+ $@
1923
+ $@
1924
+ ## $@
1925
+ $@
1926
+ $@
1927
+ $@@
1928
+ 0x2569 BOX DRAWINGS DOUBLE UP AND HORIZONTAL
1929
+ ####$@
1930
+ ## $@
1931
+ ## $@
1932
+ ## $@
1933
+ ### ## $@
1934
+ ## ## $@
1935
+ #### $@
1936
+ ### $@@
1937
+ 0x256A BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
1938
+ #### $@
1939
+ ## ## $@
1940
+ ## ## $@
1941
+ ## ## $@
1942
+ ## ## $@
1943
+ $@
1944
+ $@
1945
+ $@@
1946
+ 0x256B BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
1947
+ ### $@
1948
+ ## $@
1949
+ ## $@
1950
+ ## $@
1951
+ #### $@
1952
+ $@
1953
+ $@
1954
+ $@@
1955
+ 0x256C BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
1956
+ $@
1957
+ $@
1958
+ #### $@
1959
+ #### $@
1960
+ #### $@
1961
+ #### $@
1962
+ $@
1963
+ $@@
1964
+ 0x2580 UPPER HALF BLOCK
1965
+ ## $@
1966
+ ## $@
1967
+ ## $@
1968
+ ## $@
1969
+ ## $@
1970
+ ## $@
1971
+ ## $@
1972
+ ## $@@
1973
+ 0x2584 LOWER HALF BLOCK
1974
+ ## $@
1975
+ ## $@
1976
+ ## $@
1977
+ ## $@
1978
+ ##### $@
1979
+ ## $@
1980
+ ## $@
1981
+ ## $@@
1982
+ 0x2588 FULL BLOCK
1983
+ ## $@
1984
+ ## $@
1985
+ ##### $@
1986
+ ## $@
1987
+ ##### $@
1988
+ ## $@
1989
+ ## $@
1990
+ ## $@@
1991
+ 0x258C LEFT HALF BLOCK
1992
+ ####$@
1993
+ ####$@
1994
+ ####$@
1995
+ ####$@
1996
+ ######$@
1997
+ ####$@
1998
+ ####$@
1999
+ ####$@@
2000
+ 0x2590 RIGHT HALF BLOCK
2001
+ $@
2002
+ $@
2003
+ $@
2004
+ $@
2005
+ #######$@
2006
+ ## ##$@
2007
+ ## ##$@
2008
+ ## ##$@@
2009
+ 0x2591 LIGHT SHADE
2010
+ $@
2011
+ $@
2012
+ ##### $@
2013
+ ## $@
2014
+ ##### $@
2015
+ ## $@
2016
+ ## $@
2017
+ ## $@@
2018
+ 0x2592 MEDIUM SHADE
2019
+ ####$@
2020
+ ####$@
2021
+ ######$@
2022
+ ##$@
2023
+ ######$@
2024
+ ####$@
2025
+ ####$@
2026
+ ####$@@
2027
+ 0x2593 DARK SHADE
2028
+ ####$@
2029
+ ####$@
2030
+ ####$@
2031
+ ####$@
2032
+ ####$@
2033
+ ####$@
2034
+ ####$@
2035
+ ####$@@
2036
+ 0x25A0 BLACK SQUARE
2037
+ ## ##$@
2038
+ ## ##$@
2039
+ #### ##$@
2040
+ ##$@
2041
+ #######$@
2042
+ $@
2043
+ $@
2044
+ $@@
2045
+ 0x30A2 A
2046
+ ##########$@
2047
+ ### $@
2048
+ # $@
2049
+ # $@
2050
+ # $@
2051
+ # $@
2052
+ # $@
2053
+ $@@
2054
+ 0x30A4 I
2055
+ ##$@
2056
+ ## $@
2057
+ ## # $@
2058
+ ## # $@
2059
+ # $@
2060
+ # $@
2061
+ # $@
2062
+ $@@
2063
+ 0x30A6 U
2064
+ # $@
2065
+ ##########$@
2066
+ # #$@
2067
+ ## $@
2068
+ ## $@
2069
+ ## $@
2070
+ ## $@
2071
+ $@@
2072
+ 0x30A8 E
2073
+ $@
2074
+ ####### $@
2075
+ # $@
2076
+ # $@
2077
+ # $@
2078
+ # $@
2079
+ ##########$@
2080
+ $@@
2081
+ 0x30AA O
2082
+ # $@
2083
+ ##########$@
2084
+ ## $@
2085
+ ## # $@
2086
+ ## # $@
2087
+ ## ## $@
2088
+ # $@
2089
+ $@@
2090
+ 0x30AB KA
2091
+ # $@
2092
+ ##########$@
2093
+ # #$@
2094
+ # #$@
2095
+ # #$@
2096
+ # # # $@
2097
+ # # $@
2098
+ $@@
2099
+ 0x30AD KI
2100
+ # # $@
2101
+ # # $@
2102
+ # # # $@
2103
+ # $@
2104
+ # # $@
2105
+ # # $@
2106
+ #$@
2107
+ $@@
2108
+ 0x30AF KU
2109
+ # $@
2110
+ ########$@
2111
+ # #$@
2112
+ # ## $@
2113
+ ## $@
2114
+ ## $@
2115
+ ## $@
2116
+ $@@
2117
+ 0x30B1 KE
2118
+ # $@
2119
+ ########$@
2120
+ # # $@
2121
+ # # $@
2122
+ # $@
2123
+ # $@
2124
+ # $@
2125
+ $@@
2126
+ 0x30B3 KO
2127
+ $@
2128
+ ##########$@
2129
+ #$@
2130
+ #$@
2131
+ #$@
2132
+ #$@
2133
+ ######### $@
2134
+ $@@
2135
+ 0x30B5 SA
2136
+ # # $@
2137
+ ##########$@
2138
+ # # $@
2139
+ # $@
2140
+ # $@
2141
+ # $@
2142
+ # $@
2143
+ $@@
2144
+ 0x30B7 SI (SHI)
2145
+ # #$@
2146
+ # # # $@
2147
+ # # $@
2148
+ ## $@
2149
+ ## $@
2150
+ ## $@
2151
+ ## $@
2152
+ $@@
2153
+ 0x30B9 SU
2154
+ ########$@
2155
+ #$@
2156
+ # $@
2157
+ ## $@
2158
+ ## # $@
2159
+ ## # $@
2160
+ # #$@
2161
+ $@@
2162
+ 0x30BB SE
2163
+ # $@
2164
+ # $@
2165
+ ##########$@
2166
+ # # $@
2167
+ # $@
2168
+ # $@
2169
+ ###### $@
2170
+ $@@
2171
+ 0x30BD SO
2172
+ # #$@
2173
+ # #$@
2174
+ # $@
2175
+ # $@
2176
+ ## $@
2177
+ ## $@
2178
+ ## $@
2179
+ $@@
2180
+ 0x30BF TA
2181
+ # $@
2182
+ #######$@
2183
+ # # $@
2184
+ # # # $@
2185
+ ### $@
2186
+ ## $@
2187
+ ## $@
2188
+ $@@
2189
+ 0x30C1 TI (CHI)
2190
+ ## $@
2191
+ ###### $@
2192
+ # $@
2193
+ ##########$@
2194
+ # $@
2195
+ # $@
2196
+ ## $@
2197
+ $@@
2198
+ 0x30C4 TU (TSU)
2199
+ # # #$@
2200
+ # # #$@
2201
+ # $@
2202
+ # $@
2203
+ ## $@
2204
+ ## $@
2205
+ ## $@
2206
+ $@@
2207
+ 0x30C6 TE
2208
+ ###### $@
2209
+ $@
2210
+ ##########$@
2211
+ # $@
2212
+ # $@
2213
+ # $@
2214
+ ## $@
2215
+ $@@
2216
+ 0x30C8 TO
2217
+ # $@
2218
+ # $@
2219
+ ## $@
2220
+ # # $@
2221
+ # #$@
2222
+ # $@
2223
+ # $@
2224
+ $@@
2225
+ 0x30CA NA
2226
+ # $@
2227
+ ##########$@
2228
+ # $@
2229
+ # $@
2230
+ # $@
2231
+ # $@
2232
+ ## $@
2233
+ $@@
2234
+ 0x30CB NI
2235
+ $@
2236
+ $@
2237
+ ###### $@
2238
+ $@
2239
+ $@
2240
+ ##########$@
2241
+ $@
2242
+ $@@
2243
+ 0x30CC NU
2244
+ ##########$@
2245
+ #$@
2246
+ # # $@
2247
+ # ## $@
2248
+ ## $@
2249
+ ## # $@
2250
+ ## # $@
2251
+ $@@
2252
+ 0x30CD NE
2253
+ # $@
2254
+ ##########$@
2255
+ # $@
2256
+ ### $@
2257
+ ###### $@
2258
+ ## # ##$@
2259
+ # $@
2260
+ $@@
2261
+ 0x30CE NO
2262
+ #$@
2263
+ #$@
2264
+ # $@
2265
+ # $@
2266
+ ## $@
2267
+ ## $@
2268
+ ## $@
2269
+ $@@
2270
+ 0x30CF HA
2271
+ $@
2272
+ $@
2273
+ # # $@
2274
+ # # $@
2275
+ # #$@
2276
+ # $@
2277
+ $@
2278
+ $@@
2279
+ 0x30D2 HI
2280
+ # $@
2281
+ # ### $@
2282
+ #### $@
2283
+ # $@
2284
+ # $@
2285
+ # $@
2286
+ #######$@
2287
+ $@@
2288
+ 0x30D5 HU (FU)
2289
+ ########$@
2290
+ #$@
2291
+ #$@
2292
+ # $@
2293
+ ## $@
2294
+ ## $@
2295
+ ## $@
2296
+ $@@
2297
+ 0x30D8 HE
2298
+ $@
2299
+ $@
2300
+ ## $@
2301
+ # ## $@
2302
+ # ## $@
2303
+ ##$@
2304
+ $@
2305
+ $@@
2306
+ 0x30DB HO
2307
+ # $@
2308
+ ##########$@
2309
+ # $@
2310
+ # # # $@
2311
+ # # # $@
2312
+ # ## #$@
2313
+ # $@
2314
+ $@@
2315
+ 0x30DE MA
2316
+ $@
2317
+ ##########$@
2318
+ # $@
2319
+ # $@
2320
+ # # $@
2321
+ # $@
2322
+ # $@
2323
+ $@@
2324
+ 0x30DF MI
2325
+ #### $@
2326
+ ##$@
2327
+ ### $@
2328
+ ###$@
2329
+ $@
2330
+ ### $@
2331
+ ###$@
2332
+ $@@
2333
+ 0x30E0 MU
2334
+ # $@
2335
+ # $@
2336
+ # $@
2337
+ # $@
2338
+ # # $@
2339
+ ######### $@
2340
+ #$@
2341
+ $@@
2342
+ 0x30E1 ME
2343
+ #$@
2344
+ # $@
2345
+ # # $@
2346
+ # # $@
2347
+ # $@
2348
+ ## # $@
2349
+ ## # $@
2350
+ $@@
2351
+ 0x30E2 MO
2352
+ ###### $@
2353
+ # $@
2354
+ ##########$@
2355
+ # $@
2356
+ # $@
2357
+ # $@
2358
+ #### $@
2359
+ $@@
2360
+ 0x30E4 YA
2361
+ # ## $@
2362
+ # ## # $@
2363
+ ### $@
2364
+ # # $@
2365
+ # $@
2366
+ # $@
2367
+ # $@
2368
+ $@@
2369
+ 0x30E6 YU
2370
+ $@
2371
+ ###### $@
2372
+ # $@
2373
+ # $@
2374
+ # $@
2375
+ ##########$@
2376
+ $@
2377
+ $@@
2378
+ 0x30E8 YO
2379
+ $@
2380
+ ###### $@
2381
+ # $@
2382
+ # $@
2383
+ # $@
2384
+ ##########$@
2385
+ $@
2386
+ $@@
2387
+ 0x30E9 RA
2388
+ ###### $@
2389
+ $@
2390
+ ##########$@
2391
+ # #$@
2392
+ ## $@
2393
+ ## $@
2394
+ ## $@
2395
+ $@@
2396
+ 0x30EA RI
2397
+ # #$@
2398
+ # #$@
2399
+ # #$@
2400
+ # #$@
2401
+ # $@
2402
+ # $@
2403
+ ## $@
2404
+ $@@
2405
+ 0x30EB RU
2406
+ # # $@
2407
+ # # $@
2408
+ # # $@
2409
+ # # #$@
2410
+ # # # $@
2411
+ # # # $@
2412
+ # ## $@
2413
+ $@@
2414
+ 0x30EC RE
2415
+ # $@
2416
+ # $@
2417
+ # $@
2418
+ # ##$@
2419
+ # ## $@
2420
+ # ## $@
2421
+ ## $@
2422
+ $@@
2423
+ 0x30ED RO
2424
+ $@
2425
+ #########$@
2426
+ # #$@
2427
+ # #$@
2428
+ # #$@
2429
+ #########$@
2430
+ $@
2431
+ $@@
2432
+ 0x30EF WA
2433
+ ##########$@
2434
+ # #$@
2435
+ # $@
2436
+ # $@
2437
+ # $@
2438
+ ## $@
2439
+ ## $@
2440
+ $@@
2441
+ 0x30F0 WI
2442
+ # $@
2443
+ ####### $@
2444
+ # # $@
2445
+ # # $@
2446
+ ##########$@
2447
+ # $@
2448
+ # $@
2449
+ $@@
2450
+ 0x30F1 WE
2451
+ #########$@
2452
+ #$@
2453
+ #$@
2454
+ ######## $@
2455
+ # $@
2456
+ # $@
2457
+ ######## $@
2458
+ $@@
2459
+ 0x30F2 WO
2460
+ ##########$@
2461
+ #$@
2462
+ # $@
2463
+ ######## $@
2464
+ ## $@
2465
+ ## $@
2466
+ ## $@
2467
+ $@@
2468
+ 0x30F3 N
2469
+ #$@
2470
+ # #$@
2471
+ # # $@
2472
+ # $@
2473
+ ## $@
2474
+ ## $@
2475
+ ## $@
2476
+ $@@
2477
+ -0x0004 KATAMAP
2478
+ @
2479
+ a-A i-B u-C e-D o-E ka-F ki-G ku-H ke-I ko-J @
2480
+ sa-K shi-L su-M se-N so-O ta-P chi-Q tsu-R te-S to-T@
2481
+ na-U ni-V nu-W ne-X no-Y ha-Z hi-a fu-b he-c ho-d @
2482
+ ma-e mi-f mu-g me-h mo-i ya-j yu-k we-l yo-m @
2483
+ ra-n ri-o ru-p re-q ro-r wa-s wi-t wo-u @
2484
+ n-v @
2485
+ @@
2486
+ -0x0006 MOSCOWMAP
2487
+ a-a, b-b, v-v, g-g, d-d, e-e, zh-j, z-z, i-i@
2488
+ short i->, k-k, l-l, m-m, n-n, o-o, p-p, r-r@
2489
+ s-s, t-t, u-u, f-f, kh-h, ts-q, ch-c, sh-w @
2490
+ shch-x, hard-\, yeru-|, soft-/, reverse e-~ @
2491
+ yu-`, ya-y @
2492
+ Capitals use Latin capital letters, except: @
2493
+ Reverse E-<, Yu-@ @
2494
+ No caps for short i, hard, yeru, soft. @@