emojidex-converter 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +46 -2
- data/emojidex-converter.gemspec +1 -1
- data/lib/emojidex/converter.rb +9 -5
- data/spec/converter_spec.rb +17 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24e45dc6b3dec2a38ceacbe368d2c3eafc7702e8
|
4
|
+
data.tar.gz: b58b995ecb7af840dc954a7a0910a78b134a378c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ae6186035b3952c32df12fb3d6ffdd5702e25e7666ca3219759cc4bf11e6c75d274b072b6ac72e277aec0f486ec5ae6cf2e83ce8bbb27042b02401544364ea90
|
7
|
+
data.tar.gz: 587bac316614d110a8686ef6b86e70426595b38e464ab59be98c909b306c834f7d6d0af7c3ef6136ffca62868d5478c6355bc460dfeb6a4d4583bc54b4f916ee
|
data/README.md
CHANGED
@@ -1,5 +1,49 @@
|
|
1
1
|
[![Build Status](https://travis-ci.org/Genshin/emojidex-converter.svg)](https://travis-ci.org/Genshin/emojidex-converter)
|
2
2
|
Emojidex Converter
|
3
|
-
|
3
|
+
==================
|
4
|
+
A set of tools for converting emoji arrays to and from vectors [SVG] and rasters [PNG].
|
4
5
|
|
5
|
-
|
6
|
+
Requirements
|
7
|
+
------------
|
8
|
+
Uses Phantom SVG, which in turn uses rapngasm.
|
9
|
+
rapngasm requires libapngasm to build, see instructions [here](https://github.com/apngasm/rapngasm).
|
10
|
+
|
11
|
+
Usage
|
12
|
+
-----
|
13
|
+
**Instantiation:**
|
14
|
+
The default destination will be your local emojidex cache (set with environment variable $EMOJI_CACHE, defaults to $HOME/.emojidex/cache) or the current directory if $EMOJI_CACHE is not set.
|
15
|
+
- You can specify the destination manually with an options hash key of :destination.
|
16
|
+
- You can sepcify your own sizes using a :sizes hash. The keys to the hash become the directory names.
|
17
|
+
```ruby
|
18
|
+
converter = Emojidex::Converter.new(destination: "/output/destination/file/path", sizes: {super_huge: 2000, px12: 12})
|
19
|
+
|
20
|
+
# sizes and output destination can be changed after initialization as well
|
21
|
+
converter.destination = '/new/destination'
|
22
|
+
converter.sizes = {superTiny: 3, '720p': 720}
|
23
|
+
```
|
24
|
+
|
25
|
+
**Pre-process SVG frames into animated SVGs:**
|
26
|
+
Used to compile folders with SVG frames and animation.json files into single key-framed SVG files. The pre-processor should be run on every collection directory with sub-directories containing SVG animation sources before rasterization.
|
27
|
+
```ruby
|
28
|
+
converter.preprocess('/path/to/collection')
|
29
|
+
```
|
30
|
+
|
31
|
+
**Convert an array of emoji with vector sources to rasters:**
|
32
|
+
The emoji array is an array of Emojidex::Emoji objects.
|
33
|
+
```ruby
|
34
|
+
converter.rasterize(emoji_array, '/directory/with/SVG/sources')
|
35
|
+
```
|
36
|
+
|
37
|
+
**Convert an Emojidex::Collection:**
|
38
|
+
Emojidex::Collection objects contain references to their source directories so you only need to pass the collection object.
|
39
|
+
```ruby
|
40
|
+
converer.convert_collection(collection)
|
41
|
+
```
|
42
|
+
|
43
|
+
Contributing
|
44
|
+
------------
|
45
|
+
Fork, edit, commit, push, pull request!
|
46
|
+
emojidex-converter is a very primitivate, fairly single-purpose tool. If you can think of any features that could extend its functionality we'd love to see it!
|
47
|
+
|
48
|
+
----
|
49
|
+
exmojidex-toolkit©2014 emojidex™/Genshin Souzou K.K. [Phantom Creation Inc.]
|
data/emojidex-converter.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'emojidex-converter'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.2'
|
4
4
|
s.license = 'Equivilent to emojidex-toolkit'
|
5
5
|
s.summary = 'Image conversion modules for emojidex'
|
6
6
|
s.description = 'Adds the convert method to Emojidex::Collection and Emojidex::Emoji, which\
|
data/lib/emojidex/converter.rb
CHANGED
@@ -9,10 +9,10 @@ module Emojidex
|
|
9
9
|
px16: 16, px32: 32, px64: 64, px128: 128, px256: 256 }
|
10
10
|
end
|
11
11
|
|
12
|
-
attr_accessor :sizes, :
|
12
|
+
attr_accessor :sizes, :destination
|
13
13
|
def initialize(override = {})
|
14
14
|
@sizes = override[:sizes] || Converter.default_sizes
|
15
|
-
@
|
15
|
+
@destination = File.expand_path(override[:destination] || ENV['EMOJI_CACHE'] || './')
|
16
16
|
end
|
17
17
|
|
18
18
|
def rasterize(emoji, source_dir)
|
@@ -20,7 +20,7 @@ module Emojidex
|
|
20
20
|
phantom_svg = Phantom::SVG::Base.new("#{source_dir}/#{moji.code}.svg")
|
21
21
|
@sizes.each do |key, val|
|
22
22
|
# Create out directory.
|
23
|
-
out_dir = "#{@
|
23
|
+
out_dir = "#{@destination}/#{key}"
|
24
24
|
FileUtils.mkdir_p(out_dir)
|
25
25
|
|
26
26
|
# Set size.
|
@@ -32,9 +32,13 @@ module Emojidex
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
def
|
35
|
+
def rasterize_collection(collection)
|
36
|
+
rasterize(collection.emoji.values, collection.source_path)
|
37
|
+
end
|
38
|
+
|
39
|
+
def preprocess(path)
|
36
40
|
preprocessor = Emojidex::Preprocessor.new
|
37
|
-
preprocessor.compile_svg_animations(
|
41
|
+
preprocessor.compile_svg_animations(path)
|
38
42
|
end
|
39
43
|
end
|
40
44
|
end
|
data/spec/converter_spec.rb
CHANGED
@@ -51,4 +51,21 @@ describe Emojidex::Converter do
|
|
51
51
|
expect(File.exist?("#{@destination}/px256/kiss.png")).to be_truthy
|
52
52
|
end
|
53
53
|
end
|
54
|
+
|
55
|
+
describe '.rasterize_collection' do
|
56
|
+
it 'converts an emojidex collection' do
|
57
|
+
setup_working_collection
|
58
|
+
converter.preprocess("#{@support_dir}/tmp/collection")
|
59
|
+
collection = Emojidex::Collection.new
|
60
|
+
collection.load_local_collection("#{@support_dir}/tmp/collection")
|
61
|
+
converter.rasterize_collection(collection)
|
62
|
+
|
63
|
+
expect(File.exist?("#{@destination}/ldpi/kiss.png")).to be_truthy
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
describe '.write_index' do
|
68
|
+
it 'writes an emojidex index (emoji.joson) at the destination' do
|
69
|
+
end
|
70
|
+
end
|
54
71
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emojidex-converter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rei Kagetsuki
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-07-
|
12
|
+
date: 2014-07-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rsvg2
|