summaryrefslogtreecommitdiff
path: root/tex/context/base/colo-ini.lua
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2010-04-16 21:08:00 +0200
committerHans Hagen <pragma@wxs.nl>2010-04-16 21:08:00 +0200
commit5d4880ac91b0e605b3392d15dd7572489b92333e (patch)
tree8e0a6ef300fcee6646de8967f1d504a566026f4f /tex/context/base/colo-ini.lua
parentf23cb4ae64dc24ea24aaa2d1fdf049756063cfff (diff)
downloadcontext-5d4880ac91b0e605b3392d15dd7572489b92333e.tar.gz
beta 2010.04.16 21:08
Diffstat (limited to 'tex/context/base/colo-ini.lua')
-rw-r--r--tex/context/base/colo-ini.lua13
1 files changed, 8 insertions, 5 deletions
diff --git a/tex/context/base/colo-ini.lua b/tex/context/base/colo-ini.lua
index 4546f5279..b92f7561f 100644
--- a/tex/context/base/colo-ini.lua
+++ b/tex/context/base/colo-ini.lua
@@ -191,15 +191,18 @@ function colors.defineprocesscolor(name,str,global,freeze) -- still inconsistent
local r = match(str,"^#(.+)$") -- for old times sake (if we need to feed from xml or so)
local t = (r and { h = r }) or settings_to_hash_strict(str)
if t then
- if t.h then
+ if t.v then
+ local r, g, b = colors.hsvtorgb(tonumber(t.h) or 0, tonumber(t.s) or 1, tonumber(t.v) or 1) -- maybe later native
+ definecolor(name, register_color(name,'rgb',r,g,b), global)
+ elseif t.h then
local r, g, b = match(t.h .. "000000","(..)(..)(..)") -- watch the 255
- definecolor(name, register_color(name,'rgb',(tonumber(r,16) or 0)/255,(tonumber(g,16) or 0)/255,(tonumber(b,16) or 0)/255 ), global)
+ definecolor(name, register_color(name,'rgb',(tonumber(r,16) or 0)/255,(tonumber(g,16) or 0)/255,(tonumber(b,16) or 0)/255), global)
elseif t.r or t.g or t.b then
- definecolor(name, register_color(name,'rgb', tonumber(t.r) or 0, tonumber(t.g) or 0, tonumber(t.b) or 0 ), global)
+ definecolor(name, register_color(name,'rgb', tonumber(t.r) or 0, tonumber(t.g) or 0, tonumber(t.b) or 0), global)
elseif t.c or t.m or t.y or t.k then
- definecolor(name, register_color(name,'cmyk',tonumber(t.c) or 0, tonumber(t.m) or 0, tonumber(t.y) or 0, tonumber(t.k) or 0), global)
+ definecolor(name, register_color(name,'cmyk',tonumber(t.c) or 0, tonumber(t.m) or 0, tonumber(t.y) or 0, tonumber(t.k) or 0), global)
else
- definecolor(name, register_color(name,'gray',tonumber(t.s) or 0), global)
+ definecolor(name, register_color(name,'gray',tonumber(t.s) or 0), global)
end
if t.a and t.t then
definetransparent(name, transparencies.register(name,transparent[t.a] or tonumber(t.a) or 1,tonumber(t.t) or 1), global)