On Sat, Jul 16, 2016 at 04:14:37PM -0400, Thomas Dickey wrote: > On Sun, Jul 10, 2016 at 03:45:39PM +0200, Mikulas Patocka wrote: > > Package: ncurses-base > > Version: 6.0+20160319-2 > > Severity: normal > > Tags: l10n > > > > Dear Maintainer, > > > > *** Reporter, please consider answering these questions, where appropriate > > *** > > > > * What led up to the situation? > > > > Updating the ncurses-base package from 6.0+20160319-2 to 6.0+20160625-1 > > breaks > > the iso-8859-2 locale. > > > > The reason for this bug is that the package 6.0+20160625-1 sends the > > characters > > "\e(B\e)0" when initializing a full screen program. The code "\e(B" breaks > > the > > iso-8859-2 locale. (the locale needs "\e(K" so that it uses the alternate > > map, > > "\e(B" resets this setting to use the incorrect iso-8859-1 map) > > > > The version 6.0+20160319-2 doesn't send the characters "\e(B\e)0" at > > initialization, so iso-8859-2 works there. > > It's not that simple.
... > That is, a hard reset would have the same effect, pointing G0/G1 to > the Latin1 and VT100 graphics tables. The "reset" program does this. I'd like to get this point resolved. > It's a bit of a mess, but basically the old/new control codes don't work > together. (more later) ...continuing, I wrote a script to (attempt to) exercise the various character sets by writing all of the printable characters with each of the selectable fonts, and changed my console-setup file to use ISO-8859-2 (both attached). Currently I have via infocmp comparing linux2.2 to linux2.6: comparing booleans. comparing numbers. comparing strings. acsc: '+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i\316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x\263y\363z\362{\343|\330}\234~\376', '++\,\,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}c~~'. enacs: NULL, '\E(B\E)0'. rmacs: '\E[10m', '^O'. sgr: '\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;%?%p9%t;11%;m', '\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;'. sgr0: '\E[0;10m', '\E[m\017'. smacs: '\E[11m', '^N'. and (perhaps someone can point out where I'm missing it), the only difference I see (screenshots attached) is an odd glitch on the screen which seems to be unrelated to what I'm trying to investigate. -- Thomas E. Dickey <dic...@invisible-island.net> http://invisible-island.net ftp://invisible-island.net
#!/usr/bin/perl -w # $Id: linux-chrset,v 1.7 2016/07/23 20:52:37 tom Exp $ # man console_codes shows these: # SGR 10, 11, 12 # SO (0x0E, ^N) activates the G1 character set; # SI (0x0F, ^O) activates the G0 character set; # ESC ( Start sequence defining G0 character set # ESC ( B Select default (ISO 8859-1 mapping) # ESC ( 0 Select VT100 graphics mapping # ESC ( U Select null mapping - straight to character ROM # ESC ( K Select user mapping - the map that is loaded by # the utility mapscrn(8). # ESC ) Start sequence defining G1 # (followed by one of B, 0, U, K, as above). use strict; $| = 1; our @scs = qw( B 0 U K ); sub doit() { $ENV{TERM} = shift; system("clear"); my $enacs = `tput enacs`; my $smacs = `tput smacs`; my $rmacs = `tput rmacs`; my $max = 75; for my $SCS ( 0 .. $#scs ) { for my $SI ( 0 .. 1 ) { my $adj = 0; for my $chr ( 32 .. 255 ) { my $row = ( $chr / $max ); my $col = ( $chr % $max ); if ( ( $adj % $max ) == 0 ) { printf "\n" if ( $adj != 0 ); printf "%s%s", $rmacs, $enacs; printf "%s%d: ", $scs[$SCS], $SI; printf '%s', $SI ? $smacs : $rmacs, $SI; printf "\033(%s", $scs[$SCS]; printf "\033)%s", $scs[$SCS]; } printf "%c", $chr; ++$adj; } printf "\n"; } } printf "%s", $rmacs; } if ( $#ARGV >= 0 ) { while ( $#ARGV >= 0 ) { &doit( shift @ARGV ); } } else { &doit("linux"); } 1;
# CONFIGURATION FILE FOR SETUPCON # Consult the console-setup(5) manual page. ACTIVE_CONSOLES="/dev/tty[1-6]" #CHARMAP="UTF-8" CHARMAP="ISO-8859-2" CODESET="Lat2" FONTFACE="Fixed" FONTSIZE="8x16" VIDEOMODE= # The following is an example how to use a braille font # FONT='lat9w-08.psf.gz brl-8x8.psf'
signature.asc
Description: Digital signature