Bug 32193

Summary: Termcap ACS support for greek ISO-8859-7 fonts
Product: Base System Reporter: Αναστασάτος Βασίλειος <B.Anastasatos>
Component: miscAssignee: Alexey Zelkin <phantom>
Status: Closed FIXED    
Severity: Affects Only Me CC: past
Priority: Normal    
Version: 4.3-RELEASE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description Αναστασάτος Βασίλειος 2001-11-22 16:10:01 UTC
  cons25 termcap entry does not support properly ACS (Alternate
  Character Set) when a greek ISO-8859-7 font is activated.  The reason
  is that cons25 assumes a CP-437 encoded font.  When using a ncurses
  program that displays ACS characters (e.g. /usr/bin/dialog) the result
  is ugly lines and columns of repeated greek letters instead of
  beautiful line graphics.

Fix: The quick fix is to use cons25w instead of cons25, by setting TERM to
  that value or by changing the /etc/ttys entries.  Then ncurses library
  will substitute ASCII characters for ACS ones.

  A patch to /usr/src/share/termcap/termcap.src is included, that adds
  the entries cons25l7, cons25l7-m, cons30l7 etc.  The cons25l7 entry
  maps 4 ACS characters to positions in the upper half of ISO-8859-7,
  plus 4 more ACS characters to positions in the range 0-31, as does
  cons25.  ncurses emulates the remaining 24 ACS characters.

  The patch follows:

How-To-Repeat: 
  Activate greek locale and run vidfont or kbdmap.  Both programs use
  /usr/bin/dialog to display dialog boxes with borders made of ACS
  characters.  Unless a patch that chooses a greek font is applied on
  /syscons/fonts/INDEX.fonts (or /syscons/keymaps/INDEX.keymaps,
  respectively), vidfont switches automatically to a CP-437 font, thus
  hiding the problem.  Now, switch to another virtual console and choose
  an ISO-8859-7 greek font, then switch back to the previous console.
  You will notice that the nice border around the menu box was
  transformed to lines of uppercase deltas and columns of superscript
  threes.
Comment 1 Andrey A. Chernov freebsd_committer freebsd_triage 2001-11-22 19:28:37 UTC
State Changed
From-To: open->analyzed

Committed into -current
Comment 2 Alexey Zelkin freebsd_committer freebsd_triage 2002-01-09 12:10:20 UTC
Responsible Changed
From-To: freebsd-bugs->phantom

I'll track MFC process
Comment 3 Andrey A. Chernov freebsd_committer freebsd_triage 2002-06-08 21:39:02 UTC
State Changed
From-To: analyzed->closed

This change MFC'ed