after install FreeBSD 14 in ports & make config the screen fonts are broken?

After I installed FreeBSD my font settings for the code page are no more working, inside the ssh terminal, when I use inside a port the make config command.
When I set the terminal code page for the ssh client to UTF-8 it works.
But in 13.1, the display with "make config" has worked with my code page setting. I have nothing changed in the settings.
What would help here?
ISO 8859-15 Font.jpg

locale
LANG=de_DE.ISO8859-15
LC_CTYPE="de_DE.ISO8859-15"
LC_COLLATE="de_DE.ISO8859-15"
LC_TIME="de_DE.ISO8859-15"
LC_NUMERIC="de_DE.ISO8859-15"
LC_MONETARY="de_DE.ISO8859-15"
LC_MESSAGES=en_US.ISO8859-1
LC_ALL=
in rc.conf

23 # KEYBOARD SETTINGS
24 font8x14="iso2-8x14"
25 font8x16="iso2-8x16"
26 font8x8="iso2-8x8"
27 #HL-170222 new:
28 # keymap: in /etc/rc.conf replace 'keymap=german.iso' by 'keymap=de.kbd'.
29 keymap="de.kbd"

and ???
/usr/sbin/kbdcontrol -i

kbdcontrol: unable to obtain keyboard information: Inappropriate ioctl for device

/etc/rc.d/syscons start
Configuring vt: keymap keyrate keybell2711;25B blanktime font8x160H7I7F0Gvidcontrol: iso2-8x16: can't load font file
font8x140H7I7F0Gvidcontrol: iso2-8x14: can't load font file
font8x80H7I7F0Gvidcontrol: iso2-8x8: can't load font file

Don't know was has happen. Any help?
 
When I set the terminal code page for the ssh client to UTF-8 it works.
It begs the question, what ssh client?

/etc/rc.d/syscons start
Configuring vt: keymap keyrate keybell2711;25B blanktime font8x160H7I7F0Gvidcontrol: iso2-8x16: can't load font file
Console settings (vt(4)) have nothing to do with connections made over ssh. Besides that, vt(4) only supports UTF-8.
 
It is the
https://www.bitvise.com/ssh-client
The terminal settings of code page ISO 8859-15 works all over the years.
It works also on the command line inside the terminal. But not in the screen of make config.
Setting the code page to UTF-8, then the terminal screen of make config is ok. But I prefer to keep my old settings.
I should remark, until now I have not compiled any software to ABI 14. Kernel and Userland are in 14.
 
The terminal settings of code page ISO 8859-15 works all over the years.
Not on vt(4), older versions of FreeBSD used sc(4) though, vt(4) has been the standard console driver since 9.3. The old sc(4) is still available. But if you use X on that system I don't recommend switching, one of the reasons sc(4) was replaced was because it didn't support KMS.

One other change that may have happened is the switch from ports-mgmt/dialog4ports to ports-mgmt/portconfig but that change has nothing to do with the FreeBSD version.
 
As SirDice mentioned, it's probably the new portconfig that can't cope with anything other than UTF-8, so, unrelated to the FreeBSD version .... but then:

But I prefer to keep my old settings.
Why?

pure (non multi-byte) 8bit encodings are deprecated for a very long time now. UTF-8 has been the de-facto standard (on many systems) for a long time. Just use it?
 
And to reiterate as I believe there's some confusion about it, your console settings (vt(4)) have nothing to do with the terminal settings on your Bitvise ssh client.
 
your console settings (vt(4)) have nothing to do with the terminal settings on your Bitvise ssh client.
Indeed. Although the encoding from locale settings will affect the display of (local) virtual terminals. So, changing these to use UTF-8 as well is still a good idea.
 
Not on vt(4), older versions of FreeBSD used sc(4) though, vt(4) has been the standard console driver since 9.3. The old sc(4) is still available. But if you use X on that system I don't recommend switching, one of the reasons sc(4) was replaced was because it didn't support KMS.
I do not use any X-windows programs on that server. I don't know if I use sc(4) or vt(4). How can I find it out?
I like to keep the German font settings because of writing some comments in config files. I will look at ports-mgmt/portconfig
Update: both dialog4ports-.. and portconfig-... are installed. So its right to remove dialog4ports?
 
I don't know if I use sc(4) or vt(4). How can I find it out?
If you don't know it's vt(4). It's been the default for a number of years and you have explicitly change it (thus you would know).

But you can also see it in your console output:
Code:
Configuring vt: keymap keyrate keybell2711;25B blanktime font8x160H7I7F0Gvidcontrol: iso2-8x16: can't load font file
            ^--- right here
And you can query kern.vty: sysctl kern.vty.

I like to keep the German font settings because of writing some comments in config files.
German locale should work fine with UTF-8.
 
Just FYI, the first 256 codepoints of the Unicode BMP (Basic Multilingual Plane) are exactly the same as ISO latin1 (ISO-8859-1).

For UTF-8 format, you'll still have to convert your text files though, as only 7 bits (0x00-0x7F) can be represented by a single byte.
 
You do know that Unicode unifies (ahem) all encodings?

For existing files, you can convert their encoding with iconv(1).
Sorry, yes you are right. I changed this with pure ASCII code. My settings for "locale" are very old. the standard setting "en_EN.UTF-8" does not worked for me. But I see de_DE.UTF-8 does. I have to change my old user settings for logon.
 
Sorry, yes you are right. I changed this with pure ASCII code. My settings for "locale" are very old. the standard setting "en_EN.UTF-8" does not worked for me. But I see de_DE.UTF-8 does. I have to change my old user settings for logon.
No, I go back to my old settings. I find the reason for my settings.
with UTF-8 I get with ls -la sysctl.conf i.e. the month "März" written as
-rw-r--r-- 1 root wheel 4870 M�rz 6 22:11 sysctl.conf
An in ee are wrong signs "^d Zeichen l�sch. ^j Zeich. r�ckh. ^z n�chstes Wort"

So I have to solve the problem with make config what have changed between FreeBSD 13.1 and 14.0
 
Your files don't magically use a different encoding. Convert them with iconv(1), e.g. iconv -f iso-8859-15 -t utf-8 sysctl.conf >sysctl.conf.utf8.

About the output of ls, it uses your locale settings, so change them too. What's the output of locale now?

Edit, to demonstrate the effect of locale:
Code:
$ locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_ALL=
$ ls -l README.md 
-rw-r--r--  1 felix  domain users  8612 13 März 16:43 README.md
$ LC_ALL=de_DE.ISO8859-15 ls -l README.md
-rw-r--r--  1 felix  domain users  8612 13 M�rz 16:43 README.md
$
 
BTW, yet another hint when you finally move to Unicode: If you have any file names containing any characters outside the ASCII range, you'll have to manually rename them as well. In *nix systems, file names don't have any encoding information but are just "opaque" sequences of bytes. That's a simplistic approach, but IMHO the right one ... any attempt to map encodings with filenames ends up in a complicated mess, especially with network shares. The best thing to do in general is to always restrict your file names to ASCII, then your locale won't matter.
 
I have try this
=> locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_MONETARY=de_DE.ISO8859-15
LC_MESSAGES="de_DE.UTF-8"
LC_ALL=
ls -,laiohsG -D "%d.%b%Y %H:%M:%S" syslog.conf
-rw-r--r-- 1 root wheel 3549 März 14 15:39 syslog.conf //OK
d syslog.conf //same with script
197838 4 -rw-r--r-- 1 root wheel - 3,5K 14.M�rz2024 15:39:55 syslog.conf //wrong

going with ee into syslog.conf and typing "ÄÜÖ" I get a "~ ~ ~"


iconv -f iso-8859-15 -t utf-8 syslog.conf > syslog.conf.utf8

going with ee into syslog.conf.utf8 and typing "ÄÜÖ" I get a "~ ~ ~"

somethings work, somethings not
 
Sorry, but the thread here is not about how do I better use UTF-8. Or how I could convert files. Or witch code page I should better use.

The point is: with code page "de_DE.ISO8859-15" and FreeBSD 13.1 the make config dialog has worked. With FreeBSD 14.0 it does not work anymore as before. Something must have been changed between the two versions! The terminal client has the same settings as before.
The question is what and where?
Is a font compilation missing?
New default settings for terminals?
New default settings for FreeBSD dialogs?
 
The point is: with code page "de_DE.ISO8859-15" and FreeBSD 13.1 the make config dialog has worked. With FreeBSD 14.0 it does not work anymore as before.
That's a wrong conclusion as SirDice already pointed out. What did change somewhat recently is the tool used to display dialogs by the ports framework. This has nothing to do with the FreeBSD version. Don't confuse coincidence with correlation.

Sorry, but the thread here is not about how do I better use UTF-8. Or how I could convert files. Or witch code page I should better use.
It should better be, as I wouldn't expect that new tool to be "fixed" regarding lots of legacy 8bit encodings nobody uses any more.
 
going with ee into syslog.conf and typing "ÄÜÖ" I get a "~ ~ ~"
Now that looks like what you get from a terminal expecting some 8bit encoding (like ISO-8859-1), but getting UTF-8.

In a nutshell, make sure the encodings match on both side. If you want to use UTF-8, configure the locale on the server to use it and configure the terminal of your ssh client to use it as well.
 
After I installed FreeBSD my font settings for the code page are no more working, inside the ssh terminal, when I use inside a port the make config command.
When I set the terminal code page for the ssh client to UTF-8 it works.
But in 13.1, the display with "make config" has worked with my code page setting. I have nothing changed in the settings.
What would help here?
View attachment 18478
locale

in rc.conf



and ???
/usr/sbin/kbdcontrol -i

kbdcontrol: unable to obtain keyboard information: Inappropriate ioctl for device

/etc/rc.d/syscons start
Configuring vt: keymap keyrate keybell2711;25B blanktime font8x160H7I7F0Gvidcontrol: iso2-8x16: can't load font file
font8x140H7I7F0Gvidcontrol: iso2-8x14: can't load font file
font8x80H7I7F0Gvidcontrol: iso2-8x8: can't load font file

Don't know was has happen. Any help?



Hi, thank you for the report.

Please could you to share the output of:

% /usr/local/bin/bsddialog --menu test 0 0 0 a 1 b 2 c 3 d 4
 
After I installed FreeBSD my font settings for the code page are no more working, inside the ssh terminal, when I use inside a port the make config command.
When I set the terminal code page for the ssh client to UTF-8 it works.

Sorry I didn't read your post carefully, please ignore my previous comment.
This is a known problem (PR 275304). The cause is evident (you could refer to my last comment #22). The better solution is in progress/discussion.
 
Hi, thank you for the report.

Please could you to share the output of:

% /usr/local/bin/bsddialog --menu test 0 0 0 a 1 b 2 c 3 d 4
I could not find
/usr/local/bin/bsddialog
ls -la /usr/local/bin/bsddialog
ls: /usr/local/bin/bsddialog: No such file or directory
but its in /usr/bin/bsddialog

/usr/bin/bsddialog --menu test 0 0 0 a 1 b 2 c 3 d 4
Test is OK, make config dialog is not OK / code page: de_DE.ISO8859-15 - both server and terminal
bsddialog-test-ok.jpg
make config dialog not ok.jpg
 
This is still UTF-8 output interpreted as ISO-8859-15, in other words, a bug manifesting in non UTF-8 locales. Even if this one is fixed soon, you'd completely avoid it (and potentially many other problems) by just using UTF-8 as well, it's been the "de facto standard" for many many years now.

And it's really not complicated to do, just make sure the locale on your server matches the settings of your (remote) terminal, IOW, use UTF-8 on both ends. 🤷‍♂️
 
Back
Top