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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f3a8de48e9b0cde71e28b66a905775a415258861
4
- data.tar.gz: ce9bb0b4e85c1b456ae79a62287ce0e48e4ba238
3
+ metadata.gz: e822a1e4a2633c877133bdfae948fe8a55d17de5
4
+ data.tar.gz: 68275ded458adc208f387824efab0b44b3bb0ac6
5
5
  SHA512:
6
- metadata.gz: 97265bf800a36c2207ae3e2bb74d24473ed91f399e726ae5e1136eacbbdf16be87007fd5fc277f3d0024e339f8c80adfc4c22160fc862c5bcb4a6bfb96b2e68e
7
- data.tar.gz: 2a140e46907de2e489279970763b49d5b9ec87059b621af60338835ca69fec7097a02550ccd8d25c778e0ac8678cab38af04f36f681e4c293e1a35212d2e56b7
6
+ metadata.gz: 5f1bb82a0b9b9a45c2e62016ee2942b9b7dea94e9094622a9b58c64bd740afa75cbb9b5230bd4af3fda6512011ffc01b9e9713652334b915be39890d2431a44d
7
+ data.tar.gz: c82bf02c6c09ad07caad0857c1a5ce40b833c23e2a1146c82614cb4042298547efd37e3b889a5b9e29c61599161768eaefce26819dc18774fb23c867c8f83de9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## CHANGELOG
2
2
 
3
+ ### 1.2.0
4
+
5
+ * Support CJK Ideographs
6
+
3
7
  ### 1.1.0
4
8
 
5
9
  * Support codepoint labels
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.1.0".freeze
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
- INDEX[:NAMES][codepoint]
27
+ unicode_name(char)
20
28
  end
21
29
  end
22
30
 
Binary file
@@ -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.1.0
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: