diff options
author | Karl Berry <karl@freefriends.org> | 2022-03-11 22:04:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-03-11 22:04:51 +0000 |
commit | 41bf581d1e01e395d0eaeb2fc50b36d0cd3c92bc (patch) | |
tree | b9f337374b98fdf7d3e27331951e6b3429998bb6 /Master/texmf-dist/tex/optex/base/colors.opm | |
parent | 594f56d8c6dd122d6841c134070753e69276d5cf (diff) |
optex (11mar22) (branch)
git-svn-id: svn://tug.org/texlive/branches/branch2021.final@62641 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/optex/base/colors.opm')
-rw-r--r-- | Master/texmf-dist/tex/optex/base/colors.opm | 42 |
1 files changed, 38 insertions, 4 deletions
diff --git a/Master/texmf-dist/tex/optex/base/colors.opm b/Master/texmf-dist/tex/optex/base/colors.opm index 6ef8fc9dcf7..36afcb3862f 100644 --- a/Master/texmf-dist/tex/optex/base/colors.opm +++ b/Master/texmf-dist/tex/optex/base/colors.opm @@ -1,6 +1,6 @@ %% This is part of the OpTeX project, see http://petr.olsak.net/optex -\_codedecl \colordef {Colors <2021-07-16>} % preloaded in format +\_codedecl \colordef {Colors <2022-03-07>} % preloaded in format \_doc ----------------------------- The basic colors in CMYK @@ -72,14 +72,11 @@ \_color:<attribute-value> ... expands to <data> <fill-op> \_color-s:<attribute-value> ... expands to <data> <stroke-op> \endtt - The \`\_resetcolor` un-sets the color attribute, it means that default - color (black) shall be used. \_cod ----------------------------- \_newattribute \_colorattr \_newcount \_colorcnt \_colorcnt=1 % allocations start at 1 \_protected\_def\_setcolor{\_colorprefix\_colorattr=\_translatecolor} -\_def\_resetcolor{\_colorattr=-"7FFFFFFF } \_def\_translatecolor#1#2#3{\_ifcsname _color::#1 #2\_endcsname\_lastnamedcs\_relax \_else \_colorcnt @@ -108,6 +105,41 @@ \_localcolor \_doc ----------------------------- + The attribute \`\_transpattr` is allocated and set by the + \`\transparency``<number>` macro. If such level of the tranparency was + never used in the document then + \^`\addextgstate{tr<number>}`\code{\{<</ca X /CA X>>\}} is applied + (where `X` is `(255-<number>)/255`). + This information is used when shipout is processed (similarly as colors). + It means `/tr<number> gs` is inserted when the attribute is changed.\nl + \`\_resetattrs` resets the \^`\_colorattr` and \^`\_transpattr` + to their initial value `-"7FFFFFFF`. + \_cod ----------------------------- + +\_newattribute\_transpattr +\_def\_transparency {\_afterassignment\_transparencyA \_transpattr} +\_def\_transparencyA{% + \_ifnum\_transpattr<1 \_transpattr=\_noattr \_fi + \_ifnum\_transpattr>255 \_opwarning{\_noexpand\transparency > 255 not allowed}% + \_transpattr=\_noattr + \_else + \_ifcsname _transp:\_the\_transpattr\_endcsname \_else + \_edef\_transpv{\_expr{(255-\_the\_transpattr)/255}}% + \_addextgstate{tr\_the\_transpattr}{<</ca \_transpv\_space /CA \_transpv>>}% + \_sxdef{_transp:\_the\_transpattr}{}% + \_ifcsname _transp:0\_endcsname \_else + \_addextgstate{tr0}{<</ca 1 /CA 1>>}% + \_sxdef{_transp:0}{}% + \_fi + \_fi + \_fi +} +\_def\_thetransparency{\_ifnum \_transpattr=-"7FFFFFFF 0\_else \_the\_transpattr \_fi} +\_def\_resetattrs{\_colorattr=\_noattr \_transpattr=\_noattr} + +\_public \transparency \thetransparency ; + + \_doc ----------------------------- We use Lua codes for RGB to CMYK or CMYK to RGB conversions and for addition color components in the \^`\colordef` macro. The \`\_rgbtocmyk` `<R> <G> <B> ;` expands to `<C> <M> <Y> <K>` and @@ -411,6 +443,8 @@ and it is used in \^`\rgbcolordef` or if it is printed when \^`\onlyrgb` is decl \_endinput +2022-03-07 \_resetattrs instead \_resetcolor +2022-03-05 \transparency added 2021-07-16 colors reimplemented, now they are based on attributes 2021-05-28 \rgbcmykmap introduced 2020-04-22 \replstring\tmpb{+ }{+}, {- }{-} added in \colordef, bug fixed |