Re: Encoding colour (from Re: Encoding italic)

From: wjgo_10009_at_btinternet.com via Unicode <wjgo_10009_at_btinternet.com>
Date: Wed, 13 Feb 2019 19:10:35 +0000 (GMT)

Philippe Verdy replied to my post, including quoting me.

WJGO >> Thinking about this further, for this application copies of the
glyphs could be redesigned so as to be square and could be emoji-style
and the meanings of the characters specifying which colour component is
to be set could be changed so that they refer to the number previously
entered using one or more of the special digit characters. Thus the
setting of colour components could be done in the same reverse notation
way that the FORTH computer language works.

PV > FORTH is not relevant to this discussion.

I just mentioned FORTH because of the way that numbers are entered
before the operators that act upon them. I have no intention to use a
stack-based system: what I have in mind at present is much simpler than
such a format.

Suppose that there are sixteen new characters, which are in plane 1 or
maybe plane 14, but which for this mailing list post I will express
using the digits 0 .. 9, Z, R, G, B, A, F.

There would be a virtual machine to set the colour, that would have
registers h, r, g, b, a and a system service
Set_Foreground_Colour(r,g,b,a).

Then the sixteen new characters would each have a default glyph, which
could be displayed emoji-style, and, in an application environment that
has the virtual machine available and switched on, would have the
following effects in the virtual machine and their glyphs would not then
be displayed. The virtual machine would be sandboxed.

Z h:=0;
0 h:=10*h ;
1 h:=10*h + 1;
2 h:=10*h + 2;
3 h:=10*h + 3;
4 h:=10*h + 4;
5 h:=10*h + 5;
6 h:=10*h + 6;
7 h:=10*h + 7;
8 h:=10*h + 8;
9 h:=10*h + 9;
R r:=h; h:=0;
G g:=h; h:=0;
B b:=h; h:=0;
A a:=h; h:=0;
F Set_Foreground_Colour(r,g,b,a);

Thus for example, remembering that these ordinary characters are just
being used here for explanation in this post, and that the actual
characters if encoded would probably be in plane 1 or plane 14:

So the sequence Z128R160G248B255AF could be used to set the foreground
colour to an opaque blue colour.

It may be that upon investiation there could be specified a feature of
the system service Set_Foreground_Colour(r,g,b,a) such that "if a=0 then
a:=255;" so that total opacity of the colour is presumed unless
otherwise set.

PV > You may create your "proof of concept" (tested on limited
configurations) but it will just be private

Yes.

PV > [And so it should use PUA for full compatibility ...

Yes, I have in mind to use U+EA60 through to U+EA69 for the digits, as
U+EA60 is Alt 60000 so it makes it easier if some of the people who want
to experiment want to enter characters using the Alt method.

William Overington
Monday 11 February 2019

an_opaque_blue_colour.png
Received on Wed Feb 13 2019 - 13:25:40 CST

This archive was generated by hypermail 2.2.0 : Wed Feb 13 2019 - 13:25:40 CST