unicode-display_width 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.txt +7 -0
- data/Rakefile +1 -1
- data/lib/unicode/display_width.rb +23 -16
- data/unicode-display_width.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7d30235f9e772a7cb8bd87db9e46ccfda2486562
|
4
|
+
data.tar.gz: ee3e35d0979b120a900b5d02c115db8541ff2786
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 31322009d863f9b2d83997d0c27ea60fd43a6522beee58a08d719bd2d51f7fb0186c140e5b17b0fb313be59a16fee2e679b704498311456dc1a60a6c230a7d9f
|
7
|
+
data.tar.gz: 7c49daaf067fdf97869e3dac8e143dd116e34ecb5d9f88e358a26f1d58b206e9add60262864b7875971dfe74cf3636b70d47ae541d91f38f0ecf436fbcd1a428
|
data/CHANGELOG.txt
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
+
## 0.3.1
|
2
|
+
|
3
|
+
* Faster than 0.3.0
|
4
|
+
* Deprecate usage of aliases: String#display_size and String#display_width
|
5
|
+
* Eliminate Ruby warnings (@amatsuda)
|
6
|
+
|
1
7
|
## 0.3.0
|
8
|
+
|
2
9
|
* Update EastAsianWidth from 7.0 to 8.0
|
3
10
|
* Add rake task to update EastAsianWidth.txt
|
4
11
|
* Move code to generate index from library to Rakefile
|
data/Rakefile
CHANGED
@@ -56,7 +56,7 @@ namespace :update do
|
|
56
56
|
if $1 && $2
|
57
57
|
cps, width = $1, $2
|
58
58
|
if cps['..']
|
59
|
-
range = Range.new
|
59
|
+
range = Range.new(*cps.split('..').map{ |cp| cp.to_i(16) })
|
60
60
|
range.each{ |cp| table[ cp ] = width.to_sym }
|
61
61
|
else
|
62
62
|
table[ cps.to_i(16) ] = width.to_sym
|
@@ -2,14 +2,14 @@
|
|
2
2
|
|
3
3
|
module Unicode
|
4
4
|
module DisplayWidth
|
5
|
-
VERSION = '0.3.
|
5
|
+
VERSION = '0.3.1'.freeze
|
6
6
|
DATA_DIR = File.join(File.dirname(__FILE__), '../../data/').freeze
|
7
7
|
TABLE_FILE = (DATA_DIR + 'EastAsianWidth.index').freeze
|
8
8
|
DATA_FILE = (DATA_DIR + 'EastAsianWidth.txt').freeze
|
9
9
|
|
10
10
|
class << self
|
11
11
|
def table
|
12
|
-
if @table
|
12
|
+
if defined?(@table) && @table
|
13
13
|
@table
|
14
14
|
else
|
15
15
|
@table = Marshal.load File.respond_to?(:binread) ? File.binread(TABLE_FILE) : File.read(TABLE_FILE)
|
@@ -28,22 +28,29 @@ end
|
|
28
28
|
|
29
29
|
class String
|
30
30
|
def display_width(ambiguous = 1)
|
31
|
-
unpack('U*').inject(0){ |
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
a + width
|
31
|
+
unpack('U*').inject(0){ |total_width, char|
|
32
|
+
total_width + case Unicode::DisplayWidth.codepoint(char).to_s
|
33
|
+
when 'F', 'W'
|
34
|
+
2
|
35
|
+
when 'N', 'Na', 'H'
|
36
|
+
1
|
37
|
+
when 'A'
|
38
|
+
ambiguous
|
39
|
+
else
|
40
|
+
1
|
41
|
+
end
|
43
42
|
}
|
44
43
|
end
|
45
|
-
|
46
|
-
|
44
|
+
|
45
|
+
def display_size(*args)
|
46
|
+
warn "Deprecation warning: Please use `String#display_width` instead of `String#display_size`"
|
47
|
+
display_width(*args)
|
48
|
+
end
|
49
|
+
|
50
|
+
def display_length(*args)
|
51
|
+
warn "Deprecation warning: Please use `String#display_width` instead of `String#display_length`"
|
52
|
+
display_width(*args)
|
53
|
+
end
|
47
54
|
end
|
48
55
|
|
49
56
|
# J-_-L
|
@@ -9,7 +9,7 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.email = "mail@janlelis.de"
|
10
10
|
s.homepage = "http://github.com/janlelis/unicode-display_width"
|
11
11
|
s.summary = "Support for east_asian_width string widths."
|
12
|
-
s.description = "This gem adds String#
|
12
|
+
s.description = "This gem adds String#display_width to get the display size of a string using EastAsianWidth.txt."
|
13
13
|
s.required_rubygems_version = ">= 1.3.6"
|
14
14
|
s.files = Dir.glob(%w[{lib,test}/**/*.rb bin/* [A-Z]*.{txt,rdoc} data/EastAsianWidth.index ext/**/*.{rb,c} **/deps.rip]) + %w{Rakefile unicode-display_width.gemspec}
|
15
15
|
s.extra_rdoc_files = ["README.rdoc", "MIT-LICENSE.txt", "CHANGELOG.txt"]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unicode-display_width
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Lelis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -38,7 +38,7 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.4'
|
41
|
-
description: This gem adds String#
|
41
|
+
description: This gem adds String#display_width to get the display size of a string
|
42
42
|
using EastAsianWidth.txt.
|
43
43
|
email: mail@janlelis.de
|
44
44
|
executables: []
|
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
76
|
version: 1.3.6
|
77
77
|
requirements: []
|
78
78
|
rubyforge_project:
|
79
|
-
rubygems_version: 2.
|
79
|
+
rubygems_version: 2.5.1
|
80
80
|
signing_key:
|
81
81
|
specification_version: 4
|
82
82
|
summary: Support for east_asian_width string widths.
|