unicode-name 1.1.0 → 1.2.0
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/CHANGELOG.md +4 -0
- data/README.md +5 -0
- data/data/name.marshal.gz +0 -0
- data/lib/unicode/.name.rb.swp +0 -0
- data/lib/unicode/name/constants.rb +1 -1
- data/lib/unicode/name.rb +10 -2
- data/spec/.unicode_name_spec.rb.swp +0 -0
- data/spec/unicode_name_spec.rb +8 -0
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e822a1e4a2633c877133bdfae948fe8a55d17de5
|
4
|
+
data.tar.gz: 68275ded458adc208f387824efab0b44b3bb0ac6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f1bb82a0b9b9a45c2e62016ee2942b9b7dea94e9094622a9b58c64bd740afa75cbb9b5230bd4af3fda6512011ffc01b9e9713652334b915be39890d2431a44d
|
7
|
+
data.tar.gz: c82bf02c6c09ad07caad0857c1a5ce40b833c23e2a1146c82614cb4042298547efd37e3b889a5b9e29c61599161768eaefce26819dc18774fb23c867c8f83de9
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -14,6 +14,7 @@ require "unicode/name"
|
|
14
14
|
# Name
|
15
15
|
Unicode::Name.of "A" # => "LATIN CAPITAL LETTER A"
|
16
16
|
Unicode::Name.of "🚡" # => "AERIAL TRAMWAY"
|
17
|
+
Unicode::Name.of "丁" # => "CJK UNIFIED IDEOGRAPH-4E01"
|
17
18
|
|
18
19
|
# Aliases, by type
|
19
20
|
Unicode::Name.aliases "\t" # => {:control=>["CHARACTER TABULATION", "HORIZONTAL TABULATION"],
|
@@ -37,6 +38,10 @@ Unicode::Name.readable("\u{FFFFD}") # => "<private-use-FFFFD>"
|
|
37
38
|
|
38
39
|
See [unicode-x](https://github.com/janlelis/unicode-x) for more Unicode related micro libraries.
|
39
40
|
|
41
|
+
## Todo
|
42
|
+
|
43
|
+
* Hangul syllable names
|
44
|
+
|
40
45
|
## MIT License
|
41
46
|
|
42
47
|
- Copyright (C) 2016 Jan Lelis <http://janlelis.com>. Released under the MIT license.
|
data/data/name.marshal.gz
CHANGED
Binary file
|
Binary file
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Unicode
|
2
2
|
module Name
|
3
|
-
VERSION = "1.
|
3
|
+
VERSION = "1.2.0".freeze
|
4
4
|
UNICODE_VERSION = "8.0.0".freeze
|
5
5
|
DATA_DIRECTORY = File.expand_path(File.dirname(__FILE__) + '/../../../data/').freeze
|
6
6
|
INDEX_FILENAME = (DATA_DIRECTORY + '/name.marshal.gz').freeze
|
data/lib/unicode/name.rb
CHANGED
@@ -6,7 +6,15 @@ module Unicode
|
|
6
6
|
def self.unicode_name(char)
|
7
7
|
codepoint = char.unpack("U")[0]
|
8
8
|
require_relative "name/index" unless defined? ::Unicode::Name::INDEX
|
9
|
-
INDEX[:NAMES][codepoint]
|
9
|
+
if res = INDEX[:NAMES][codepoint]
|
10
|
+
res
|
11
|
+
elsif INDEX[:CJK].any?{ |cjk_range| codepoint >= cjk_range[0] && codepoint <= cjk_range[1] }
|
12
|
+
"CJK UNIFIED IDEOGRAPH-%.4X" % codepoint
|
13
|
+
elsif codepoint >= INDEX[:HANGUL][0][0] && codepoint <= INDEX[:HANGUL][0][1]
|
14
|
+
"HANGUL SYLLABLE-%.4X" % codepoint
|
15
|
+
else
|
16
|
+
nil
|
17
|
+
end
|
10
18
|
end
|
11
19
|
class << self; alias of unicode_name; end
|
12
20
|
|
@@ -16,7 +24,7 @@ module Unicode
|
|
16
24
|
if correction = INDEX[:ALIASES][codepoint] && INDEX[:ALIASES][codepoint][:correction][-1]
|
17
25
|
correction
|
18
26
|
else
|
19
|
-
|
27
|
+
unicode_name(char)
|
20
28
|
end
|
21
29
|
end
|
22
30
|
|
Binary file
|
data/spec/unicode_name_spec.rb
CHANGED
@@ -9,6 +9,14 @@ describe Unicode::Name do
|
|
9
9
|
assert_equal "REPLACEMENT CHARACTER", Unicode::Name.of("�")
|
10
10
|
end
|
11
11
|
|
12
|
+
it "works for CJK Ideographs" do
|
13
|
+
assert_equal "CJK UNIFIED IDEOGRAPH-4E01", Unicode::Name.of("丁")
|
14
|
+
end
|
15
|
+
|
16
|
+
# it "works for Hangul Syllables" do
|
17
|
+
# assert_equal "HANGUL SYLLABLE GAG", Unicode::Name.of("각")
|
18
|
+
# end
|
19
|
+
|
12
20
|
it "will return nil for characters without name" do
|
13
21
|
assert_equal nil, Unicode::Name.of("\u{10c50}")
|
14
22
|
assert_equal nil, Unicode::Name.of("\0")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unicode-name
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Lelis
|
@@ -46,10 +46,12 @@ files:
|
|
46
46
|
- README.md
|
47
47
|
- Rakefile
|
48
48
|
- data/name.marshal.gz
|
49
|
+
- lib/unicode/.name.rb.swp
|
49
50
|
- lib/unicode/name.rb
|
50
51
|
- lib/unicode/name/constants.rb
|
51
52
|
- lib/unicode/name/index.rb
|
52
53
|
- lib/unicode/name/string_ext.rb
|
54
|
+
- spec/.unicode_name_spec.rb.swp
|
53
55
|
- spec/unicode_name_spec.rb
|
54
56
|
- unicode-name.gemspec
|
55
57
|
homepage: https://github.com/janlelis/unicode-name
|
@@ -77,5 +79,6 @@ signing_key:
|
|
77
79
|
specification_version: 4
|
78
80
|
summary: Returns name/aliases/label of a Unicode codepoint
|
79
81
|
test_files:
|
82
|
+
- spec/.unicode_name_spec.rb.swp
|
80
83
|
- spec/unicode_name_spec.rb
|
81
84
|
has_rdoc:
|