color-japanese 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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]