[Info-vax] The option to the Cobol foreground-color/background-color options
Bill Gunshannon
bill.gunshannon at gmail.com
Sat Aug 14 14:07:18 EDT 2021
On 8/14/21 1:51 PM, Arne Vajhøj wrote:
> On 8/14/2021 12:00 PM, Dave Froble wrote:
>> On 8/14/2021 10:46 AM, Jan-Erik Söderholm wrote:
>>> Den 2021-08-14 kl. 14:43, skrev Jan-Erik Söderholm:
>>>> When defining screens using the "screen section" in Cobol,
>>>> one can add "foreground-color is n" and "background-color is n".
>>>>
>>>> Now, the numeric parameter n has valid values between 0 and 7.
>>>> But our terminal emulator (and the ANSI/VT ESC sequence standard)
>>>> has 16 settings. In our emulator (Extra!) they are 0-15.
>>>>
>>>> 0="black"
>>>> 7="white"
>>>> 15="bright white"
>>>>
>>>> If I try to set the value to 15 I get:
>>>>
>>>> %COBOL-F-SCRCOLVAL, FOREGROUND-COLOR or BACKGROUND-COLOR clause
>>>> value must be between 0 and 7 inclusive.
>>>>
>>>> We are looking at options like redefining "colour 7" in Extra!
>>>> to be 255,255,255 (pure white) instead of the current 192,192,192
>>>> which results in a light grey background.
>>>>
>>>> I'll ask VSI directly also if this restriction can be expanded
>>>> to include all colour options as can be seen here:
>>>> https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
>>>> but thought I'd just ask if someone have seen this before
>>>> and might have some other solution.
>>>
>>> I have added one additional request to VSI. An option in the
>>> "screen section" that simply disables all colour changing
>>> commands from the compiler. Our default colours in the
>>> terminal emulator are OK and do not need any changes.
>>>
>>> Something like:
>>>
>>> screen section.
>>> 01 scrPageHeader blank screen no-color-changes.
>>> 02 value "Hello world - Screen section" line 2 column 1.
>>>
>>> Or something similar...
>>
>> So what you're saying is that Cobol knows better than you what the
>> screen colors should be?
>>
>> Got to wonder how that survived this long ...
>
> Just note that this is standardized.
>
> <quote>
> 9.2.7 Color number
> Color is one of the attributes that may be specified for screen items.
> For a monochrome terminal, the color
> attributes are mapped onto other attributes by the implementor.
> A color is selected by specifying the corresponding integer that
> represents the color number. The colors given in
> the table are a rough guide only; the exact shade of color will depend
> on the terminal capabilities. For example the
> value 6 might be shown as brown, but when HIGHLIGHT is also selected it
> might appear as yellow or the value 0
> might be shown as black but when HIGHLIGHT is also selected it might
> appear as gray.
> black
> blue
> green
> cyan
> red
> magenta
> brown/yellow
> white
> 0
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> </quote>
>
> So it should probably be an build option.
>
> Like:
>
> /COLPASS
>
> Color passthrough.
>
> Arne
I haven't looked at the VMS COBOL documentation but with GnuCOBOL
I was surprised that the default was not given and that I saw no
option anywhere to set your own default. A trivial thing, but
still interesting.
bill
More information about the Info-vax
mailing list