color-japanese 1.0.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.
@@ -0,0 +1,3 @@
1
+ 2007-04-14 MIYAMUKO Katsuyuki
2
+
3
+ * color-japanese 1.0.0 released!
@@ -0,0 +1,3 @@
1
+ == 1.0.0 / 2007-04-14
2
+
3
+ * initial release
@@ -0,0 +1,37 @@
1
+ CHANGELOG.txt
2
+ History.txt
3
+ Manifest.txt
4
+ README.txt
5
+ Rakefile
6
+ bin/jcolorc
7
+ examples/Rakefile
8
+ examples/color-test.html.in
9
+ examples/color2html.rb
10
+ examples/default.css.in
11
+ examples/default.html
12
+ examples/palletize.rb
13
+ helper/helper.rb
14
+ helper/rake.rb
15
+ helper/rake_sh_filter.rb
16
+ helper/util.rb
17
+ lib/color/rgb/jp.rb
18
+ lib/color/rgb/jp/base.rb
19
+ lib/color/rgb/jp/base/color_name.rb
20
+ lib/color/rgb/jp/base/encode.rb
21
+ lib/color/rgb/jp/base/named_rgb.rb
22
+ lib/color/rgb/jp/base/pallet.rb
23
+ lib/color/rgb/jp/compiler/command.rb
24
+ lib/color/rgb/jp/compiler/compiler.rb
25
+ lib/color/rgb/jp/jisz8102.rb
26
+ lib/color/rgb/jp/traditional.rb
27
+ lib/color/rgb/jp/version.rb
28
+ setup.rb
29
+ test/helper.rb
30
+ test/test_color_name.rb
31
+ test/test_compiler.rb
32
+ test/test_encode.rb
33
+ test/test_jisz8102.rb
34
+ test/test_named_rgb.rb
35
+ test/test_pallet.rb
36
+ test/test_traditional.rb
37
+ test/test_version.rb
@@ -0,0 +1,123 @@
1
+ == color-japanese
2
+
3
+ === DESCRIPTION
4
+
5
+ color-japanese defines RGB value for Japanese color names.
6
+
7
+ Supported color names are:
8
+ * Japanese traditional colors
9
+ * JIS Z 8102 (Names of non-luminous object colours)
10
+
11
+
12
+ === SYNOPSIS
13
+
14
+ require "rubygems"
15
+ require "color/rgb/jp"
16
+
17
+ # way to get sakura-iro.
18
+ # you can specify color name as kanji, hiragana, katakana and romaji (UTF-8).
19
+ puts Color::RGB::JP::Traditional::Sakurairo
20
+ puts Color::RGB::JP::Traditional["桜色"]
21
+ puts Color::RGB::JP::Traditional["さくらいろ"]
22
+ puts Color::RGB::JP::Traditional["サクライロ"]
23
+ puts Color::RGB::JP::Traditional["sakura-iro"]
24
+
25
+ # use other encoding.
26
+ puts Color::RGB::JP::Traditional[sjis_string, "Shift_JIS"]
27
+
28
+ # puts color names (UTF-8).
29
+ c = Color::RGB::JP::Traditional["桜色"] #=> #<Color::RGB::JP::NamedRGB:0xXXXXXXXX ...>
30
+ puts c #=> "sakura-iro (#fef4f4)"
31
+ puts c.name.kanji #=> "桜色"
32
+ puts c.name.hiragana #=> "さくらいろ"
33
+ puts c.name.katakana #=> "サクライロ"
34
+ puts c.name.romaji #=> "sakura-iro"
35
+ puts c.name.to_a #=> ["桜色", "さくらいろ", "サクライロ", "sakura-iro"]
36
+
37
+ # and Shift_JIS.
38
+ puts c.name.kanji("Shift_JIS")
39
+ puts c.name.hiragana("Shift_JIS")
40
+ puts c.name.katakana("Shift_JIS")
41
+ puts c.name.to_a("Shift_JIS")
42
+
43
+ # Color::RGB class provided by color-tools.
44
+ puts c.rgb #=> #<Color::RGB:0xXXXXXXXX>
45
+ puts c.rgb.html #=> "#fef4f4"
46
+ cmyk = c.rgb.to_cmyk
47
+ p %W(c m y k).map{|e| cmyk.__send__(e) } #=> [0.00379838523644751, 0.0430140715109573, 0.0430140715109573, 0.00012318339100346]
48
+
49
+
50
+ # Enumerable methods.
51
+ puts Color::RGB::JP::Traditional.grep{|e| e.name.romaji =~ /[sz]akura/i }.map{|e| e.name.romaji}
52
+
53
+ # puts all traditional color names.
54
+ Color::RGB::JP::Traditional.each do |c|
55
+ puts "%s: %s (%s)" % [c.rgb.html, c.name.kanji, c.name.hiragana]
56
+ end
57
+
58
+ # and JIS Z 8102.
59
+ Color::RGB::JP::JISZ8102.each do |c|
60
+ puts "%s: %s (%s)" % [c.rgb.html, c.name.kanji, c.name.hiragana]
61
+ end
62
+
63
+
64
+ === COMMAND
65
+
66
+ color-japanese provies _jcolorc_ command.
67
+
68
+ For more details, please see {jcolorc}[link:files/bin/jcolorc.html] document.
69
+
70
+
71
+ === LIST OF COLORS
72
+
73
+ example color pallets (generated by examples/color2html.rb).
74
+
75
+ * {Color::RGB::JP::Traditional}[link:examples/traditional.html]
76
+ * {Color::RGB::JP::JISZ8102}[link:examples/jisz8102.html]
77
+
78
+
79
+ === REQUIREMENTS
80
+
81
+ * color-tools[http://ruby-pdf.rubyforge.org/color-tools/index.html]
82
+
83
+
84
+ === INSTALL
85
+
86
+ [Unix]
87
+ sudo gem install -y color-japanese
88
+
89
+ [Windows]
90
+ gem install -y color-japanese
91
+
92
+
93
+ === LICENSE
94
+
95
+ color-japanese is released under the MIT license.
96
+
97
+ Copyright (c) 2007 MIYAMUKO Katsuyuki.
98
+
99
+ Permission is hereby granted, free of charge, to any person obtaining
100
+ a copy of this software and associated documentation files (the
101
+ 'Software'), to deal in the Software without restriction, including
102
+ without limitation the rights to use, copy, modify, merge, publish,
103
+ distribute, sublicense, and/or sell copies of the Software, and to
104
+ permit persons to whom the Software is furnished to do so, subject to
105
+ the following conditions:
106
+
107
+ The above copyright notice and this permission notice shall be
108
+ included in all copies or substantial portions of the Software.
109
+
110
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
111
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
112
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
113
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
114
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
115
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
116
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
117
+
118
+
119
+ === OTHER STUFF
120
+
121
+ Author:: MIYAMUKO Katsuyuki <mailto:miyamuko@gmail.com>
122
+ Home URL:: http://color-japanese.rubyforge.org
123
+ Project URL:: http://rubyforge.org/projects/color-japanese
@@ -0,0 +1,123 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+ require 'rake/contrib/rubyforgepublisher'
6
+
7
+ require 'color'
8
+ require './lib/color/rgb/jp/version.rb'
9
+
10
+ require "helper/helper"
11
+
12
+
13
+ RUBYFORGE_PROJECT = 'color-japanese'
14
+ PROJECT_NAME = RUBYFORGE_PROJECT
15
+ PROJECT_VERSION = Color::RGB::JP::VERSION::STRING
16
+
17
+ RDOC_DIR = "./html"
18
+ EXAMPLES_DIR = "#{RDOC_DIR}/examples"
19
+
20
+ PROJECT_URL = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
21
+ HOME_URL = "http://#{RUBYFORGE_PROJECT}.rubyforge.org/"
22
+
23
+ NEWS_FILE = "news.txt"
24
+
25
+ directory EXAMPLES_DIR
26
+
27
+
28
+ hoe = Hoe.new(PROJECT_NAME, PROJECT_VERSION) do |p|
29
+ p.rubyforge_name = RUBYFORGE_PROJECT
30
+ p.author = ["MIYAMUKO Katsuyuki"]
31
+ p.email = "miyamuko@gmail.com"
32
+ p.url = HOME_URL
33
+ p.extra_deps << "color-tools"
34
+
35
+ p.summary = p.paragraphs_of('README.txt', 2..2)[0]
36
+ p.description = p.paragraphs_of('README.txt', 2..3).join("\n\n")
37
+ p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
38
+
39
+ p.need_zip = true
40
+ p.need_tar = true
41
+ end
42
+
43
+
44
+ #
45
+ # new task
46
+ #
47
+
48
+ desc 'Uninstall the gem package'
49
+ task_for_windows :uninstall_gem do
50
+ sh "gem.bat uninstall #{PROJECT_NAME}"
51
+ end
52
+
53
+
54
+ #
55
+ # overwrite hoe defined tasks.
56
+ #
57
+
58
+ remove_tasks(:clobber_docs, :docs, :redocs)
59
+ Rake::RDocTask.new(:docs) do |rd|
60
+ rd.main = "README.txt"
61
+ rd.rdoc_dir = RDOC_DIR
62
+ files = File.read("Manifest.txt").split.grep(/^(lib|bin)|txt$/)
63
+ files -= ['Manifest.txt']
64
+ rd.rdoc_files.push(*files)
65
+
66
+ rd.options << "-t #{PROJECT_NAME}-#{PROJECT_VERSION} Documentation"
67
+ rd.options << '--charset=UTF-8'
68
+ end
69
+
70
+ desc "Build the color list HTML Files."
71
+ task :example => [EXAMPLES_DIR] do
72
+ %W(Traditional JISZ8102).each do |e|
73
+ sh "ruby examples/color2html.rb -p #{e} > #{EXAMPLES_DIR}/#{e.downcase}.html"
74
+ end
75
+ end
76
+ task :docs => [:example]
77
+
78
+ task_for_windows :install_gem do
79
+ sh "gem.bat install pkg/*.gem"
80
+ end
81
+
82
+ task_for_windows :ridocs do
83
+ sh "rdoc.bat --ri -o ri ."
84
+ end
85
+
86
+ task_for_windows :publish_docs do
87
+ config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
88
+ Rake::RubyForgePublisher.new(RUBYFORGE_PROJECT, config["username"]).upload
89
+ end
90
+
91
+ # rake publish_docs SCP=pscp
92
+ if ENV["SCP"] and ENV["SCP"] != "scp"
93
+ add_sh_filter_for(/\Ascp /) {|cmd|
94
+ cmd[0].sub!(/\Ascp/, ENV["SCP"])
95
+ cmd[0].sub!(/-rq/, "-r")
96
+ cmd
97
+ }
98
+ end
99
+
100
+
101
+ task :create_news do
102
+ subject, title, body, urls = hoe.announcement
103
+ open(NEWS_FILE, "w") do |w|
104
+ w.puts "#{title}\n\n#{body}\n\n"
105
+ w.puts "--"
106
+ w.puts "Home URL: #{HOME_URL}"
107
+ w.puts "Project URL: #{PROJECT_URL}"
108
+ end
109
+ end
110
+
111
+ override_task :post_news => [:create_news] do
112
+ require 'rubyforge'
113
+ rf = RubyForge.new
114
+ rf.login
115
+ rf.post_news(rubyforge_name, subject, File.read(NEWS_FILE))
116
+ puts "Posted to rubyforge"
117
+ rm_f NEWS_FILE
118
+ end
119
+ task :clean do
120
+ rm_f NEWS_FILE
121
+ end
122
+
123
+ # vim: syntax=Ruby
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/ruby
2
+
3
+ #
4
+ # == NAME
5
+ #
6
+ # jcolorc - Japanese color name compiler
7
+ #
8
+ # == SYNOPSIS
9
+ #
10
+ # jcolorc [options] < default.css.in > default.css
11
+ # jcolorc [options] default.css.in -o default.css
12
+ #
13
+ # == DESCRIPTION
14
+ #
15
+ # jcolorc is a filter to convert from Japanese color name to RGB value.
16
+ #
17
+ #
18
+ # == SYNTAX
19
+ #
20
+ # [<tt>##<em><color name></em></tt>]
21
+ # Replace with RGB value for <em><color name></em>.
22
+ #
23
+ # You can use kanji, hiragana, katakana and romaji for <em><color name></em>.
24
+ #
25
+ # [<tt>##alias <em><new color name></em> <em><color name></em></tt>]
26
+ # Gives alias to <em><color name></em>.
27
+ #
28
+ #
29
+ # == EXAMPLE
30
+ #
31
+ # === Short example:
32
+ #
33
+ # % echo color: ##sakura-iro | jcolorc
34
+ # color: #fbdade
35
+ #
36
+ # === Long example:
37
+ #
38
+ # INPUT (default.css.in):
39
+ #
40
+ # @charset "Shift_JIS";
41
+ # body {
42
+ # color: ##暗黒色;
43
+ # background: ##sakura-iro;
44
+ # }
45
+ # .warning {
46
+ # color: ##こいくれない;
47
+ # background: ##ニジイロ;
48
+ # border: 2px solid #ff0000;
49
+ # padding: 4px;
50
+ # }
51
+ #
52
+ # FILTER COMMAND:
53
+ #
54
+ # % jcolorc -p traditional -Ks -o default.css default.css.in
55
+ #
56
+ # OUTPUT (default.css):
57
+ #
58
+ # @charset "Shift_JIS";
59
+ # body {
60
+ # color: #16160e;
61
+ # background: #fef4f4;
62
+ # }
63
+ # .warning {
64
+ # color: #a22041;
65
+ # background: #f6bfbc;
66
+ # border: 2px solid #ff0000;
67
+ # padding: 4px;
68
+ # }
69
+ #
70
+ #
71
+ # === alias example:
72
+ #
73
+ # Gives logical name for shinku (真紅).
74
+ #
75
+ # INPUT (default.css.in):
76
+ #
77
+ # ##alias my-red shinku
78
+ # table, th, td {
79
+ # border: 1px solid ##my-red;
80
+ # }
81
+ # .column {
82
+ # border: 2px dotted ##my-red;
83
+ # }
84
+ #
85
+ # FILTER COMMAND:
86
+ #
87
+ # % jcolorc -p traditional -o default.css default.css.in
88
+ #
89
+ # OUTPUT (default.css):
90
+ #
91
+ # table, th, td {
92
+ # border: 1px solid #a22041;
93
+ # }
94
+ # .column {
95
+ # border: 2px dotted #a22041;
96
+ # }
97
+ #
98
+ #
99
+ # == USAGE
100
+ #
101
+ # Usage: jcolorc [options] <source file>
102
+ #
103
+ # Options:
104
+ # -o, --output <output file> output file (default: stdout)
105
+ # -p, --pallet <color pallet> color pallet (jis or traditional).
106
+ # (default: jis)
107
+ # -K<kcode> specifies KANJI code-set (default: UTF-8)
108
+ # -E output preprocessed ERB script
109
+ # --prefix=<directive prefix> prefix the pre-processor directive.
110
+ # (default: ##)
111
+ #
112
+ # -v, --version print the version
113
+ # -h, --help print this message
114
+ #
115
+
116
+ require "rubygems"
117
+ require "color/rgb/jp/compiler/command"
118
+
119
+ Color::RGB::JP::Compiler::Command.dispatch
@@ -0,0 +1,57 @@
1
+ $base = File.dirname(__FILE__)
2
+ $lib = File.join($base, "../lib")
3
+ $bin = File.join($base, "../bin")
4
+
5
+ def jcolorc(*args)
6
+ ruby "-I#{$lib} #{$bin}/jcolorc #{args * ' '}"
7
+ end
8
+
9
+
10
+ desc "run all examples (default)."
11
+ task :all => []
12
+ task :default => [:all]
13
+
14
+ file "default.css" => "default.css.in" do |t|
15
+ jcolorc "-Ks -o #{t.name} #{t.prerequisites[0]}"
16
+ end
17
+ task :clean do
18
+ rm_f "default.css"
19
+ end
20
+
21
+ desc "run css example."
22
+ task :css => ["default.css"] do
23
+ puts "*** check default.html ***"
24
+ end
25
+ task :all => [:css]
26
+
27
+
28
+ file "color-test.html" => "color-test.html.in" do |t|
29
+ jcolorc "-o #{t.name} #{t.prerequisites[0]}"
30
+ end
31
+ task :clean do
32
+ rm_f "color-test.html"
33
+ end
34
+
35
+ desc "run color-test example."
36
+ task :colortest => ["color-test.html"] do
37
+ puts "*** check color-test.html ***"
38
+ end
39
+ task :all => [:colortest]
40
+
41
+
42
+ desc "run color2html example."
43
+ task :color2html do
44
+ ruby "-I#{$lib} color2html.rb -p Traditional -o traditional.html"
45
+ puts "*** check traditional.html ***"
46
+ end
47
+ task :clean do
48
+ rm_f "traditional.html"
49
+ end
50
+ task :all => [:color2html]
51
+
52
+
53
+ desc "run palletize example."
54
+ task :palletize do
55
+ ruby "-I#{$lib} palletize.rb 0063DC FF0084"
56
+ end
57
+ task :all => [:palletize]