tenji 0.1.0 → 0.1.2
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/.rubocop.yml +1 -17
- data/CHANGELOG.md +17 -0
- data/Rakefile +3 -3
- data/lib/tenji/converter.rb +17 -13
- data/lib/tenji/mapping.rb +1 -1
- data/lib/tenji/version.rb +1 -1
- data/lib/tenji.rb +0 -3
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 161999f7b7d6959029d061aba088685e23910a4644896a8d48fa197a11c24967
|
|
4
|
+
data.tar.gz: c2de6e18ba98f6295be492ec5518873bae8a267ef927835c4754ae93bb274214
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '09d3343ebde62caea3de3032090200e625de9290a57e933e4b9f2a2cf891f7c5c3bafd8d5ff5ced7fd305bce60b6e36c5e1a9f97e68f0a9177ff6f5216e4e36a'
|
|
7
|
+
data.tar.gz: c8de17b807c167ec5b20cb047da47fd7e214a4d21c5364714c8611367613d0872a32e54e10c2a99f6e3c58ee98774b07b59dcdb719a242836845677ec172c523
|
data/.rubocop.yml
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
AllCops:
|
|
2
|
-
TargetRubyVersion: 3.
|
|
2
|
+
TargetRubyVersion: 3.4.4
|
|
3
3
|
|
|
4
4
|
Style/StringLiteralsInInterpolation:
|
|
5
5
|
EnforcedStyle: double_quotes
|
|
@@ -20,22 +20,6 @@ Metrics/MethodLength:
|
|
|
20
20
|
Max: 20
|
|
21
21
|
Exclude:
|
|
22
22
|
- spec/**/*
|
|
23
|
-
ExcludedMethods:
|
|
24
|
-
- convert_to_tenji
|
|
25
|
-
|
|
26
|
-
Metrics/AbcSize:
|
|
27
|
-
ExcludedMethods:
|
|
28
|
-
- convert_to_tenji
|
|
29
|
-
- braille_mirror
|
|
30
|
-
|
|
31
|
-
Metrics/CyclomaticComplexity:
|
|
32
|
-
ExcludedMethods:
|
|
33
|
-
- convert_to_tenji
|
|
34
|
-
- braille_mirror
|
|
35
|
-
|
|
36
|
-
Metrics/PerceivedComplexity:
|
|
37
|
-
ExcludedMethods:
|
|
38
|
-
- convert_to_tenji
|
|
39
23
|
|
|
40
24
|
Metrics/BlockLength:
|
|
41
25
|
Exclude:
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [0.1.2] - 2025-12-18
|
|
4
|
+
|
|
5
|
+
### Deprecated
|
|
6
|
+
|
|
7
|
+
- 最低保証 Ruby を 3.4.4 に変更
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- 一部の条件分岐が機能していなかったのを修正
|
|
12
|
+
- その他細かなバグを修正
|
|
13
|
+
|
|
14
|
+
## [0.1.1] - 2025-10-7
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- 凹面変換において改行位置まで反転してしまう不具合を修正
|
|
19
|
+
|
|
3
20
|
## [0.1.0] - 2025-08-24
|
|
4
21
|
|
|
5
22
|
- Initial release
|
data/Rakefile
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require
|
|
4
|
-
require
|
|
3
|
+
require 'bundler/gem_tasks'
|
|
4
|
+
require 'rspec/core/rake_task'
|
|
5
5
|
|
|
6
6
|
RSpec::Core::RakeTask.new(:spec)
|
|
7
7
|
|
|
8
|
-
require
|
|
8
|
+
require 'rubocop/rake_task'
|
|
9
9
|
|
|
10
10
|
RuboCop::RakeTask.new
|
|
11
11
|
|
data/lib/tenji/converter.rb
CHANGED
|
@@ -16,7 +16,7 @@ module Tenji
|
|
|
16
16
|
# converter.convert_to_oumen("⠪⠴⠇⠗⠥")
|
|
17
17
|
# # => "⠬⠺⠸⠦⠕"
|
|
18
18
|
class Converter
|
|
19
|
-
def convert_to_tenji(text)
|
|
19
|
+
def convert_to_tenji(text) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
|
|
20
20
|
normalize_text = normalize(text)
|
|
21
21
|
state = :kana
|
|
22
22
|
result = []
|
|
@@ -58,6 +58,8 @@ module Tenji
|
|
|
58
58
|
redo
|
|
59
59
|
end
|
|
60
60
|
if char.match?(/[a-zA-Z]/)
|
|
61
|
+
# アルファベットで書かれた文字の前に外字符を入れて、alphabet状態に移行
|
|
62
|
+
result << Tenji::Mapping::GAIJIFU
|
|
61
63
|
state = :alphabet
|
|
62
64
|
redo
|
|
63
65
|
end
|
|
@@ -68,7 +70,9 @@ module Tenji
|
|
|
68
70
|
state = :kana
|
|
69
71
|
redo
|
|
70
72
|
end
|
|
71
|
-
if char
|
|
73
|
+
if char.match?(/[0-9]/)
|
|
74
|
+
# 数字がはじまる合図の数符を入れて、number状態に移行
|
|
75
|
+
result << Tenji::Mapping::SUFU
|
|
72
76
|
state = :number
|
|
73
77
|
redo
|
|
74
78
|
end
|
|
@@ -83,7 +87,14 @@ module Tenji
|
|
|
83
87
|
end
|
|
84
88
|
|
|
85
89
|
def convert_to_oumen(raised_braille)
|
|
86
|
-
raised_braille.
|
|
90
|
+
raised_braille.lines.map do |line|
|
|
91
|
+
reversed_line = line.chars.map { |char| braille_mirror(char) }.reverse
|
|
92
|
+
if reversed_line[0] == "\n"
|
|
93
|
+
reversed_line.delete_at(0)
|
|
94
|
+
reversed_line << "\n"
|
|
95
|
+
end
|
|
96
|
+
reversed_line.join
|
|
97
|
+
end.join
|
|
87
98
|
end
|
|
88
99
|
|
|
89
100
|
private
|
|
@@ -106,7 +117,7 @@ module Tenji
|
|
|
106
117
|
is_yoon = %w[キ シ チ ニ ヒ ミ リ ギ ジ ヂ ビ ピ].include?(char) && %w[ャ ュ ョ].include?(next_char)
|
|
107
118
|
is_tokusyuon = %w[ァ ィ ゥ ェ ォ ュ ョ].include?(next_char) && Tenji::Mapping::TOKUSYUON[next_char].include?(char)
|
|
108
119
|
if is_yoon || is_tokusyuon
|
|
109
|
-
one_kana = char
|
|
120
|
+
one_kana = char + next_char
|
|
110
121
|
Tenji::Mapping::KANA[one_kana]
|
|
111
122
|
else
|
|
112
123
|
Tenji::Mapping::KANA[char]
|
|
@@ -114,7 +125,7 @@ module Tenji
|
|
|
114
125
|
end
|
|
115
126
|
|
|
116
127
|
def convert_num_to_braille(char)
|
|
117
|
-
Tenji::Mapping::
|
|
128
|
+
Tenji::Mapping::NUMBER[char]
|
|
118
129
|
end
|
|
119
130
|
|
|
120
131
|
def convert_alphabet_to_braille(char)
|
|
@@ -122,7 +133,7 @@ module Tenji
|
|
|
122
133
|
Tenji::Mapping::ALPHABET[lowercase]
|
|
123
134
|
end
|
|
124
135
|
|
|
125
|
-
def braille_mirror(char)
|
|
136
|
+
def braille_mirror(char) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity
|
|
126
137
|
code_point = char.ord
|
|
127
138
|
return char unless (0x2800..0x283F).cover?(code_point)
|
|
128
139
|
|
|
@@ -139,10 +150,3 @@ module Tenji
|
|
|
139
150
|
end
|
|
140
151
|
end
|
|
141
152
|
end
|
|
142
|
-
|
|
143
|
-
# TODO: リリース前に削除すること
|
|
144
|
-
# '0 1 2 3 4 5 6 7 8 9 A B C D E F'
|
|
145
|
-
# '⠀ ⠁ ⠂ ⠃ ⠄ ⠅ ⠆ ⠇ ⠈ ⠉ ⠊ ⠋ ⠌ ⠍ ⠎ ⠏'
|
|
146
|
-
# '⠐ ⠑ ⠒ ⠓ ⠔ ⠕ ⠖ ⠗ ⠘ ⠙ ⠚ ⠛ ⠜ ⠝ ⠞ ⠟'
|
|
147
|
-
# '⠠ ⠡ ⠢ ⠣ ⠤ ⠥ ⠦ ⠧ ⠨ ⠩ ⠪ ⠫ ⠬ ⠭ ⠮ ⠯'
|
|
148
|
-
# '⠰ ⠱ ⠲ ⠳ ⠴ ⠵ ⠶ ⠷ ⠸ ⠹ ⠺ ⠻ ⠼ ⠽ ⠾ ⠿'
|
data/lib/tenji/mapping.rb
CHANGED
data/lib/tenji/version.rb
CHANGED
data/lib/tenji.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tenji
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- ayu-0505
|
|
@@ -13,7 +13,7 @@ description: Tenji provides a straightforward way to convert Japanese Hiragana o
|
|
|
13
13
|
Katakana text into Japanese Braille. It is designed to be lightweight and easy to
|
|
14
14
|
use in Ruby applications.
|
|
15
15
|
email:
|
|
16
|
-
-
|
|
16
|
+
- tenji.group.talk.dev@gmail.com
|
|
17
17
|
executables: []
|
|
18
18
|
extensions: []
|
|
19
19
|
extra_rdoc_files: []
|
|
@@ -36,7 +36,7 @@ licenses:
|
|
|
36
36
|
metadata:
|
|
37
37
|
homepage_uri: https://github.com/ayu-0505/tenji
|
|
38
38
|
source_code_uri: https://github.com/ayu-0505/tenji
|
|
39
|
-
changelog_uri: https://github.com/ayu-0505/tenji/CHANGELOG.md
|
|
39
|
+
changelog_uri: https://github.com/ayu-0505/tenji/blob/main/CHANGELOG.md
|
|
40
40
|
rdoc_options: []
|
|
41
41
|
require_paths:
|
|
42
42
|
- lib
|
|
@@ -44,7 +44,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 3.
|
|
47
|
+
version: 3.4.4
|
|
48
48
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
49
49
|
requirements:
|
|
50
50
|
- - ">="
|