priehlazx 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/bin/priehlahq +37 -2
- data/bin//320/277/321/200/321/243/321/205/320/273/320/260/320/263/321/212 +37 -2
- data/lib/priehlazx.rb +25 -0
- data/lib//320/277/321/200/321/243/321/205/320/273/320/260/320/266/321/214/version.rb +1 -1
- data/lib//320/277/321/200/321/243/321/205/320/273/320/260/320/266/321/214.rb +25 -0
- data/share/HIP./321/201/320/272/321/201 +3 -0
- data/share/TR-CYR-S./321/201/320/272/321/201 +3 -0
- data/share/TR-CYR./321/201/320/272/321/201 +44 -64
- data/share/UCS8./321/201/320/272/321/201 +3 -0
- data/share/UTF8./321/201/320/272/321/201 +3 -0
- metadata +8 -8
data/bin/priehlahq
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
require 'optparse'
|
5
5
|
# check if priehlazx is available as not-a-gem
|
6
6
|
begin
|
7
|
-
$: << '../lib'
|
7
|
+
$: << '../lib' << './lib'
|
8
8
|
require 'priehlazx'
|
9
9
|
rescue LoadError
|
10
10
|
begin require 'rubygems'; rescue LoadError; end
|
@@ -22,6 +22,7 @@ begin
|
|
22
22
|
цѣль = nil
|
23
23
|
истокъ = nil
|
24
24
|
debug = nil
|
25
|
+
list = false
|
25
26
|
|
26
27
|
ARGV.options do |o|
|
27
28
|
script_name = File.basename($0)
|
@@ -50,6 +51,8 @@ begin
|
|
50
51
|
"Acquire RegExp for the code page") { |i| re_cp_w = i }
|
51
52
|
o.on("-r", "--acquire-regexp=val", String,
|
52
53
|
"Acquire RegExp for the code page") { |i| re_cp = i }
|
54
|
+
o.on("-l", "--list-codepages", String,
|
55
|
+
"List available codepages and exit") { |i| list = true }
|
53
56
|
o.on("-d", "--set-debug-info-level=val", String,
|
54
57
|
"Set debug information log level") { |i| $debug_Priehlazx = i.to_i(16) }
|
55
58
|
|
@@ -59,13 +62,45 @@ begin
|
|
59
62
|
|
60
63
|
o.parse!
|
61
64
|
|
62
|
-
unless re_cp or re_cp_w or istring or ifile
|
65
|
+
unless re_cp or re_cp_w or istring or ifile or list
|
63
66
|
$stderr.puts o; exit 1
|
64
67
|
end
|
65
68
|
end
|
66
69
|
|
67
70
|
pl = Priehlazx.new
|
68
71
|
|
72
|
+
if list
|
73
|
+
puts "Available codepages are:"
|
74
|
+
pl.кодачицы.keys.sort.each do |име|
|
75
|
+
описаніе_н = pl.кодачицы[име].unpack("U*")
|
76
|
+
# ѯ = ((описаніе_н.size - 1) / 56) * 56
|
77
|
+
описаніе_н_дл = описаніе_н.size
|
78
|
+
ѯ = 55
|
79
|
+
while ѯ < описаніе_н_дл
|
80
|
+
if (ѯ.downto(ѯ - 55) do |ѱ|
|
81
|
+
зн = [ описаніе_н[ѱ] ].pack('U*')
|
82
|
+
if зн =~ /[\.,!?:;\(\)@#\$%\^&\*"'\|\\\/\[\]]/
|
83
|
+
описаніе_н.insert(ѱ, [ 0xA ] + Array.new(24, 0x20))
|
84
|
+
описаніе_н_дл += 1
|
85
|
+
ѯ += 57
|
86
|
+
break nil
|
87
|
+
elsif зн == " "
|
88
|
+
описаніе_н[ѱ] = [ 0xA ] + Array.new(24, 0x20)
|
89
|
+
ѯ += 56 # 80 - 2 - 20 - 2
|
90
|
+
break nil
|
91
|
+
end
|
92
|
+
end)
|
93
|
+
# не найден пробел или знаки препинания
|
94
|
+
описаніе_н.insert(ѯ, [ 0xA ] + Array.new(24, 0x20))
|
95
|
+
описаніе_н_дл += 1
|
96
|
+
ѯ += 57
|
97
|
+
end
|
98
|
+
end
|
99
|
+
printf " %-20s #{описаніе_н.flatten.pack("U*")}\n", име
|
100
|
+
end
|
101
|
+
exit
|
102
|
+
end
|
103
|
+
|
69
104
|
if re_cp
|
70
105
|
puts pl.пръ(re_cp)
|
71
106
|
elsif re_cp_w
|
@@ -4,7 +4,7 @@
|
|
4
4
|
require 'optparse'
|
5
5
|
# check if priehlazx is available as not-a-gem
|
6
6
|
begin
|
7
|
-
$: << '../lib'
|
7
|
+
$: << '../lib' << './lib'
|
8
8
|
require 'priehlazx'
|
9
9
|
rescue LoadError
|
10
10
|
begin require 'rubygems'; rescue LoadError; end
|
@@ -22,6 +22,7 @@ begin
|
|
22
22
|
цѣль = nil
|
23
23
|
истокъ = nil
|
24
24
|
debug = nil
|
25
|
+
list = false
|
25
26
|
|
26
27
|
ARGV.options do |o|
|
27
28
|
script_name = File.basename($0)
|
@@ -50,6 +51,8 @@ begin
|
|
50
51
|
"Acquire RegExp for the code page") { |i| re_cp_w = i }
|
51
52
|
o.on("-r", "--acquire-regexp=val", String,
|
52
53
|
"Acquire RegExp for the code page") { |i| re_cp = i }
|
54
|
+
o.on("-l", "--list-codepages", String,
|
55
|
+
"List available codepages and exit") { |i| list = true }
|
53
56
|
o.on("-d", "--set-debug-info-level=val", String,
|
54
57
|
"Set debug information log level") { |i| $debug_Priehlazx = i.to_i(16) }
|
55
58
|
|
@@ -59,13 +62,45 @@ begin
|
|
59
62
|
|
60
63
|
o.parse!
|
61
64
|
|
62
|
-
unless re_cp or re_cp_w or istring or ifile
|
65
|
+
unless re_cp or re_cp_w or istring or ifile or list
|
63
66
|
$stderr.puts o; exit 1
|
64
67
|
end
|
65
68
|
end
|
66
69
|
|
67
70
|
pl = Priehlazx.new
|
68
71
|
|
72
|
+
if list
|
73
|
+
puts "Available codepages are:"
|
74
|
+
pl.кодачицы.keys.sort.each do |име|
|
75
|
+
описаніе_н = pl.кодачицы[име].unpack("U*")
|
76
|
+
# ѯ = ((описаніе_н.size - 1) / 56) * 56
|
77
|
+
описаніе_н_дл = описаніе_н.size
|
78
|
+
ѯ = 55
|
79
|
+
while ѯ < описаніе_н_дл
|
80
|
+
if (ѯ.downto(ѯ - 55) do |ѱ|
|
81
|
+
зн = [ описаніе_н[ѱ] ].pack('U*')
|
82
|
+
if зн =~ /[\.,!?:;\(\)@#\$%\^&\*"'\|\\\/\[\]]/
|
83
|
+
описаніе_н.insert(ѱ, [ 0xA ] + Array.new(24, 0x20))
|
84
|
+
описаніе_н_дл += 1
|
85
|
+
ѯ += 57
|
86
|
+
break nil
|
87
|
+
elsif зн == " "
|
88
|
+
описаніе_н[ѱ] = [ 0xA ] + Array.new(24, 0x20)
|
89
|
+
ѯ += 56 # 80 - 2 - 20 - 2
|
90
|
+
break nil
|
91
|
+
end
|
92
|
+
end)
|
93
|
+
# не найден пробел или знаки препинания
|
94
|
+
описаніе_н.insert(ѯ, [ 0xA ] + Array.new(24, 0x20))
|
95
|
+
описаніе_н_дл += 1
|
96
|
+
ѯ += 57
|
97
|
+
end
|
98
|
+
end
|
99
|
+
printf " %-20s #{описаніе_н.flatten.pack("U*")}\n", име
|
100
|
+
end
|
101
|
+
exit
|
102
|
+
end
|
103
|
+
|
69
104
|
if re_cp
|
70
105
|
puts pl.пръ(re_cp)
|
71
106
|
elsif re_cp_w
|
data/lib/priehlazx.rb
CHANGED
@@ -210,6 +210,17 @@ private
|
|
210
210
|
nil
|
211
211
|
end
|
212
212
|
|
213
|
+
def язы
|
214
|
+
case ENV['LANG'] || ENV['LC_CTYPE']
|
215
|
+
when /^ru/
|
216
|
+
:ру
|
217
|
+
when /^en/
|
218
|
+
:ан
|
219
|
+
else
|
220
|
+
:ру
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
213
224
|
def initialize
|
214
225
|
кс_i = 0
|
215
226
|
сѣтка = {}
|
@@ -221,6 +232,7 @@ private
|
|
221
232
|
:сѣтка => сѣтка, :имяна => [],
|
222
233
|
:буквы => буквы, :знаци => знаци,
|
223
234
|
:правило => {}, :правило_б => {},
|
235
|
+
:свойства => {},
|
224
236
|
}
|
225
237
|
|
226
238
|
home = begin
|
@@ -247,6 +259,10 @@ private
|
|
247
259
|
dbp14 "#{кс_имя}"
|
248
260
|
|
249
261
|
@кс[:имяна] << кс_имя
|
262
|
+
@кс[:свойства][кс_имя] = {}
|
263
|
+
[ 'описаніе' ].each do |свойство|
|
264
|
+
@кс[:свойства][кс_имя][свойство.to_sym] = кс[свойство] if кс[свойство]
|
265
|
+
end
|
250
266
|
|
251
267
|
ширь_б_н = []
|
252
268
|
ширь_н = []
|
@@ -399,6 +415,15 @@ public
|
|
399
415
|
end
|
400
416
|
end
|
401
417
|
|
418
|
+
def кодачицы
|
419
|
+
пл = {}
|
420
|
+
@кс[:имяна].each do |име|
|
421
|
+
о = @кс[:свойства][име][:описаніе]
|
422
|
+
пл[име] = о[язы.to_s].to_s if о
|
423
|
+
end
|
424
|
+
пл
|
425
|
+
end
|
426
|
+
|
402
427
|
def кака_кода(писмя)
|
403
428
|
писмя = писмя.to_s
|
404
429
|
вѣса_сл = {}
|
@@ -210,6 +210,17 @@ private
|
|
210
210
|
nil
|
211
211
|
end
|
212
212
|
|
213
|
+
def язы
|
214
|
+
case ENV['LANG'] || ENV['LC_CTYPE']
|
215
|
+
when /^ru/
|
216
|
+
:ру
|
217
|
+
when /^en/
|
218
|
+
:ан
|
219
|
+
else
|
220
|
+
:ру
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
213
224
|
def initialize
|
214
225
|
кс_i = 0
|
215
226
|
сѣтка = {}
|
@@ -221,6 +232,7 @@ private
|
|
221
232
|
:сѣтка => сѣтка, :имяна => [],
|
222
233
|
:буквы => буквы, :знаци => знаци,
|
223
234
|
:правило => {}, :правило_б => {},
|
235
|
+
:свойства => {},
|
224
236
|
}
|
225
237
|
|
226
238
|
home = begin
|
@@ -247,6 +259,10 @@ private
|
|
247
259
|
dbp14 "#{кс_имя}"
|
248
260
|
|
249
261
|
@кс[:имяна] << кс_имя
|
262
|
+
@кс[:свойства][кс_имя] = {}
|
263
|
+
[ 'описаніе' ].each do |свойство|
|
264
|
+
@кс[:свойства][кс_имя][свойство.to_sym] = кс[свойство] if кс[свойство]
|
265
|
+
end
|
250
266
|
|
251
267
|
ширь_б_н = []
|
252
268
|
ширь_н = []
|
@@ -399,6 +415,15 @@ public
|
|
399
415
|
end
|
400
416
|
end
|
401
417
|
|
418
|
+
def кодачицы
|
419
|
+
пл = {}
|
420
|
+
@кс[:имяна].each do |име|
|
421
|
+
о = @кс[:свойства][име][:описаніе]
|
422
|
+
пл[име] = о[язы.to_s].to_s if о
|
423
|
+
end
|
424
|
+
пл
|
425
|
+
end
|
426
|
+
|
402
427
|
def кака_кода(писмя)
|
403
428
|
писмя = писмя.to_s
|
404
429
|
вѣса_сл = {}
|
@@ -1,4 +1,7 @@
|
|
1
1
|
имя: UTF8/HIP
|
2
|
+
описаніе:
|
3
|
+
ру: Независимое представленіе церковныхъ, древнеславянскихъ и древнегрѣческихъ текстовъ на основѣ 8-битной обобщенной кодировки
|
4
|
+
ан: Invariant representation of church, old-slavic, and old-greek texts, based on UTF 8-bit coding
|
2
5
|
знаци:
|
3
6
|
въводъ: ѯA
|
4
7
|
пробѣлъ: ѯ20
|
@@ -1,4 +1,7 @@
|
|
1
|
-
имя: UTF8
|
1
|
+
имя: UTF8/TR-CYR
|
2
|
+
описаніе:
|
3
|
+
ру: Представленіе кириллическихъ знаковъ латиницею на основѣ 8-битной обобщенной кодировки
|
4
|
+
ан: Russian translit coding, based on UTF 8-bit coding
|
2
5
|
знаци:
|
3
6
|
въводъ: ѯA
|
4
7
|
пробѣлъ: ѯ20
|
@@ -65,38 +68,38 @@
|
|
65
68
|
Иже,чажесь: Ѝ,Ѝ
|
66
69
|
Икъ,кратьцо: Ў,Ў
|
67
70
|
Дже: Џ
|
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
|
-
Я:
|
71
|
+
Азъ: A
|
72
|
+
Буки: B
|
73
|
+
Вѣдѣ: V
|
74
|
+
Глаголь: Hq,HQ
|
75
|
+
Добро: D
|
76
|
+
Есть: E
|
77
|
+
Живете: Zx,ZX
|
78
|
+
Земля: Z
|
79
|
+
Иже: I
|
80
|
+
Иже,кратьцо: J
|
81
|
+
Како: K
|
82
|
+
Люди: L
|
83
|
+
Мыслете: M
|
84
|
+
Нашъ: N
|
85
|
+
Онъ: O
|
86
|
+
Покои: P
|
87
|
+
Рьцы: R
|
88
|
+
Слово: S
|
89
|
+
Твердо: T
|
90
|
+
Икъ: U
|
91
|
+
Фертъ: F
|
92
|
+
Хѣръ: H
|
93
|
+
Цы: C
|
94
|
+
Червь: Cx,CX
|
95
|
+
Ша: Sx,SX
|
96
|
+
Ща: Wx, WX
|
97
|
+
Еръ: Au,Au
|
98
|
+
Еры: Y
|
99
|
+
Ерь: Ei,EI
|
100
|
+
Это: Ex,EX
|
101
|
+
Юсъ: Ju,Ju
|
102
|
+
Я: Q
|
100
103
|
азъ: a
|
101
104
|
буки: b
|
102
105
|
вѣдѣ: v
|
@@ -123,41 +126,18 @@
|
|
123
126
|
червь: cx
|
124
127
|
ша: sx
|
125
128
|
шта: wx
|
126
|
-
еръ:
|
129
|
+
еръ: au
|
127
130
|
еры: y
|
128
|
-
ерь:
|
129
|
-
это:
|
130
|
-
юсъ:
|
131
|
-
я:
|
132
|
-
|
131
|
+
ерь: ei
|
132
|
+
это: ex
|
133
|
+
юсъ: ju
|
134
|
+
я: q
|
135
|
+
Я: Aq,AQ
|
133
136
|
есть,двокрапка: jo
|
134
137
|
дже: gx
|
135
|
-
гье:
|
136
|
-
есть шыръ:
|
137
|
-
ѕело:
|
138
|
-
і,крапка:
|
139
|
-
і,двокрапка:
|
140
|
-
ꙇі:
|
141
|
-
лье:
|
142
|
-
нье:
|
143
|
-
тше:
|
144
|
-
кье:
|
145
|
-
иже,чажесь:
|
146
|
-
икъ,кратьцо:
|
147
|
-
дже:
|
148
138
|
Ѣдь: Ie,IE
|
149
139
|
ѣдь: ie
|
150
|
-
|
151
|
-
|
152
|
-
Юсъ малъ:
|
153
|
-
юсъ малъ:
|
154
|
-
Ꙇюсъ малъ:
|
155
|
-
ꙇюсъ малъ:
|
156
|
-
Юсъ вель:
|
157
|
-
юсъ вель:
|
158
|
-
Ꙇюсъ вель:
|
159
|
-
ꙇюсъ вель:
|
160
|
-
Ксы: X
|
161
|
-
ксы: x
|
140
|
+
Ксы: XX,Xx
|
141
|
+
ксы: xx
|
162
142
|
Глаголь твердъ: G
|
163
143
|
глаголь твердъ: g
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: priehlazx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-03-
|
12
|
+
date: 2011-03-31 00:00:00.000000000 +04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rdoba
|
17
|
-
requirement: &
|
17
|
+
requirement: &69572160 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *69572160
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: bundler
|
28
|
-
requirement: &
|
28
|
+
requirement: &69571930 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 1.0.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *69571930
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rspec
|
39
|
-
requirement: &
|
39
|
+
requirement: &69571700 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ~>
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: 2.0.1
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *69571700
|
48
48
|
description: priehlazx is utility and ruby library to convert a char and text to a
|
49
49
|
specific codepage
|
50
50
|
email:
|