priehlazx 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|