cbeta 3.6.11 → 3.6.13
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.
- checksums.yaml +4 -4
- data/lib/cbeta/gaiji.rb +14 -3
- data/lib/cbeta/p5a_checker.rb +14 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d7300a8cbe4ce2a660b658b272a167de95f082d2cf9b4992e7ab188a3542f909
|
4
|
+
data.tar.gz: 7d5f291d754158d6ec3074f9ce36ba00303903f055e62103192782552af0eea4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57c49ced6f63516a5ebba28972ccbbb26efe0c1f93d268906aebe1a7868042c502da79698c284eac4a7f1a022cc40eede4e074625afe0755eaaf447c6acacaf0
|
7
|
+
data.tar.gz: 79ec710ef9bc6bfe07fb566b00a0b91c4b73c6c92e8b4b4a22cb87dc11a4dc5af0dc4ed61e450fecb980ed452db09e9bcb77681a6258b63f4a79eb248df65687
|
data/lib/cbeta/gaiji.rb
CHANGED
@@ -60,12 +60,19 @@ class CBETA::Gaiji
|
|
60
60
|
#
|
61
61
|
# @param cb_priority [Array<String>] 優先序
|
62
62
|
# @param skt_priority [Array<String>] 優先序
|
63
|
+
# 預設優先序的順序是:
|
64
|
+
# * uni_2: 有 Unicode Level 2 字元 (Unicode 10.0 以內) 就採用
|
65
|
+
# * norm_uni_2: 有 Unicode 通用字 Level 2 (Unicode 10.0 以內) 就採用
|
66
|
+
# * norm_big5_char: 有 Big5 通用字 就採用
|
67
|
+
# * uni_char: 有 Unicode 字元 就採用
|
68
|
+
# * norm_uni_char: 有 Unicode 通用字 就採用
|
69
|
+
# * composition: 有組字式 就採用
|
63
70
|
# @return [String] 可能是 nil
|
64
71
|
def to_s(gid, cb_priority: nil, skt_priority: nil)
|
65
72
|
if cb_priority.nil?
|
66
|
-
cb_priority = %w(uni_char norm_uni_char
|
73
|
+
cb_priority = %w(uni_2 norm_uni_2 norm_big5_char uni_char norm_uni_char composition)
|
67
74
|
end
|
68
|
-
|
75
|
+
|
69
76
|
if skt_priority.nil?
|
70
77
|
skt_priority = %w(symbol romanized PUA)
|
71
78
|
end
|
@@ -78,7 +85,11 @@ class CBETA::Gaiji
|
|
78
85
|
case k
|
79
86
|
when 'PUA'
|
80
87
|
return CBETA.pua(gid)
|
81
|
-
when '
|
88
|
+
when 'uni_2'
|
89
|
+
k = 'uni_char'
|
90
|
+
return g[k] if @us.level2?(g[k])
|
91
|
+
when 'norm_uni_2'
|
92
|
+
k = 'norm_uni_char'
|
82
93
|
return g[k] if @us.level2?(g[k])
|
83
94
|
else
|
84
95
|
return g[k] if g.key?(k) and not g[k].empty?
|
data/lib/cbeta/p5a_checker.rb
CHANGED
@@ -14,6 +14,8 @@ require_relative 'cbeta_share'
|
|
14
14
|
# * [E09] table cols 屬性值錯誤
|
15
15
|
# * [E10] p 不應直接出現在 list 下
|
16
16
|
# * [E11] note 直接出現在 div 下
|
17
|
+
# * [E12] note 直接出現在 lg 下
|
18
|
+
# * [E13] tt 直接出現在 lg 下
|
17
19
|
#
|
18
20
|
# * 警告類型
|
19
21
|
# * [W01] 夾注包夾注
|
@@ -192,7 +194,10 @@ class CBETA::P5aChecker
|
|
192
194
|
error "[E11] note 直接出現在 div 下"
|
193
195
|
end
|
194
196
|
|
195
|
-
|
197
|
+
if e.parent.name == 'lg'
|
198
|
+
error "[E12] note 直接出現在 lg 下"
|
199
|
+
end
|
200
|
+
|
196
201
|
unless e['place'] == 'inline'
|
197
202
|
traverse(e)
|
198
203
|
return
|
@@ -241,6 +246,13 @@ class CBETA::P5aChecker
|
|
241
246
|
traverse(e)
|
242
247
|
end
|
243
248
|
|
249
|
+
def e_tt(e)
|
250
|
+
if e.parent.name == 'lg'
|
251
|
+
error "[E13] tt 直接出現在 lg 下"
|
252
|
+
end
|
253
|
+
traverse(e)
|
254
|
+
end
|
255
|
+
|
244
256
|
def error(msg)
|
245
257
|
s = "#{msg}, #{@basename}, lb: #{@lb}\n"
|
246
258
|
print s
|
@@ -289,6 +301,7 @@ class CBETA::P5aChecker
|
|
289
301
|
when 'p' then e_p(e)
|
290
302
|
when 'rdg' then e_rdg(e)
|
291
303
|
when 'table' then e_table(e)
|
304
|
+
when 'tt' then e_tt(e)
|
292
305
|
else traverse(e)
|
293
306
|
end
|
294
307
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cbeta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.6.
|
4
|
+
version: 3.6.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ray Chou
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-06-
|
11
|
+
date: 2025-06-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: unihan2
|