mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-02 09:49:28 +01:00
modern Linuxes by a patch for UTF-8 console output.
Previously, only BeOS used UTF-8. Tested with:
- the linux console
- xterm
- gnome-terminal
- konsole
- rxvt-unicode
using Fedora 11.
Tested with
- gnome-terminal
- xterm
- konsole
using Ubuntu 9.04
Known "features":
* high intensity colours were actually normal intensity, with a bold attribute set.
This worked fine under gnome-terminal, but xterm didn't have bold versions of all cp437 characters,
which screwed up the window borders in the IDE. And although konsole had them, I didn't like the font -
it converted all the double window borders to a very thick single-line border.
So I disabled the bolding of high intensity colours in all X11 terminals (TERM=xterm)
and replaced it with another ANSI attribute, that actually sets high intensity
colours, but is not (in theory) supported by all terminals. The linux console doesn't
support it - it actually wants a bold attribute, to set high intensity,
so that's why I enabled it only for X11 terminals. All the ones,
that I tried, worked fine (xterm, gnome-terminal,
konsole, rxvt-unicode, also the plain old rxvt, with a non-UTF-8 locale).
* Fedora 11 by default uses a 512-characters font, called latarcyrheb-sun16
for the linux text mode console, which disables the high intensity colours,
effectively reducing the set of available colours to only 8.
This is a hardware limitation of the VGA hardware and can be avoided by
using a 256-character font. It does not need to be cp437,
but it has to have an unicode mapping.
* I haven't tried other linux distros (and unix-like OSes, i.e. FreeBSD and Mac OS X) -
although they should work in theory, they might look bad, due to different fonts, etc.
git-svn-id: trunk@13651 -
|
||
|---|---|---|
| .. | ||
| amiga | ||
| arm | ||
| atari | ||
| avr | ||
| beos | ||
| bsd | ||
| darwin | ||
| embedded | ||
| emx | ||
| freebsd | ||
| gba | ||
| go32v2 | ||
| haiku | ||
| i386 | ||
| inc | ||
| linux | ||
| m68k | ||
| macos | ||
| morphos | ||
| nds | ||
| netbsd | ||
| netware | ||
| netwlibc | ||
| objpas | ||
| openbsd | ||
| os2 | ||
| palmos | ||
| powerpc | ||
| powerpc64 | ||
| qnx | ||
| solaris | ||
| sparc | ||
| symbian | ||
| ucmaps | ||
| unix | ||
| watcom | ||
| win | ||
| win32 | ||
| win64 | ||
| wince | ||
| x86_64 | ||
| COPYING.FPC | ||
| COPYING.txt | ||
| fpmake.inc | ||
| fpmake.pp | ||
| Makefile | ||
| Makefile.fpc | ||
| README.txt | ||
This is the Run-Time Library (RTL) tree for Free Pascal.
To recompile the RTL, edit the main makefile. The makefiles NEED a GNU make
compatible make, they need unix-like 'rm' and 'mv' commands, as well as some
others. You can find these in the gnuutils package on the ftp site.
The main makefile is located ABOVE the RTL tree. It uses the FPC
makefile.fpc to guess reasonable defaults for everything it needs.
(these files can be found in base.zip on the FTP site)
The only variable that you may want to set are
FPC - What compiler to use. Use an absolute path.
(default is ppc386)
INSTALL_UNITDIR - Where to install the RTL units
OPT - any special options you want to set for the compiler.
In principle, you can also descend into the subdirectory of your OS, and
type 'make' there, that should also compile everything.
The tree contains subdirectories for all the supported operating systems,
as well as all processor architectures. The processor directories contain
low-level routines which are required for the system unit (if they are not
available in high-level language form), as well as optimized versions of
the pascal generic routines (the generic routine source code is localed in
the inc subdirectory).
The following directories are not supported officially and may not work
correctly with FreePascal v1.0:
go32v1 - The DJGPP go32v1 DOS extender (no longer supported)
palmos - The PalmOS directory for the Dragonball (incomplete)
Enjoy.