|
|
Cooledit - Frequently Asked Questions (FAQ)
The information in this file is provided without warranty
for its accuracy or completeness. Use of this file or its
information is entirely at your own risk.
CONTENTS
* 1 Introduction and General Information
+ 1.1 What is Cooledit?
+ 1.2 Who has written it?
+ 1.3 Does it run on my machine?
+ 1.4 Does Cooledit require any proprietary libraries to run?
+ 1.5 Is Cooledit copyrighted? What is the licensing agreement?
+ 1.6 What is the latest version of Cooledit?
+ 1.7 Can Cooledit be ported to Gtk?
+ 1.8 What is Python and its relevance to Cooledit?
+ 1.9 Should I worry about cutting-edge/BETA releases?
+ 1.10 Where can I get a complete list of title-bar hint messages?
+ 1.11 Can I make Cooledit look like NeXT-ish application?
+ 1.12 How do I send a bug report?
+ 1.13 How do I send a compilation bug report?
+ 1.14 Why is there a built in rxvt and what is interesting about it?
* 2 Network Sources and Resources
+ 2.1 Where can I get Cooledit?
+ 2.2 Where can I get Python?
+ 2.3 Does Cooledit have a mailing list?
+ 2.4 Does Cooledit have a world wide web home-page?
+ 2.5 What other applications are called 'cooledit'?
* 3 Common Problems
+ 3.1 How do I get the commands from the 'Scripts' menu to work?
+ 3.2 How do I get the man page browser to work?
+ 3.3 The man page browser displays the man page, but gives a warning.
+ 3.4 In what ways does Cooledit behave differently to other X applications?
+ 3.5 How do I get Emacs key-bindings, or bindings of other editors?
+ 3.6 How do I get function keys F13 and up with my keyboard?
+ 3.7 How do I paste into an input widget like the file browser input line?
+ 3.8 How do I get my Alt/Meta key to work?
+ 3.9 Why do my other drag and drop applications not work with Cooledit?
+ 3.10 Where can I get more info on drag and drop?
+ 3.11 How do I get mail to work?
+ 3.12 How do I do regular expression substring replaces?
+ 3.13 Why does Cooledit die occasionally for no reason?
+ 3.14 How can I print from Cooledit?
+ 3.15 How can I enable NeXT look in Cooledit?
+ 3.16 How do I change the background color?
+ 3.17 How do I install on HP-UX?
* 4 International Characters
+ 4.1 How do I enable international character support?
+ 4.2 How do I compose and insert international characters?
+ 4.3 My keyboard doesn't have a right-control key.
+ 4.4 Where can I get more information on UNIX and ISO?
+ 4.5 Help me with ISO8859-2 (Latin 2) character set support?
+ 4.6 How do I display UNICODE and UTF8?
+ 4.7 Where do I get UNICODE examples?
+ 4.8 What is anti-aliasing?
+ 4.9 How does Cooledit anti-alias fonts?
+ 4.10 How do I get anti-aliased fonts to work?
* 5 Coolicon
+ 5.1 Where has coolicon gone to?
* 6 Syntax Highlighting
+ 6.1 How does the syntax highlighting work?
+ 6.2 How fast is the syntax highlighting?
+ 6.3 Do the authors of Cooledit endorse these programming languages?
+ 6.4 Where on the Internet can I get more syntax highlighting definitions?
+ 6.5 Can I use syntax definitions from other editors?
* 7 Debugger
+ 7.1 How does Cooledit manage to be a debugger?
+ 7.2 How do I insert a watch point?
+ 7.3 How do I enter other commands not shown in the menu?
* 8 Printing
+ 8.1 How do I print with Cooledit?
+ 8.2 How do I print if my character set isn't supported?
* 9 Look and Feel
* 9.1 What is Look?
* 9.2 How do I envoke a Gtk Look for Cooledit?
* 9.3 Is Cooledit a Gtk application?
_________________________________________________________________
1 INTRODUCTION AND GENERAL INFORMATION
1.1 What is Cooledit?
Cooledit is a full-featured text editor, for Unix computers that run
the X Window System. Cooledit was born from a need for a user
friendly text editor that would rival editors of other operating
systems in ease of use and convenience. Lately Cooledit is also a
powerful programmer's editor. It is also small and fast, making it
ideal for interface with applications that allow for, or require, an
external editor. See 'Features' in the man page for a more elaborate
description of what Cooledit can do.
1.2 Who has written it?
Cooledit was written by Paul Sheer. A few odd C functions and the
regular expression library were taken from Rxvt, Dnd and the Midnight
Commander (thanks guys). Their respective authors are acknowledged in
the source. See THANKS in the man page for help that I received from
users.
Sasha Vasko added the NeXT look and feel for the purposes of making
Cooledit look like other AfterStep applications.
1.3 Does it run on my machine?
Cooledit was initially written only for Linux, but now uses GNU
autoconf, and will therefore compile under any Unix compatible
system, provided that system is running the X Window System, Version
11. If it doesn't run as expected, please email me ASAP. On the other
hand, ask your local LUG first, since I don't have time to answer
generic questions. Cooledit does not require any of the X11
extensions that many other programs need to compile or run. Cooledit
has run on all the computer's listed in the man page.
1.4 Does Cooledit require any proprietary libraries to compile/run?
No. Cooledit requires only the basic X11 library (libX11) to run
which is available as free-ware. On some systems this may mean
linking with addition basic libraries (like libsocket?), which are
automatically determined by the ./configure script. In particular,
note that Cooledit does not require the Motif (libXm) library which
is not yet available for free.
1.5 Is Cooledit copyrighted? What is the licensing agreement?
Cooledit is licensed under the GNU GENERAL PUBLIC LICENSE. This means
that you can freely distribute Cooledit under certain conditions. The
file COPYING contains the full licensing agreement. You are advised
to read this license to be sure of your restrictions and obligations
when modifying or distributing Cooledit.
1.6 What is the latest version of Cooledit?
The distribution that this README file was packed into is
Cooledit Version 3.17.14
created on
27 November 2004
See 'Where can I get Cooledit?' below.
1.7 Can Cooledit be ported to Gtk?
Cooledit and Coolwidgets are deeply integrated since they were
developed simaltaneously. Cooledits behaviour has been honed at a low
level. To port to any other widget library would be close to a
complete rewrite. The editor widget itself is however running under
Gnome. This is not the complete Cooledit application, but a version
of Cooledit that works under the Midnight Commander (text mode) and
under the Gnome verison of the Midnight Commander.
1.8 What is Python and its relevance to Cooledit?
Python is an object orientated scripting language. (It can be
compared to Java but has a much more elegant and intuative design.)
It has the most succinct, sensable and readable syntax of any other
programming language whether interpreted or compiled. It suites rapid
application development (RAD) because it is easy to learn, because
Python applications are easy to maintain, and because it is simply
takes less time to do anything in Python than with anything else.
In the same way that Emacs uses lisp for writing extensions, and
Nedit has a macro programming language, Cooledit now can be custom
programmed with Python. This is an extremely powerful addition, since
all of Python's many extensions are available to Cooledit.
The Python home page is http://www.python.org/
Cooledit requires Python version 1.5
1.9 Should I worry about cutting-edge/BETA releases?
If I add something that has a general influence on the stability
of Cooledit, then I will normally release this with an announcement
indicating that the software is BETA. This is rare. Usually new
versions contain isolated features so if you want to be really
safe, check for what features are new and avoid them. If a specific
problem arises, get the latest release and see if that has been
fixed. Probably few users use all of Cooledit's features, hence
you should pick a version that you feel happy with and upgrade from
time to time to check what useful new stuff has been added.
1.10 Where can I get a complete list of title-bar hint messages?
The file HINTS contains such a list and installs in a doc/cooledit
directory with the other documentation files.
1.11 Can I make Cooledit look like NeXT-ish application?
You can compile Cooledit with --enable-NeXT-look option to make
coolwidgets look similar to NeXT-ish widgets. The similarity is not
complete though, as it was implemented to involve as little code
changes as possible.
It was inspired by GNUstep project <http://www.gnustep.org> and
AfterStep Window Manager <http://www.afterstep.org>.
1.12 How do I send a bug report?
If you discover a bug, please comply with the following procedure:
* Make sure yoy have the latest version. Do NOT report a bug
from an old version.
* Check through the available documentation (man page cooledit.1)
to decide if it really is a bug, or if you are just not
using something correctly. Also see if it is already
listed as a bug. If it is listed, feel free to complain that
it has not yet been fixed.
* Find out exactly how to reproduce the bug. If it is a
behavioural problem, define it in detail, explaining the exact
key presses and key releases involved. Phrases that merely complain
`I have difficulty...', or `...does not work...' are going
to be met with rudeness. Suggest exactly how you would like it
to function.
* If an error message was reported, quote the error message in
full, letter for letter.
* If the bug is a program crash, recompile Cooledit with the -g
option and use gdb to list a backtrace.
* Email the author. Be sure to quote the version number. The
operating system version, the version of libc you are using,
and the version of X.
* If the problem you are having is related specifically to the
NeXT look and feel version of Cooledit, and doesn't appear
in the normal version, the you may want to email Sasha Vasko.
* It is not necessary to prove that there really is a problem
with a lengthly litigative argument. Rather demonstrate it
with a precise procedure.
1.13 How do I send a compilation bug report?
It is considered important when Cooledit does not compile
and install cleanly on a particular UNIX system, hence please
report such problems.
Please try both the rpm package as well as source package
to identify where the problem lies. If one works, but not the
other, it is a useful hint to us that should be reported.
However, as a developer, I AM NOT HERE TO TEACH YOU
HOW TO INSTALL A GNU PACKAGE. Cooledit conforms quite
strictly to the guidelines for a GNU package, and anyone who
has experience installing other GNU packages from source
should have no difficulty with Cooledit.
If you have a genuine compilation difficulty, please send the
version number, the output of config.log and the output of
the configure and build phases of the installation, as
explained in the INSTALL file.
1.14 Why is there a built in rxvt and what is interesting about it?
See the file README.rxvt in the source distribution for information
about rxvt.
2 NETWORK SOURCES AND RESOURCES
2.1 Where can I get Cooledit?
The latest stable release can be obtained from
ftp://ftp.ibiblio.org/pub/Linux/apps/editors/X/cooledit/
2.1 Where can I get Python?
The Python home page is http://www.python.org/
There you will find a list of the many mirror sites
around the world.
Cooledit requires Python version 1.5
2.3 Does Cooledit have a mailing list?
No. Correspondence to be addressed through the
author. Please don't bug me with generic queries.
There are newsgroups and local Linux User Groups
for that.
2.4 Does Cooledit have a world wide web home-page?
No
2.5 What other applications are called 'cooledit'?
I havn't done a search myself, but users tell me that a program
'cooledit', for editing sound files, exists for one non-unix
operating system. Since this application has a complete different
function to Cooledit, this should cause no problem.
3 COMMON PROBLEMS
3.1 How do I get the commands from the 'Scripts' menu to work?
If a script doesn't function properly, try run it stand-alone from a
terminal to see what happens. Some of the scripts are not standard
Unix commands and require installation of other free-ware packages.
You may need to install
ispell
indent
latex
xdvi
rxvt
ghostview
dvips
(Look on you local sunsite or tsx mirror for these and other
free-ware packages.) You can edit the script from the Script menu.
Look at the script's text and try run the script (make appropriate
substitutions for the filenames) from a terminal. This will usually
indicate the problem.
3.2 How do I get the man page browser to work?
(As of version 3.3.3, the configure script automatically
checks if man accepts '-a')
Look in the file ~/cedit/.cooledit.ini
Somewhere in the file is the line:
option_man_cmdline = man -a %m
You should try:
Start cooledit from a terminal.
See your man man-page (type man man at the terminal) to see if
command-line options or environment variables are needed.
See if the -a option is supported.
Then see if the command-line needs changing.
3.3 The man page browser displays the man page, but gives a warning.
This can safely be ignored.
3.4 In what ways does Cooledit behave differently to other X applications.
Cooledit is more similar to applications from 'other' operating systems
than to standard X applications.
- Only two mouse buttons are supported. Mouse button 1 is recognised as
the 'Left' button, while all other buttons are recognized as the
'Right' button. Under the Options menu you can however set the middle
mouse button to paste.
- Double clicking is synonymous with acknowledgement or pressing Enter.
- The Tab key is always used to cycle between items in a dialog box.
The arrow keys can also be used where they are not bound to some
other function. Shift-Tab or back-tab is used to cycle backward.
- Shift-arrow text highlighting works along with its well known keys:
Control-Ins and Shift-Ins. In addition Alt/Meta-Ins brings up
a cut and paste history which is very useful.
- Dragging and dropping bits of text poses the problem of how to
tell if the user wants to copy or to move the text being highlighted:
use the Left mouse button to copy and the right mouse button to move
('move' = 'copy and then delete the original'). Dragging always works
by highlighting the text with the mouse or cursor keys, and then
Clicking (with the appropriate button) and dragging from within
the highlighted region.
- Clicking with button 2 to copy text from another application doesn't
work --- instead you must use Shift-Insert. If text is highlighted
in another application it will then be inserted at the cursor.
Under the Options menu you can however set the middle mouse button
to paste. Cooledit also does not discriminate between different kinds
of data, so any data being copied to Cooledit will be accepted and
inserted.
- Copying of text to another application works as usual: highlight it
with the mouse and click the middle mouse button in the window of
the application. You can also highlight it with the arrow keys and
press Control-Ins, and then click the middle mouse button in the
window of the application.
- Regular expression substring replaces are not like other Unix editors.
See under `How do I do regular expression substring replaces?'.
3.5 How do I get Emacs key-bindings, or bindings of other editors?
The key learning dialog box is easy to use. Just go through the list,
pressing the keys you would like. Double key combinations will not
work however.
Cooledit now contains a builtin Python interpretor which can be used
to program double key combinations and effectively emulate any other
editor. Anybody want to create a vi emulation?
3.6 How do I get function keys F13 and up with my keyboard?
Shift with a function key is analogous to adding 10 to the function
key. i.e. Shift-F3 is F13 etc.
3.7 How do I paste into an input widget like the file browser input line?
Press Shift-Insert in the input line.
3.8 How do I get my Alt/Meta key to work?
On some machines, what the system thinks is an Alt/Meta key is
actually one of the other hyper keys (on my Sun I have to use the key
with the diamond on it). Try using one of these other keys as a
Alt/Meta. The header file global.h contains the definition of the
Alt/Meta key which you can change if you know what you are doing.
3.9 Why do my other drag and drop applications not work with Cooledit?
The freeware community is adopting a new drag and drop protocol
called XDND. Cooledit now works with this protocol only. It supports
version 0, 1 and 2 of the protocol, although I have not tested it
with versions below 2. Just when I had it working with version 2 of
this protocol, the XDND team adopted a new version 3, which I haven't
been able to get working. When more XDND applications come out (Qt is
said to be going XDND) then I will have a more thorough test-bed for
version 3 of the protocol and will probably be able to get this
working.
3.10 Where can I get more info on drag and drop?
http://www.cco.caltech.edu/~jafl/xdnd/
3.11 How do I get mail to work?
If mail doesn't work, your mail command probably doesn't support one
of the command line options (see the mail dialog). You will have to
create a mail script that ignores these options. The command is not
currently configurable. Watch cooledit's stdout when sending mail to
see mail error messages.
3.12 How do I do regular expression substring replaces?
Substrings are specified between ( and ) braces. Use \( to specify a
literal (. %s can be used to insert a substring into the replacement
string. Use %% for a literal %. Use the third field of the
replacement dialog box to enter the order in which the substrings
will be inserted, eg.
3,4,1,3
This is different to sed replacements which use \( \) for substrings
and \1, \2 ... for replacements. Also see the man page for an example.
3.13 Why does Cooledit die occasionally for no reason?
If you have bad RAM or some kind of hardware problem it will be
noticeable when you do kernel compiles. It will also be noticeable when
you use Cooledit because of the very weird way Cooledit shuffles memory
around.
I have noticed that Cooledit can crash after being up for several weeks
non stop. If anyone can send me a backtrace it would be appreciated. I
am not sure if this is a Cooledit problem though.
I also noticed crashes when using paragraph formatting in
combination with auto-spellcheck. I fixed some potential problem
code with regard to this, but can't be sure its gone.
3.14 How can I print from Cooledit?
From the `File' menu.
3.15 How can I enable NeXT look in Cooledit?
When building cooledit use --enable-NeXT-look option of
configure script.
3.16 How do I change the background color?
Edit your ~/.cedit/.cooledit.ini file and search for
option_editor_bg_normal
Colors are 1 through 26, but only 0 and 1 make any sense if you are
using syntax highlighting.
3.17 How do I install on HP-UX?
I compiled Python with readline, termcap, and C++ support, so I
required lots of extra libraries. I also install cooledit in my
home directory /home/sheerp under a directory 'usr':
CC=cc ./configure --prefix=/home/sheerp/usr --with-libs=\
'-L/usr/python/lib/ -lreadline -ltermcap -lnsl -lrt -ldld -lpthread -lstd -lstream -lCsup -lm -lcl -lc'
but you could probably get away with a lesser list, or, if you
left Python out altogether, just:
CC=cc ./configure
Note that my HP-UX box is setup like:
#[sheerp] /home/sheerp # which cc
/bin/cc
#[sheerp] /home/sheerp # ls -al /bin/cc
lr-xr-xr-t 1 root sys 17 Nov 21 2002 /bin/cc -> /opt/ansic/bin/cc
#[sheerp] /home/sheerp # /opt/ansic/bin/cc -h
cc: warning 422: Unknown option "h" ignored.
*sigh*
4 INTERNATIONAL CHARACTERS
4.1 How do I enable international character support?
International character support has changed as of version 3.10, and
now properly uses the libc6 locale functionality. Hence you should
set the LANG and LC_ALL environment variables to reflect your locale,
and install the appropriate locale files. Most distributions will
have these locale files installed already in say
/usr/share/i18n/locales/
You can then type
export LC_ALL=cs_CZ
export LANG=cs_CZ
cooledit
A full list of locales on my system is: POSIX, cs_CZ, da_DK, de_AT,
de_BE, de_CH, de_DE, de_LU, el_GR, en_AU, en_CA, en_DK, en_GB, en_IE,
en_NZ, en_US, en_ZA, es_AR, es_BO, es_CL, es_CO, es_DO, es_EC, es_ES,
es_GT, es_HN, es_MX, es_PA, es_PE, es_PY, es_SV, es_US, es_UY, es_VE,
et_EE, eu_ES, fi_FI, fo_FO, fr_BE, fr_CA, fr_CH, fr_FR, fr_LU, ga_IE,
he_IL, hr_HR, hu_HU, id_ID, in_ID, is_IS, it_CH, it_IT, iw_IL, ja_JP,
kl_GL, lt_LT, lv_LV, nl_BE, nl_NL, no_NO, pl_PL, pt_BR, pt_PT, ro_RO,
ru_RU, ru_SU, ru_UA, sk_SK, sl_SI, sr_YU, sv_FI, sv_SE, tr_TR, uk_UA,
zh_CN.
You should also choose an appropriate font for your locale if it
requires other than the normal iso8859-1 character set, such as the
koi8 fonts for Russian language support. For example,
cooledit -font '-cronyx-fixed-medium-r-normal--20-200-75-75-c-100-koi8-r'
4.2 How do I compose and insert international characters?
Use Right-Control and the character that the international
character most looks like. Then press a second character that
would compose that character typographically.
Eg. Ctrl-a o inserts a ''
The file INTERNATIONAL in the source distribution contains a
complete list of character compositions. Note that cooledit does
not compose characters in a standard way.
Cooledit now supports two input methods.
* First, using the right control key where you can insert
all of the ISO8859-1 or ISO8859-2 characters. This is Cooledit's
internal protocol.
* And second, using X Input Method (XIM) system. This uses
the compose key defined in your X config files (XF86Config
on Linux) and is what all other application use.
4.3 My keyboard doesn't have a right-control key.
The header file global.h contains the definition of the
Compose key for Cooledit's internal method of character
compsing. You can change to one of the others in the list of
examples. You will have to recompile though with
make clean
make
make install
For the change to take effect.
(you can, alternatively, just remove the file coolnext.o to re-make.)
4.4 Where can I get more information on UNIX and ISO?
See the 'ISO 8859-1 National Character Set FAQ'
The most recent version of this document is available via anonymous
ftp from ftp.vlsivie.tuwien.ac.at under the file name
/pub/8bit/FAQ-ISO-8859-1"
4.5 Help me with ISO8859-2 (Latin 2) character set support?
Pavel Hampl <phampl@chmi.cz> reported that there are
libraries for Latin-2.
If you don't have these, Cooledit has its own builtin
Latin-2 support. Thanks to Matej Knopp <matej@europe.com>
for writing support for this. See the file INTERNATIONAL
for how to compose characters.
4.6 How do I display UNICODE and UTF8?
cooledit --utf8-interpretation --all-characters --no-fontset \
-font -gnu-unifont-*-*-*--*-*-*-*-*-*-iso10646-1
You will have to install the gnu Unicode font first:
0. Get the file unifont.pcf.gz from somewhere (like
http://czyborra.com/unifont/) or get the file
unifont.hex and make it with:
a. hex2bdf unifont.hex > unifont.bdf
b. bdftopcf unifont.bdf > unifont.pdf
c. gzip unifont.pdf
--> all available from same site.
1. Copy the file unifont.pcf.gz to
/usr/X11R6/lib/X11/fonts/misc/
2. ( cd /usr/X11R6/lib/X11/fonts/misc/ ; mkfontdir )
3. xset fp rehash
4. xlsfonts | grep 10646
Another resource for fonts is
http://www.cl.cam.ac.uk/~mgk25/unicode.html
It should be emphasised that Unicode is not a method of displaying
characters, but a method of storing language in a minimalists code.
ASCII does the same thing with *very ordinary* English text. Each
application still has to implement things like putting Hebrew vowels
below (and not next to) their respective characters. However, an
application that can display overlapped characters like this should
really be able to do with far fewer Chinese ideographs???. What I am
saying here is that a Character Set is not a well defined thing. Also,
consider LaTeX -- we use Ascii to represent many none-Ascii glyphs,
should we now make a LaTeX where ∑ is entered instead of \sigma?
How would ∑ be entered on a US keyboard? Its much easier to
typeset most kinds of text with escape sequences that can be typed
with Ascii, than selecting them with dialogs. In any event, Unicode
feels like a good idea even though I'm not sure anyone really knows
what exactly it is supposed to accomplish.
Then also, text editors are not word processors. What a text editor is
supposed to do is pretty well defined (at least in *my* mind :-) and
has something to do with representing and editing a raw stream of
bytes in a consistent and clear manner. So I have kept in mind that
the user should always be aware that its eight bit bytes they are
editing. (One difference is that I go against recommendation for
erroneous UTF-8 codes: these are represented byte for byte, and
not as a single bad character - eg should be one char.)
4.7 Where do I get UNICODE examples?
Below is one, but you can also download ucs-fonts.tar.gz
from one of the above listed URL's. It has many examples.
(All these examples should display correctly with the above
options:)
Armenian: Կրնամ ապակի ուտել և ինծի անհանգիստ չըներ։
Basque: Kristala jan dezaket, ez dit minik ematen.
Brazilian Portuguese: Consigo comer vidro. Não me machuca.
Cabo Verde Portuguese: M'tá podê kumê vidru, ká stá máguame.
Catalan: Puc menjar vidre que no em fa mal.
Chinese: 我能吞下玻璃而不伤身体。
Croatian: Ja mogu jesti staklo i ne boli me.
Czech: Můžu jíst sklo; to mi neškodí.
Danish: Jeg kan spise glas, det gør ikke ondt på mig.
Dutch: Ik kan glas eten. Het doet geen pijn.
English: I can eat glass and it doesn't hurt me.
Esperanto: Mi povas manĝi vitron, ĝi ne damaĝas min.
Estonian: Ma vōin klaasi süüa, see ei tee mulle midagi.
Finnish: Pystyn syömään lasia. Se ei koske yhtään.
French: Je peux manger du verre, cela ne me fait pas mal.
Frisian: Ik kin glês ite, it docht me net sear.
Galician: Eu podo xantar cristais e non cortarme.
German: Ich kann Glas essen, ohne mir weh zu tun.
Greek: Μπορώ να φάω σπασμένα γυαλιά χωρίς να πάθω τίποτα.
Hebrew: אני יכול לאכול זכוכית וזה לא מזיק לי.
Hungarian: Meg tudom enni az üveget, nem árt nekem.
Icelandic: Èg get borðað gler, það meiðir mig ekki.
Irish: Tá mé in ann gloine a ithe; Ní chuireann sé isteach nó amach orm.
Italian: Posso mangiare il vetro e non mi fa male.
Japanese: 私はガラスを食べられます。それは私を傷つけません。
Latin: Vitrum edere possum; mihi non nocet.
Latvian: Es varu ēst stiklu, tas man nekaitē.
Malay: Saya boleh makan kaca dan ia tidak mencederakan saya.
Milanese: Sôn bôn de magnà el véder, el me fa minga mal.
Norwegian: Jeg kan spise glass uten å skade meg.
Polish: Mogę jeść szkło, i mi nie szkodzi.
Portuguese: Posso comer vidro, não me faz mal.
Provençal: Pòdi manjar de veire, me nafrariá pas.
Québécois: J'peux bouffer d'la vitre, ça m'fa pas mal.
Romanian: Pot să mănânc sticlă şa ea nu mă răneşte.
Russian: Я могу есть стекло, это мне не вредит.
Scottish Gaelic: S urrainn dhomh gloinne ithe; cha ghoirtich i mi.
Sicilian: Puotsu mangiari u vitru, nun mi fa mali.
Slovak: Môžem jesť sklo. Nezraní ma.
Soenderjysk: Æ ka æe glass uhen at det go mæ naue.
Spanish: Puedo comer vidrio, no me hace daño.
Swedish: Jag kan äta glas, det skadar mig inte.
Tagalog: Kaya kong kumain nang bubog at hindi ako masaktan.
Thai: ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ
Turkish: Cam yiyebilirim, bana zararı dokunmaz.
Twi: Metumi awe tumpan, ɜnyɜ me hwee.
Vietnamese: Tôi có thế ăn thúy tinh, kông hại gì.
Welsh: Dw i'n gallu bwyta gwydr, dwy e ddim yn gwneud dolur i mi.
Yiddish: איך קען עסן גלאָז און עס טוט מיר נישט װײ.
Yoruba: Mo lè je̩ dígí, kò ní pa mí lára.
4.8 What is anti-aliasing?
Aliasing is a term from signal processing meaning that
the digital representation of a signal has coveted the
signal. It is most applicable to signal sampling, when,
say a sound is sampled at too low a frequency,
causing a misrepresentation of the sound.
To cure signal aliasing, filtering is applied to remove
frequencies that are high enough to "alias" with the
sampling frequency.
In image processing, aliasing refers to the jagged look
in images represented with large pixels. These can be
removed by "smoothing" the image: slightly blurring the
image --- filtering the image; which is analogous to
filtering out high frequencies in sound samples.
Television sets are a good example of well anti-aliased
devices. Even though they are scarcely 400 by 300
pixels in resolution, one is hardly aware that the screen
is made up of discrete scan lines.
Anti-aliased image operations are evident with image
utilities that produce good quality images even after
rotation and scaling. There are several (rather obvious
techniques) for operating on images while avoiding
aliasing. For example, when shrinking an image, never
merely take spaced samples, neither take averages of
"larger pixels"; rather first properly filter the image
down to the required spacial resolution (using a
convolution with a filtering function).
Fonts are an extra problem. To reduce jagged edges,
we can render the font at higher resolution and then
scale it properly with variable colour intensity levels of
the pixels. More attractively, we can devise a font
rendering engine that produces grey level intensity
glyphs instead of 2 colour ones.
4.9 How does Cooledit anti-alias fonts?
Cooledit simply uses a large font and then scales it
with a filter. It exploits the sub-pixel LCD design
to achieve higher-than-screen horizontal resolution.
See http://grc.com/cleartype.htm for more info.
A comprehensive resource on anti-aliased font rendering
and its problems can be found at
http://freetype.sourceforge.net/
Hinting (aligning glyph features with pixels) is
discussed. This is a far more sophisticated method
than the one Cooledit uses, and produces much better
results.
4.10 How do I get anti-aliased fonts to work?
Use the command line:
cooledit -font -winfonts-arial-bold-r-*-*-45-*-*-*-*-*-iso8859-1/3 --red-first
or
cooledit -font -winfonts-arial-bold-r-*-*-45-*-*-*-*-*-iso8859-1/3 --blue-first
depending on the ordering of your LCD monitor. If they
look the same, it means you don't have an LCD
monitor.
The `/3' after the font means to scale the font by a
factor of three.
Note that it is essential to have true type font support.
Other fonts will most likely not scale with high enough
quality to give a worthwhile appearance. Install the
FreeType font sever xfstt or get X 4 with ttf support.
5 COOLICON
5.1 Where has coolicon gone to?
It has been removed from the source.
6 SYNTAX HIGHLIGHTING
6.1 How does the syntax highlighting work?
Syntax highlighting does not work the way you expect it does --- the
colors of each character that you see on the screen are not stored
anywhere within cooledit. Rather when the character is rendered, its
colour is looked up from its context using a highly optimised
algorithm.
This means that syntax highlighting is not being calculated as you
press keys or modify text. It is being calculated with each redraw of
a character. This imposes certain limitations on the kind of syntax
highlighting rules that are possible, but, with a little imagination,
a rich and elegant description of your language can be created.
6.2 How fast is the syntax highlighting?
Python and C code are parsed at a 350kB per second on a PII300. Perl
code at 250kB per second. (In the sense that paging to the bottom of
the 1M file will take 3 or 4 seconds.) However, the speed is highly
dependent on the number of rules as well as the content of the text
itself.
6.3 Do the authors of Cooledit endorse these programming languages?
No. All syntax files found or recieved that appear to work are
included in the distribution. It does not mean that those languages
are commonly used.
6.4 Where on the Internet can I get more syntax highlighting definitions?
No where. Cooledit comes complete with every syntax definition
I know about. It is possible that others have created their own,
If I ever find any that no one has told me of, I will immediately
include it.
6.5 Can I use syntax definitions from other editors?
No. There is no standard for syntax highlighting methods that I
know of. Syntax highlighting rules are the invention of each package.
Cooledit's are unique.
7 DEBUGGER
7.1 How does Cooledit manage to be a debugger?
Cooledit has no builtin support for debugging executables. It
interfaces with gdb by sending gdb the commands that one normally
types into gdb's text interface.
As such, newer versions of gdb may break the interface by sending
unexpected output. It is unlikely (??) that the gdb maintainers would
change the error reporting though.
Hence, you should not expect the robustness of a proper debugger. For
instance, breakpoints will not be removed if you close an edit
window, nor will changes to a file be noticed by gdb - you have to
rebuild and rerun your executable or even kill the debugger from the
Debug menu.
7.2 How do I insert a watch point?
Add a new variable to your display list `Display variable...' from
the `Debug' menu.
A text box will appear (if one is not already open). You can set a
watch point by hitting `Ins' inside the textbox with the cursor over
the variable of your choice. It will then be highlighted in blue.
7.3 How do I enter other commands not shown in the menu?
You can insert any command you want with Ctrl-F1 (`Enter command...').
See the gdb info pages (info gdb) for everything else that gdb can do.
8 PRINTING
8.1 How do I print with Cooledit?
Cooledit has a print dialog that can be invoked from the File
menu. This has its own builtin postscript formatting system
for Ascii text. This is a very simple formatter based on the
original perl script, i2ps or aprint, by Leif Andersson and
<Leif.Andersson@control.lth.se> and Gisle Aas
<Gisle.Aas@nr.no>. This is a very simple conversion to
PostScript. Those wanting more sophisticated text formatting
should try the enscript program.
8.2 How do I print if my character set isn't supported?
Use enscript. You can do this very easily by entering
enscript -o - | lpr
under `Print command' in the Print dialog.
9 LOOK AND FEEL
9.1 What is Look?
`Look' refers to the appearance of widgets: colour, shading
spacing etc. `Feel' refers to how the widget behave. Cooledit
has a similar feel throughout all Looks, akin to modern GUI
applications.
9.2 How do I envoke a Gtk Look for Cooledit?
cooledit --look gtk --widget-font '-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-*-*'
9.3 Is Cooledit a Gtk application?
Cooledit does not link with the Gtk library or any of the
Gtk utility libraries. It is therefore not strictly a Gtk
application.
Cooledit will probably never look EXACTLY like a Gtk
application on account of the difficulty in reproducing the
exact rendering behaviour of all Gtk widgets. It is close
enough in most cases to be thoroughly familiar to the eye.
|