1241 lines
28 KiB
HTML
1241 lines
28 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<!-- Created by texi2html 1.56k from qe-doc.texi on 21 April 2003 -->
|
|
|
|
<TITLE>QEmacs Documentation</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
<H1>QEmacs Documentation</H1>
|
|
<P>
|
|
<P><HR><P>
|
|
<H1>Table of Contents</H1>
|
|
<UL>
|
|
<LI><A NAME="TOC1" HREF="qe-doc.html#SEC1">1. Introduction</A>
|
|
<LI><A NAME="TOC2" HREF="qe-doc.html#SEC2">2. Invocation</A>
|
|
<LI><A NAME="TOC3" HREF="qe-doc.html#SEC3">3. Common editing commands</A>
|
|
<UL>
|
|
<LI><A NAME="TOC4" HREF="qe-doc.html#SEC4">3.1 Concepts</A>
|
|
<LI><A NAME="TOC5" HREF="qe-doc.html#SEC5">3.2 Help</A>
|
|
<LI><A NAME="TOC6" HREF="qe-doc.html#SEC6">3.3 Simple commands</A>
|
|
<LI><A NAME="TOC7" HREF="qe-doc.html#SEC7">3.4 Region handling</A>
|
|
<LI><A NAME="TOC8" HREF="qe-doc.html#SEC8">3.5 Buffer and file handling</A>
|
|
<LI><A NAME="TOC9" HREF="qe-doc.html#SEC9">3.6 Search and replace</A>
|
|
<LI><A NAME="TOC10" HREF="qe-doc.html#SEC10">3.7 Command handling</A>
|
|
<LI><A NAME="TOC11" HREF="qe-doc.html#SEC11">3.8 Window handling</A>
|
|
<LI><A NAME="TOC12" HREF="qe-doc.html#SEC12">3.9 International</A>
|
|
<LI><A NAME="TOC13" HREF="qe-doc.html#SEC13">3.10 Miscellaneous</A>
|
|
</UL>
|
|
<LI><A NAME="TOC14" HREF="qe-doc.html#SEC14">4. Configuration file and resources</A>
|
|
<UL>
|
|
<LI><A NAME="TOC15" HREF="qe-doc.html#SEC15">4.1 Resource path</A>
|
|
<LI><A NAME="TOC16" HREF="qe-doc.html#SEC16">4.2 Configuration file</A>
|
|
<LI><A NAME="TOC17" HREF="qe-doc.html#SEC17">4.3 Plugins</A>
|
|
</UL>
|
|
<LI><A NAME="TOC18" HREF="qe-doc.html#SEC18">5. Internationalization</A>
|
|
<UL>
|
|
<LI><A NAME="TOC19" HREF="qe-doc.html#SEC19">5.1 Charsets</A>
|
|
<LI><A NAME="TOC20" HREF="qe-doc.html#SEC20">5.2 Input methods</A>
|
|
<LI><A NAME="TOC21" HREF="qe-doc.html#SEC21">5.3 Bidirectional editing</A>
|
|
<LI><A NAME="TOC22" HREF="qe-doc.html#SEC22">5.4 Unicode scripts</A>
|
|
</UL>
|
|
<LI><A NAME="TOC23" HREF="qe-doc.html#SEC23">6. Editing Modes</A>
|
|
<UL>
|
|
<LI><A NAME="TOC24" HREF="qe-doc.html#SEC24">6.1 C mode</A>
|
|
<LI><A NAME="TOC25" HREF="qe-doc.html#SEC25">6.2 Hexadecimal, ascii and unihex modes</A>
|
|
<LI><A NAME="TOC26" HREF="qe-doc.html#SEC26">6.3 shell mode</A>
|
|
<LI><A NAME="TOC27" HREF="qe-doc.html#SEC27">6.4 Dired mode</A>
|
|
<LI><A NAME="TOC28" HREF="qe-doc.html#SEC28">6.5 Bufed mode</A>
|
|
<LI><A NAME="TOC29" HREF="qe-doc.html#SEC29">6.6 XML mode</A>
|
|
<LI><A NAME="TOC30" HREF="qe-doc.html#SEC30">6.7 Graphical HTML2/CSS mode</A>
|
|
<UL>
|
|
<LI><A NAME="TOC31" HREF="qe-doc.html#SEC31">6.7.1 Usage</A>
|
|
<LI><A NAME="TOC32" HREF="qe-doc.html#SEC32">6.7.2 Features</A>
|
|
<LI><A NAME="TOC33" HREF="qe-doc.html#SEC33">6.7.3 Known limitations</A>
|
|
<LI><A NAME="TOC34" HREF="qe-doc.html#SEC34">6.7.4 CSS property support</A>
|
|
</UL>
|
|
<LI><A NAME="TOC35" HREF="qe-doc.html#SEC35">6.8 Graphical DocBook mode</A>
|
|
<LI><A NAME="TOC36" HREF="qe-doc.html#SEC36">6.9 Image mode</A>
|
|
<LI><A NAME="TOC37" HREF="qe-doc.html#SEC37">6.10 Audio/Video mode</A>
|
|
</UL>
|
|
<LI><A NAME="TOC38" HREF="qe-doc.html#SEC38">7. Fonts</A>
|
|
<UL>
|
|
<LI><A NAME="TOC39" HREF="qe-doc.html#SEC39">7.1 VT100 display</A>
|
|
<LI><A NAME="TOC40" HREF="qe-doc.html#SEC40">7.2 X11 display</A>
|
|
<LI><A NAME="TOC41" HREF="qe-doc.html#SEC41">7.3 Internal QEmacs fonts</A>
|
|
</UL>
|
|
<LI><A NAME="TOC42" HREF="qe-doc.html#SEC42">8. Html2png Tool</A>
|
|
<UL>
|
|
<LI><A NAME="TOC43" HREF="qe-doc.html#SEC43">8.1 Introduction</A>
|
|
<LI><A NAME="TOC44" HREF="qe-doc.html#SEC44">8.2 Invocation</A>
|
|
</UL>
|
|
<LI><A NAME="TOC45" HREF="qe-doc.html#SEC45">9. Developper's Guide</A>
|
|
<UL>
|
|
<LI><A NAME="TOC46" HREF="qe-doc.html#SEC46">9.1 Plugins</A>
|
|
</UL>
|
|
</UL>
|
|
<P><HR><P>
|
|
|
|
<P>
|
|
QEmacs Documentation
|
|
|
|
|
|
|
|
|
|
<H1><A NAME="SEC1" HREF="qe-doc.html#TOC1">1. Introduction</A></H1>
|
|
<P>
|
|
QEmacs (for Quick Emacs) is a very small but powerful
|
|
UNIX editor. It has features that even big editors lack :
|
|
|
|
<UL>
|
|
|
|
<LI>Full screen editor with an Emacs look and feel with all Emacs common
|
|
|
|
features: multi-buffer, multi-window, command mode, universal
|
|
argument, keyboard macros, config file with C like syntax, minibuffer
|
|
with completion and history.
|
|
|
|
<LI>Can edit files of hundreds of Megabytes without being slow by using
|
|
|
|
a highly optimized internal representation and by mmaping the file.
|
|
|
|
<LI>Full <EM>Unicode</EM> support, including multi charset handling
|
|
|
|
(8859-x, UTF8, SJIS, EUC-JP, ...) and bidirectional editing respecting
|
|
the Unicode bidi algorithm. Arabic and Indic scripts handling (in
|
|
progress).
|
|
|
|
<LI>WYSIWYG <EM>HTML/XML/CSS2</EM> mode graphical editing. Also supports lynx like
|
|
|
|
rendering on VT100 terminals.
|
|
|
|
<LI>WYSIWYG <EM>DocBook</EM> mode based on XML/CSS2 renderer.
|
|
|
|
<LI>C mode: coloring with immediate update. Emacs like auto-indent.
|
|
|
|
<LI>Shell mode: colorized VT100 emulation so that your shell work
|
|
|
|
exactly as you expect. Compile mode with next/prev error.
|
|
|
|
<LI>Input methods for most languages, including Chinese (input methods
|
|
|
|
come from the Yudit editor).
|
|
|
|
<LI><EM>Hexadecimal editing</EM> mode with insertion and block commands. Unicode
|
|
|
|
hexa editing is also supported.
|
|
|
|
<LI>Works on any VT100 terminals without termcap. UTF8 VT100 support
|
|
|
|
included with double width glyphs.
|
|
|
|
<LI>X11 support. Support multiple proportionnal fonts at the same time
|
|
|
|
(as XEmacs). X Input methods supported. Xft extension supported for
|
|
anti aliased font display.
|
|
|
|
<LI>
|
|
|
|
Small! Full version (including HTML/XML/CSS2/DocBook rendering and all
|
|
charsets): 200KB big. Basic version (without bidir/unicode
|
|
scripts/input/X11/C/Shell/HTML/dired): 49KB.
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H1><A NAME="SEC2" HREF="qe-doc.html#TOC2">2. Invocation</A></H1>
|
|
|
|
|
|
<PRE>
|
|
usage: qe [-h] [-nw] [-display display] [-geometry WxH]
|
|
[-fs ptsize] [filename...]
|
|
</PRE>
|
|
|
|
<DL COMPACT>
|
|
|
|
<DT><SAMP>`-h'</SAMP>
|
|
<DD>
|
|
show help
|
|
|
|
<DT><SAMP>`-nw'</SAMP>
|
|
<DD>
|
|
force tty terminal usage
|
|
|
|
<DT><SAMP>`-display display'</SAMP>
|
|
<DD>
|
|
set X11 display to 'display'
|
|
|
|
<DT><SAMP>`-geometry WxH'</SAMP>
|
|
<DD>
|
|
set X11 display size
|
|
|
|
<DT><SAMP>`-fs ptsize'</SAMP>
|
|
<DD>
|
|
set default font size
|
|
|
|
</DL>
|
|
|
|
<P>
|
|
When invoked as
|
|
|
|
<PRE>
|
|
usage: ffplay
|
|
</PRE>
|
|
|
|
<P>
|
|
QEmacs goes to <CODE>dired</CODE> mode automatically so that you can browse your
|
|
files easily (same as <KBD>C-x C-d</KBD> key).
|
|
|
|
|
|
|
|
|
|
<H1><A NAME="SEC3" HREF="qe-doc.html#TOC3">3. Common editing commands</A></H1>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC4" HREF="qe-doc.html#TOC4">3.1 Concepts</A></H2>
|
|
|
|
<P>
|
|
QEmacs store file content in <EM>buffers</EM>. Buffers can be seen as big
|
|
arrays of bytes.
|
|
|
|
|
|
<P>
|
|
An <EM>editing mode</EM> tells how to display the content of a buffer and
|
|
how to interact with the user to modify its content.
|
|
|
|
|
|
<P>
|
|
Multiple <EM>Windows</EM> can be shown on the screen at the same time. Each
|
|
windows show the content of a buffer with an editing mode. It means that
|
|
you can open several windows which show the same buffer in different
|
|
modes (for example, both text and hexadecimal).
|
|
|
|
|
|
<P>
|
|
Each key binding activates a <EM>command</EM>. You can directly execute a
|
|
command by typing <KBD>M-x command RET</KBD>.
|
|
|
|
|
|
<P>
|
|
Commands can take arguments. The key binding <KBD>C-u N</KBD> where N is an
|
|
optional number is used to give a numeric argument to the commands which
|
|
can handle them. If the command cannot handle a numerical argument, it
|
|
is simply repeated <CODE>N</CODE> times.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC5" HREF="qe-doc.html#TOC5">3.2 Help</A></H2>
|
|
|
|
<P>
|
|
You can press <KBD>C-h b</KBD> to have the list of all the currently active
|
|
bindings, including the ones of the current editing mode.
|
|
|
|
|
|
|
|
<PRE>
|
|
C-h C-h, F1 : help-for-help
|
|
C-h b : describe-bindings
|
|
C-h c : describe-key-briefly
|
|
</PRE>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC6" HREF="qe-doc.html#TOC6">3.3 Simple commands</A></H2>
|
|
|
|
|
|
<PRE>
|
|
default : self-insert-command
|
|
C-p, up : previous-line
|
|
C-n, down : next-line
|
|
C-b, left : backward-char
|
|
C-f, right : forward-char
|
|
M-b, C-left : backward-word
|
|
M-f, C-right : forward-word
|
|
M-v, prior : scroll-down
|
|
C-v, next : scroll-up
|
|
home, C-a : beginning-of-line
|
|
end, C-e : end-of-line
|
|
insert : overwrite-mode
|
|
C-d, delete : delete-char
|
|
backspace : backward-delete-char
|
|
M-<, C-home : beginning-of-buffer
|
|
M->, C-end : end-of-buffer
|
|
C-i : tabulate
|
|
C-q : quoted-insert
|
|
RET : newline
|
|
M-{ : backward-paragraph
|
|
M-} : forward-paragraph
|
|
</PRE>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC7" HREF="qe-doc.html#TOC7">3.4 Region handling</A></H2>
|
|
|
|
|
|
<PRE>
|
|
C-k : kill-line
|
|
C-space : set-mark-command
|
|
C-w : kill-region
|
|
M-w : copy-region
|
|
C-y : yank
|
|
M-y : yank-pop
|
|
C-x C-x : exchange-point-and-mark
|
|
</PRE>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC8" HREF="qe-doc.html#TOC8">3.5 Buffer and file handling</A></H2>
|
|
|
|
|
|
<PRE>
|
|
C-x C-s : save-buffer
|
|
C-x C-w : write-file
|
|
C-x C-c : suspend-emacs
|
|
C-x C-f : find-file
|
|
C-x C-v : find-alternate-file
|
|
C-x b : switch-to-buffer
|
|
C-x k : kill-buffer
|
|
C-x i : insert-file
|
|
C-x C-q : vc-toggle-read-only
|
|
C-x C-b : list-buffers
|
|
</PRE>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC9" HREF="qe-doc.html#TOC9">3.6 Search and replace</A></H2>
|
|
|
|
|
|
<PRE>
|
|
C-s : isearch-backward
|
|
C-r : isearch-forward
|
|
M-% : query-replace
|
|
</PRE>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC10" HREF="qe-doc.html#TOC10">3.7 Command handling</A></H2>
|
|
|
|
|
|
<PRE>
|
|
M-x : execute-extended-command
|
|
C-u : universal-argument
|
|
C-g : abort
|
|
C-x u, C-_ : undo
|
|
C-x ( : start-kbd-macro
|
|
C-x ) : end-kbd-macro
|
|
C-x e : call-last-kbd-macro
|
|
</PRE>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC11" HREF="qe-doc.html#TOC11">3.8 Window handling</A></H2>
|
|
|
|
|
|
<PRE>
|
|
C-x o : other-window
|
|
C-x 0 : delete-window
|
|
C-x 1 : delete-other-windows
|
|
C-x 2 : split-window-vertically
|
|
C-x 3 : split-window-horizontally
|
|
C-x f : toggle-full-screen
|
|
</PRE>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC12" HREF="qe-doc.html#TOC12">3.9 International</A></H2>
|
|
|
|
|
|
<PRE>
|
|
C-x RET f : set-buffer-file-coding-system
|
|
C-x RET b : toggle-bidir
|
|
C-x RET C-\ : set-input-method
|
|
C-\ : switch-input-method
|
|
</PRE>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC13" HREF="qe-doc.html#TOC13">3.10 Miscellaneous</A></H2>
|
|
|
|
|
|
<PRE>
|
|
C-l : refresh
|
|
M-g : goto-line
|
|
M-q : fill-paragraph
|
|
C-x RET l : toggle-line-numbers
|
|
C-x RET t : truncate-lines
|
|
C-x RET w : word-wrap
|
|
C-x C-e : compile
|
|
C-x C-p : previous-error
|
|
C-x C-n : next-error
|
|
C-x C-d : dired
|
|
</PRE>
|
|
|
|
|
|
|
|
<H1><A NAME="SEC14" HREF="qe-doc.html#TOC14">4. Configuration file and resources</A></H1>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC15" HREF="qe-doc.html#TOC15">4.1 Resource path</A></H2>
|
|
|
|
<P>
|
|
All resources and configuration files are looked in the following paths:
|
|
<TT>`/usr/share/qe:/usr/local/share/qe:/usr/lib/qe:/usr/local/lib/qe:~/.qe'</TT>
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC16" HREF="qe-doc.html#TOC16">4.2 Configuration file</A></H2>
|
|
|
|
<P>
|
|
QEmacs tries to load a configuration file in <TT>`~/.qe/config'</TT>. Each
|
|
line of the configuration file is a QEmacs command with a C like syntax
|
|
('-' in command name can be replaced by '_').
|
|
|
|
|
|
<P>
|
|
Read the example file <TT>`config.eg'</TT> to have some examples.
|
|
|
|
|
|
<P>
|
|
The following commands are useful:
|
|
|
|
|
|
<DL COMPACT>
|
|
|
|
<DT><CODE>global_set_key(key, command)</CODE>
|
|
<DD>
|
|
Set a global key binding to a command.
|
|
|
|
<DT><CODE>set_display_size(width, height)</CODE>
|
|
<DD>
|
|
(X11) Set the window size, in character cells.
|
|
|
|
<DT><CODE>set_system_font(family, system_fonts)</CODE>
|
|
<DD>
|
|
(X11) Maps a system font to a QEmacs font family. Multiple fonts can be
|
|
given as fallback (See section <A HREF="qe-doc.html#SEC38">7. Fonts</A>).
|
|
|
|
<DT><CODE>set_style(stylename, css_property, css_value)</CODE>
|
|
<DD>
|
|
Set a colorization style (see <TT>`qestyle.h'</TT> and <TT>`config.eg'</TT> for
|
|
common style names)
|
|
|
|
</DL>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC17" HREF="qe-doc.html#TOC17">4.3 Plugins</A></H2>
|
|
|
|
<P>
|
|
Any <TT>`.so'</TT> file found in the qemacs resource paths is considered as
|
|
a <EM>plugin</EM>. It is a piece of code containing new features for
|
|
qemacs.
|
|
|
|
|
|
<P>
|
|
Currently, no plugins are compiled in, but you can look at the
|
|
<TT>`plugin-example/'</TT> directory to learn how to make one.
|
|
|
|
|
|
<P>
|
|
Most QEmacs object files can in fact be compiled either as a plugin or
|
|
be statically linked in qemacs. The plugin system is strongly inspirated
|
|
from the Linux Kernel 2.4 module system.
|
|
|
|
|
|
|
|
|
|
<H1><A NAME="SEC18" HREF="qe-doc.html#TOC18">5. Internationalization</A></H1>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC19" HREF="qe-doc.html#TOC19">5.1 Charsets</A></H2>
|
|
|
|
<P>
|
|
QEmacs supports many common charsets including UTF8, shift JIS and EUC-JP. A
|
|
charset can be selected for each buffer with <KBD>C-x RET f</KBD>
|
|
(<CODE>set-buffer-file-coding-system</CODE>).
|
|
|
|
|
|
<P>
|
|
Currently, QEmacs automatically detects the UTF8 encoding.
|
|
|
|
|
|
<P>
|
|
Note that unlike in other editors, changing the charset of a buffer
|
|
does not modify its content: buffers always contain bytes, and the charset
|
|
is only used when the buffer content may be converted to characters, for
|
|
example to display it on screen.
|
|
|
|
|
|
<P>
|
|
You can use the UniHex editing mode (<KBD>M-x unihex-mode</KBD>) to see the
|
|
Unicode values of each character in your file with the associated byte
|
|
offset.
|
|
|
|
|
|
<P>
|
|
The command <CODE>convert-buffer-file-coding-system</CODE> can be used to
|
|
convert the buffer <EM>content</EM> to another charset.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC20" HREF="qe-doc.html#TOC20">5.2 Input methods</A></H2>
|
|
|
|
<P>
|
|
The current input method can be changed with <KBD>C-x RET \</KBD>
|
|
(<CODE>set-input-method</CODE>). You can switch between this input method and
|
|
the default one with 'C-\'.
|
|
|
|
|
|
<P>
|
|
The input methods are currently stored in the resource file <TT>`kmaps'</TT>.
|
|
They are extracted from the <EM>Yudit</EM> editor keyboard maps.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC21" HREF="qe-doc.html#TOC21">5.3 Bidirectional editing</A></H2>
|
|
|
|
<P>
|
|
QEmacs fully supports the Unicode bidi algorithm.
|
|
|
|
|
|
<P>
|
|
By default, in text editing mode, qemacs is not in bidirectionnal mode (it
|
|
may change soon). You can use 'C-x RET b' to toogle between bidi and normal
|
|
editing modes.
|
|
|
|
|
|
<P>
|
|
In HTML editing mode, bidi is always activated and all the CSS2 bidi
|
|
properties are supported.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC22" HREF="qe-doc.html#TOC22">5.4 Unicode scripts</A></H2>
|
|
|
|
<P>
|
|
Currently, QEmacs fully supports Arabic shapping. Devanagari shaping is on
|
|
the way.
|
|
|
|
|
|
<P>
|
|
The resource file <TT>`ligatures'</TT> contains all the standard Unicode rules
|
|
to handle character modifiers such as accents. It means that even if your
|
|
font does not support the Unicode character modifiers, QEmacs will do its
|
|
best to handle them.
|
|
|
|
|
|
|
|
|
|
<H1><A NAME="SEC23" HREF="qe-doc.html#TOC23">6. Editing Modes</A></H1>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC24" HREF="qe-doc.html#TOC24">6.1 C mode</A></H2>
|
|
|
|
<P>
|
|
This mode is currently activated by <SAMP>`M-x c-mode'</SAMP>. It is
|
|
activated automatically when a C file is loaded.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC25" HREF="qe-doc.html#TOC25">6.2 Hexadecimal, ascii and unihex modes</A></H2>
|
|
|
|
<P>
|
|
Unlike other editors, QEmacs has powerful hexadecimal editing modes: all
|
|
common commands are working these modes, including the block commands.
|
|
|
|
|
|
<P>
|
|
The hexadecimal mode (<KBD>M-x hex-mode</KBD>) shows both the hexa decimal
|
|
and ascii (bytes) values. You can toggle between the hexa and ascii columns
|
|
with 'TAB'.
|
|
|
|
|
|
<P>
|
|
The ascii mode (<KBD>M-x ascii-mode</KBD>) only shows the ascii column.
|
|
|
|
|
|
<P>
|
|
The unihex mode (<KBD>M-x unihex-mode</KBD>) shows both the unicode and
|
|
glyph associated to each <EM>character</EM> of the buffer by using the current
|
|
buffer charset.
|
|
|
|
|
|
<P>
|
|
You can change the line width in these modes with 'C-left' and 'C-right'.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC26" HREF="qe-doc.html#TOC26">6.3 shell mode</A></H2>
|
|
|
|
<P>
|
|
You can activate it with <KBD>M-x shell</KBD>. Unlike other editors, a very
|
|
complete colorized VT100 emulation is done [it means you can launch
|
|
qemacs in the qemacs shell :-)].
|
|
|
|
|
|
<P>
|
|
By default, <EM>interactive mode</EM> is selected. It means that most keys
|
|
you type are transmitted to the shell. This way, you can use the shell
|
|
completion and editing functions. By pressing <KBD>C-o</KBD>, you toggle
|
|
between interactive and editing mode. In editing mode, you can editing
|
|
the shell buffer as any other buffer.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC27" HREF="qe-doc.html#TOC27">6.4 Dired mode</A></H2>
|
|
|
|
<P>
|
|
You can activate it with <KBD>C-x C-d</KBD>. You can open the selected
|
|
directory with <KBD>RET</KBD> or <KBD>right</KBD>. <KBD>left</KBD> is used to go to the
|
|
parent directory. The current selected is opened in the right window.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC28" HREF="qe-doc.html#TOC28">6.5 Bufed mode</A></H2>
|
|
|
|
<P>
|
|
You can activate it with <KBD>C-x C-b</KBD>. You can select with <KBD>RET</KBD> or
|
|
<KBD>right</KBD> the current buffer.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC29" HREF="qe-doc.html#TOC29">6.6 XML mode</A></H2>
|
|
|
|
<P>
|
|
This mode is currently activated by <KBD>M-x xml-mode</KBD>. It is activated
|
|
automatically when an XML file is loaded.
|
|
|
|
|
|
<P>
|
|
Currently, only specific XML colorization is done in this
|
|
mode. Javascript (in SCRIPT tags) is colored as in C mode. CSS Style
|
|
sheets (in STYLE tags) are colorized with a specific color.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC30" HREF="qe-doc.html#TOC30">6.7 Graphical HTML2/CSS mode</A></H2>
|
|
|
|
|
|
|
|
<H3><A NAME="SEC31" HREF="qe-doc.html#TOC31">6.7.1 Usage</A></H3>
|
|
|
|
<P>
|
|
This mode is currently activated by <KBD>M-x html-mode</KBD>. It is
|
|
activated automatically when an HTML file is loaded.
|
|
|
|
|
|
|
|
|
|
<H3><A NAME="SEC32" HREF="qe-doc.html#TOC32">6.7.2 Features</A></H3>
|
|
|
|
<P>
|
|
The XML/HTML/CSS2 renderer has the following features:
|
|
|
|
<UL>
|
|
<LI>The parse errors are written in buffer '*xml-error*'.
|
|
|
|
<LI>Strict XML parser or relaxed mode for HTML pages.
|
|
|
|
<LI>Letter case can be ignored or strictly respected.
|
|
|
|
<LI>Integrated HTML to CSS2 converter so that the renderer do not
|
|
|
|
depend on HTML quirks.
|
|
<LI>Quite complete CSS2 support (including generated content and
|
|
|
|
counters).
|
|
<LI>Full Bidirectionnal Unicode support.
|
|
|
|
<LI>Table support with both 'fixed' and 'auto' layout algorithms.
|
|
|
|
<LI>'tty' and 'screen' CSS2 medias are supported.
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H3><A NAME="SEC33" HREF="qe-doc.html#TOC33">6.7.3 Known limitations</A></H3>
|
|
|
|
|
|
<UL>
|
|
<LI>Cannot load external resources (e.g. style sheets) from other files.
|
|
|
|
<LI>No image handling (only a rectangle with 'ALT' name is drawn).
|
|
|
|
<LI>No javascript.
|
|
|
|
<LI>No frames.
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H3><A NAME="SEC34" HREF="qe-doc.html#TOC34">6.7.4 CSS property support</A></H3>
|
|
|
|
<P>
|
|
The following properties are partially (see comments) or totally supported:
|
|
|
|
|
|
|
|
<UL>
|
|
<LI>display: The value 'inline-block' is a QEmacs extension.
|
|
|
|
<LI>color
|
|
|
|
<LI>background-color
|
|
|
|
<LI>white-space: The value 'prewrap' is a QEmacs extension.
|
|
|
|
<LI>direction
|
|
|
|
<LI>float
|
|
|
|
<LI>font-family
|
|
|
|
<LI>font-style
|
|
|
|
<LI>font-weight
|
|
|
|
<LI>font-size
|
|
|
|
<LI>text-decoration
|
|
|
|
<LI>text-align
|
|
|
|
<LI>width
|
|
|
|
<LI>height
|
|
|
|
<LI>unicode-bidi
|
|
|
|
<LI>border-width
|
|
|
|
<LI>border-left-width
|
|
|
|
<LI>border-top-width
|
|
|
|
<LI>border-right-width
|
|
|
|
<LI>border-bottom-width
|
|
|
|
<LI>border-color
|
|
|
|
<LI>border-left-color
|
|
|
|
<LI>border-top-color
|
|
|
|
<LI>border-right-color
|
|
|
|
<LI>border-bottom-color
|
|
|
|
<LI>border-style
|
|
|
|
<LI>border-left-style
|
|
|
|
<LI>border-top-style
|
|
|
|
<LI>border-right-style
|
|
|
|
<LI>border-bottom-style
|
|
|
|
<LI>border
|
|
|
|
<LI>border-left
|
|
|
|
<LI>border-top
|
|
|
|
<LI>border-right
|
|
|
|
<LI>border-bottom
|
|
|
|
<LI>padding
|
|
|
|
<LI>padding-left
|
|
|
|
<LI>padding-top
|
|
|
|
<LI>padding-right
|
|
|
|
<LI>padding-bottom
|
|
|
|
<LI>margin
|
|
|
|
<LI>margin-left
|
|
|
|
<LI>margin-top
|
|
|
|
<LI>margin-right
|
|
|
|
<LI>margin-bottom
|
|
|
|
<LI>clear
|
|
|
|
<LI>overflow
|
|
|
|
<LI>visibility
|
|
|
|
<LI>table-layout
|
|
|
|
<LI>vertical-align
|
|
|
|
<LI>border-collapse
|
|
|
|
<LI>border-spacing
|
|
|
|
<LI>border-spacing-horizontal
|
|
|
|
<LI>border-spacing-vertical
|
|
|
|
<LI>line-height
|
|
|
|
<LI>content
|
|
|
|
<LI>caption-side
|
|
|
|
<LI>marker-offset
|
|
|
|
<LI>list-style-type
|
|
|
|
<LI>column-span: QEmacs extension
|
|
|
|
<LI>row-span: QEmacs extension
|
|
|
|
<LI>content-alt: QEmacs extension. Same behavior as property 'content' but used for images
|
|
|
|
<LI>list-style-position
|
|
|
|
<LI>counter-reset
|
|
|
|
<LI>counter-increment
|
|
|
|
<LI>bidi-mode: QEmacs extension: use lower/upper case to test bidi algorithm
|
|
|
|
<LI>position: <SAMP>`fixed'</SAMP> is not supported. Only 'block' boxes are positionned
|
|
|
|
<LI>top
|
|
|
|
<LI>bottom
|
|
|
|
<LI>left
|
|
|
|
<LI>right
|
|
|
|
</UL>
|
|
|
|
<P>
|
|
The following properties are completely unsupported:
|
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI>background
|
|
|
|
<LI>background-attachment
|
|
|
|
<LI>background-image
|
|
|
|
<LI>background-position
|
|
|
|
<LI>background-repeat
|
|
|
|
<LI>clip
|
|
|
|
<LI>cursor
|
|
|
|
<LI>empty-cells
|
|
|
|
<LI>font
|
|
|
|
<LI>font-size-adjust
|
|
|
|
<LI>font-stretch
|
|
|
|
<LI>font-variant
|
|
|
|
<LI>letter-spacing
|
|
|
|
<LI>list-style
|
|
|
|
<LI>list-style-image
|
|
|
|
<LI>max-height
|
|
|
|
<LI>max-width
|
|
|
|
<LI>min-height
|
|
|
|
<LI>min-width
|
|
|
|
<LI>outline
|
|
|
|
<LI>outline-color
|
|
|
|
<LI>outline-style
|
|
|
|
<LI>outline-width
|
|
|
|
<LI>quotes
|
|
|
|
<LI>text-indent
|
|
|
|
<LI>text-shadow
|
|
|
|
<LI>text-transform
|
|
|
|
<LI>word-spacing
|
|
|
|
<LI>z-index
|
|
|
|
<LI>marks
|
|
|
|
<LI>page
|
|
|
|
<LI>page-break-after
|
|
|
|
<LI>page-break-before
|
|
|
|
<LI>page-break-inside
|
|
|
|
<LI>size
|
|
|
|
<LI>orphans
|
|
|
|
<LI>widows
|
|
|
|
<LI>azimuth
|
|
|
|
<LI>cue
|
|
|
|
<LI>cue-after
|
|
|
|
<LI>cue-before
|
|
|
|
<LI>elevation
|
|
|
|
<LI>pause
|
|
|
|
<LI>pause-after
|
|
|
|
<LI>pause-before
|
|
|
|
<LI>pitch
|
|
|
|
<LI>pitch-range
|
|
|
|
<LI>pitch-during
|
|
|
|
<LI>richness
|
|
|
|
<LI>speak
|
|
|
|
<LI>speak-header
|
|
|
|
<LI>speak-punctuation
|
|
|
|
<LI>speak-rate
|
|
|
|
<LI>stress
|
|
|
|
<LI>voice-family
|
|
|
|
<LI>volume
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC35" HREF="qe-doc.html#TOC35">6.8 Graphical DocBook mode</A></H2>
|
|
|
|
<P>
|
|
This mode simply uses a different default style sheet from the HTML/CSS2
|
|
mode. It is activated by <SAMP>`M-x docbook-mode'</SAMP>.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC36" HREF="qe-doc.html#TOC36">6.9 Image mode</A></H2>
|
|
|
|
<P>
|
|
When compiling qemacs with FFmpeg support (<A HREF="http://ffmpeg.org">http://ffmpeg.org</A>),
|
|
images can be viewed. The current implementation handles PNM, PAM, PNG,
|
|
JPEG and GIF images (animated GIF images are handled as video
|
|
data). <KBD>C-x C-d</KBD> can be used to have an interactive file viewer.
|
|
|
|
|
|
<P>
|
|
Available commands:
|
|
|
|
|
|
<DL COMPACT>
|
|
|
|
<DT><KBD>t</KBD>
|
|
<DD>
|
|
(<SAMP>`M-x image-rotate'</SAMP>) Rotate right image by 90 degrees.
|
|
<DT><KBD>f</KBD>
|
|
<DD>
|
|
(<SAMP>`M-x toggle-full-screen'</SAMP>) Toggle full screen mode
|
|
<DT><KBD>c</KBD>
|
|
<DD>
|
|
(<SAMP>`M-x image-convert'</SAMP>) Change the pixel format of the image (press tab
|
|
to have a complete list). The data loss implied by the pixel format
|
|
change is displayed.
|
|
<DT><KBD>b</KBD>
|
|
<DD>
|
|
(<SAMP>`M-x image-set-background-color'</SAMP>) Set the image background
|
|
color. The background is only visible if the image contains transparent
|
|
pixels. The <SAMP>`transparent'</SAMP> color displayed a <SAMP>`gimp'</SAMP> like grid.
|
|
</DL>
|
|
|
|
<P>
|
|
Status information:
|
|
|
|
|
|
|
|
<UL>
|
|
<LI>The image resolution is displayed as <SAMP>`NxM'</SAMP>.
|
|
|
|
<LI>The FFmpeg pixel format is displayed.
|
|
|
|
<LI><SAMP>`I'</SAMP> is displayed is the image is interleaved.
|
|
|
|
<LI><SAMP>`T'</SAMP> is displayed if the image contains transparent
|
|
|
|
pixels. <SAMP>`A'</SAMP> is displayed if the image contains semi-transparent
|
|
pixels.
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC37" HREF="qe-doc.html#TOC37">6.10 Audio/Video mode</A></H2>
|
|
|
|
<P>
|
|
When compiling qemacs with FFmpeg support (<A HREF="http://ffmpeg.org">http://ffmpeg.org</A>),
|
|
video and audio files can be viewed. The X11 Xvideo extension is used
|
|
if available for faster YUV rendering. <KBD>C-x C-d</KBD> can be used to
|
|
have an interactive file viewer.
|
|
|
|
|
|
<P>
|
|
Audio only files are also rendered. The waveform is displayed at the
|
|
same time.
|
|
|
|
|
|
<P>
|
|
No editing commands will be supported in that mode. Saving is
|
|
currently not possible.
|
|
|
|
|
|
<P>
|
|
Available commands:
|
|
|
|
|
|
<DL COMPACT>
|
|
|
|
<DT><KBD>SPC</KBD>
|
|
<DD>
|
|
<DT><KBD>p</KBD>
|
|
<DD>
|
|
Pause/Resume
|
|
<DT><KBD>f</KBD>
|
|
<DD>
|
|
(<SAMP>`M-x toggle-full-screen'</SAMP>) Toggle full screen mode
|
|
<DT><KBD>v</KBD>
|
|
<DD>
|
|
(<SAMP>`M-x av-cycle-video'</SAMP>) Cycle through available video channels.
|
|
<DT><KBD>a</KBD>
|
|
<DD>
|
|
(<SAMP>`M-x av-cycle-audio'</SAMP>) Cycle through available audio channels.
|
|
</DL>
|
|
|
|
|
|
|
|
<H1><A NAME="SEC38" HREF="qe-doc.html#TOC38">7. Fonts</A></H1>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC39" HREF="qe-doc.html#TOC39">7.1 VT100 display</A></H2>
|
|
|
|
<P>
|
|
In order to display Unicode characters, you must have a recent xterm
|
|
from XFree version greater than 4.0.1.
|
|
|
|
|
|
<P>
|
|
As a short test, you can launch xterm with the following options to
|
|
select UTF8 charset and a unicode fixed X11 font:
|
|
|
|
<PRE>
|
|
xterm -u8 -fn -misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1
|
|
</PRE>
|
|
|
|
<P>
|
|
Then look at the qemacs TestPage in VT100 mode:
|
|
|
|
<PRE>
|
|
qe -nw tests/TestPage.txt
|
|
</PRE>
|
|
|
|
<P>
|
|
If you are using latin scripts, you can use any fixed font in any
|
|
terminal. Otherwise, if you use ideograms or other non latin scripts,
|
|
you must configure your terminal emulator (usually xterm) to accept
|
|
'double width' fonts. It means that some characters, such as ideograms,
|
|
are meant to occupy two char cells instead of one. QEmacs knows that and
|
|
does the text alyout accordingly.
|
|
|
|
|
|
<P>
|
|
The font <EM>Unifont</EM> is currently the best font for xterm. It is
|
|
usually included in the linux distributions. You can find it at
|
|
<A HREF="http://czyborra.com/unifont/">http://czyborra.com/unifont/</A>.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC40" HREF="qe-doc.html#TOC40">7.2 X11 display</A></H2>
|
|
|
|
<P>
|
|
QEmacs knows three basic font families:
|
|
|
|
|
|
|
|
<UL>
|
|
<LI><SAMP>`sans'</SAMP> for sans serif fonts.
|
|
|
|
<LI><SAMP>`serif'</SAMP> for serif fonts.
|
|
|
|
<LI><SAMP>`fixed'</SAMP> for fixed or monospace fonts.
|
|
|
|
</UL>
|
|
|
|
<P>
|
|
QEmacs maps these three families to system fonts. The default mapping
|
|
is: <SAMP>`helvetica'</SAMP> for sans, <SAMP>`Times'</SAMP> for serif and <SAMP>`fixed'</SAMP>
|
|
for fixed.
|
|
|
|
|
|
<P>
|
|
For each family, you can specify any number of <EM>fallback fonts</EM> that
|
|
QEmacs can use if the requested glyph is not found in the current
|
|
font. Currently, the font <SAMP>`unifont'</SAMP> is used as fallback in all
|
|
cases.
|
|
|
|
|
|
<P>
|
|
You can use the command <CODE>set-system-font(family, fonts)</CODE> to change
|
|
the default qemacs mapping. <CODE>family</CODE> is <CODE>sans</CODE>, <CODE>serif</CODE>
|
|
or <CODE>fixed</CODE>, and <CODE>fonts</CODE> is a comma separated list of system
|
|
fonts which are used as principal font and fallback fonts.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC41" HREF="qe-doc.html#TOC41">7.3 Internal QEmacs fonts</A></H2>
|
|
|
|
<P>
|
|
In the tool <SAMP>`html2png'</SAMP>, QEmacs uses internal fonts which are the
|
|
<SAMP>`Times'</SAMP>, <SAMP>`Helvetica'</SAMP> and <SAMP>`Unifont'</SAMP> supplied in X11. They
|
|
are highly compressed in the <EM>FBF</EM> font format.
|
|
|
|
|
|
|
|
|
|
<H1><A NAME="SEC42" HREF="qe-doc.html#TOC42">8. Html2png Tool</A></H1>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC43" HREF="qe-doc.html#TOC43">8.1 Introduction</A></H2>
|
|
|
|
<P>
|
|
Html2png is a standalone HTML/XML/CSS2 renderer based on the QEmacs
|
|
internal renderer. It takes an HTML or XHTML file as input and produce a
|
|
PNG image file containing the graphical rendering of the page. It is
|
|
meant to be a test tool for the renderer. It can also be used as a
|
|
XML/HTML validator since all parse errors are logged on the standard
|
|
output.
|
|
|
|
|
|
<P>
|
|
Unlike other HTML renderers, HTML2PNG do not have any dependency on the
|
|
operating system or the graphical interface. It uses its own fonts
|
|
(which are embedded in the executable), its own widgets and its own
|
|
charset tables.
|
|
|
|
|
|
<P>
|
|
By using the highly compressed FBF font format, the Times, Helvetica and
|
|
Unifont fonts are embedded in the executable. It means that HTML2PNG can
|
|
view documents in any languages, including Arabic, Hebrew, Japanese and
|
|
Hangul.
|
|
|
|
|
|
|
|
|
|
<H2><A NAME="SEC44" HREF="qe-doc.html#TOC44">8.2 Invocation</A></H2>
|
|
|
|
|
|
<PRE>
|
|
usage: html2png [-h] [-x] [-w width] [-o outfile] [-f charset] infile
|
|
</PRE>
|
|
|
|
<DL COMPACT>
|
|
|
|
<DT><SAMP>`-h'</SAMP>
|
|
<DD>
|
|
display the help
|
|
<DT><SAMP>`-x'</SAMP>
|
|
<DD>
|
|
use strict XML parser (xhtml type parsing)
|
|
<DT><SAMP>`-w width'</SAMP>
|
|
<DD>
|
|
set the image width (default=640)
|
|
<DT><SAMP>`-f charset'</SAMP>
|
|
<DD>
|
|
set the default charset (default='8859-1'). Use -f ? to list supported charsets.
|
|
<DT><SAMP>`-o outfile'</SAMP>
|
|
<DD>
|
|
set the output filename (default='a.png')
|
|
</DL>
|
|
|
|
|
|
|
|
<H1><A NAME="SEC45" HREF="qe-doc.html#TOC45">9. Developper's Guide</A></H1>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC46" HREF="qe-doc.html#TOC46">9.1 Plugins</A></H2>
|
|
|
|
<P>
|
|
You can use the example in <TT>`plugin-example/'</TT> to develop dynamically
|
|
linked qemacs plugins (aka modules).
|
|
|
|
|
|
<P>
|
|
Plugins can add any dynamic resource qemacs supports (modes, key
|
|
bindings, ...). A plugin can be either statically linked or
|
|
dynamically linked. Most of qemacs features are in fact statically
|
|
linked plugins.
|
|
|
|
|
|
<P><HR><P>
|
|
This document was generated on 21 April 2003 using
|
|
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> 1.56k.
|
|
</BODY>
|
|
</HTML>
|