You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(208) |
Jun
(43) |
Jul
|
Aug
(2) |
Sep
(17) |
Oct
|
Nov
(4) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
|
Feb
(11) |
Mar
(3) |
Apr
(2) |
May
|
Jun
(3) |
Jul
(29) |
Aug
(29) |
Sep
(48) |
Oct
|
Nov
|
Dec
(5) |
2004 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2005 |
Jan
(12) |
Feb
(1) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
|
Sep
(4) |
Oct
(3) |
Nov
(1) |
Dec
(2) |
2006 |
Jan
(1) |
Feb
(2) |
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(21) |
Nov
(25) |
Dec
(16) |
2007 |
Jan
(26) |
Feb
(26) |
Mar
(18) |
Apr
(51) |
May
(45) |
Jun
(26) |
Jul
(6) |
Aug
(85) |
Sep
(161) |
Oct
(111) |
Nov
(83) |
Dec
(18) |
2008 |
Jan
(31) |
Feb
(27) |
Mar
|
Apr
(16) |
May
(142) |
Jun
(136) |
Jul
(51) |
Aug
(21) |
Sep
(47) |
Oct
(428) |
Nov
(19) |
Dec
(6) |
2009 |
Jan
(11) |
Feb
(37) |
Mar
(17) |
Apr
(15) |
May
(13) |
Jun
(61) |
Jul
(127) |
Aug
(15) |
Sep
(22) |
Oct
(28) |
Nov
(37) |
Dec
(10) |
2010 |
Jan
(18) |
Feb
(22) |
Mar
(10) |
Apr
(41) |
May
|
Jun
(48) |
Jul
(61) |
Aug
(54) |
Sep
(34) |
Oct
(15) |
Nov
(49) |
Dec
(11) |
2011 |
Jan
|
Feb
(24) |
Mar
(10) |
Apr
(9) |
May
|
Jun
(33) |
Jul
(41) |
Aug
(20) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(86) |
Mar
(12) |
Apr
|
May
(10) |
Jun
|
Jul
(9) |
Aug
(4) |
Sep
(11) |
Oct
(3) |
Nov
(3) |
Dec
(10) |
2013 |
Jan
(1) |
Feb
(23) |
Mar
(15) |
Apr
(7) |
May
(20) |
Jun
(3) |
Jul
(15) |
Aug
|
Sep
(29) |
Oct
(16) |
Nov
(69) |
Dec
(18) |
2014 |
Jan
|
Feb
(8) |
Mar
|
Apr
|
May
(16) |
Jun
(7) |
Jul
|
Aug
(5) |
Sep
(2) |
Oct
(4) |
Nov
(25) |
Dec
(8) |
2015 |
Jan
(6) |
Feb
(6) |
Mar
|
Apr
(1) |
May
(2) |
Jun
(1) |
Jul
(7) |
Aug
|
Sep
(2) |
Oct
(1) |
Nov
(6) |
Dec
|
2016 |
Jan
(12) |
Feb
(97) |
Mar
(57) |
Apr
(52) |
May
(33) |
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
(3) |
Nov
(3) |
Dec
|
2017 |
Jan
(4) |
Feb
|
Mar
(23) |
Apr
(5) |
May
|
Jun
(2) |
Jul
(3) |
Aug
(2) |
Sep
|
Oct
(6) |
Nov
(3) |
Dec
(3) |
2018 |
Jan
(4) |
Feb
(11) |
Mar
|
Apr
(1) |
May
(3) |
Jun
(6) |
Jul
|
Aug
(5) |
Sep
(5) |
Oct
(36) |
Nov
(128) |
Dec
(18) |
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(24) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <hp...@us...> - 2002-05-17 04:51:13
|
Update of /cvsroot/nasm/nasm/test In directory usw-pr-cvs1:/tmp/cvs-serv13543/test Modified Files: elftest.asm Log Message: Make .rodata a recognized ELF section with default attributes Index: elftest.asm =================================================================== RCS file: /cvsroot/nasm/nasm/test/elftest.asm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- elftest.asm 30 Apr 2002 20:52:12 -0000 1.2 +++ elftest.asm 17 May 2002 04:51:10 -0000 1.3 @@ -22,6 +22,7 @@ ; [15] Reference a text-section symbol in the data section ; [16] Reference a data-section symbol in the data section ; [17] Reference a BSS-section symbol in the data section +; [18] Define a non-global rodata-section symbol BITS 32 GLOBAL lrotate ; [1] @@ -81,3 +82,6 @@ ; a local integer localint resd 1 ; [6] + + SECTION .rodata +readonly dd readonly ; [18] |
From: <hp...@us...> - 2002-05-17 04:51:13
|
Update of /cvsroot/nasm/nasm/output In directory usw-pr-cvs1:/tmp/cvs-serv13543/output Modified Files: outelf.c Log Message: Make .rodata a recognized ELF section with default attributes Index: outelf.c =================================================================== RCS file: /cvsroot/nasm/nasm/output/outelf.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- outelf.c 14 May 2002 23:54:46 -0000 1.3 +++ outelf.c 17 May 2002 04:51:10 -0000 1.4 @@ -327,6 +327,9 @@ if (!strcmp(name, ".text")) i = elf_make_section (name, SHT_PROGBITS, SHF_ALLOC | SHF_EXECINSTR, 16); + else if (!strcmp(name, ".rodata")) + i = elf_make_section (name, SHT_PROGBITS, + SHF_ALLOC, 4); else if (!strcmp(name, ".data")) i = elf_make_section (name, SHT_PROGBITS, SHF_ALLOC | SHF_WRITE, 4); |
From: <hp...@us...> - 2002-05-17 04:51:13
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv13543/doc Modified Files: nasmdoc.src Log Message: Make .rodata a recognized ELF section with default attributes Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- nasmdoc.src 17 May 2002 01:41:09 -0000 1.48 +++ nasmdoc.src 17 May 2002 04:51:10 -0000 1.49 @@ -4024,10 +4024,11 @@ The defaults assumed by NASM if you do not specify the above qualifiers are: -\c section .text progbits alloc exec nowrite align=16 -\c section .data progbits alloc noexec write align=4 -\c section .bss nobits alloc noexec write align=4 -\c section other progbits alloc noexec nowrite align=1 +\c section .text progbits alloc exec nowrite align=16 +\c section .rodata progbits alloc noexec nowrite align=4 +\c section .data progbits alloc noexec write align=4 +\c section .bss nobits alloc noexec write align=4 +\c section other progbits alloc noexec nowrite align=1 (Any section name other than \c{.text}, \c{.data} and \c{.bss} is treated by default like \c{other} in the above code.) |
From: <be...@us...> - 2002-05-17 03:11:18
|
Update of /cvsroot/nasm/nasm In directory usw-pr-cvs1:/tmp/cvs-serv29464 Modified Files: nasmlib.c Log Message: added const keyword to strdup argument Index: nasmlib.c =================================================================== RCS file: /cvsroot/nasm/nasm/nasmlib.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- nasmlib.c 14 May 2002 23:54:46 -0000 1.9 +++ nasmlib.c 17 May 2002 03:11:15 -0000 1.10 @@ -83,9 +83,9 @@ } #ifdef LOGALLOC -char *nasm_strdup_log (char *file, int line, char *s) +char *nasm_strdup_log (char *file, int line, const char *s) #else -char *nasm_strdup (char *s) +char *nasm_strdup (const char *s) #endif { char *p; |
From: <be...@us...> - 2002-05-17 03:10:58
|
Update of /cvsroot/nasm/nasm In directory usw-pr-cvs1:/tmp/cvs-serv29373 Modified Files: nasmlib.h Log Message: added const keyword to strdup Index: nasmlib.h =================================================================== RCS file: /cvsroot/nasm/nasm/nasmlib.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- nasmlib.h 14 May 2002 22:38:56 -0000 1.6 +++ nasmlib.h 17 May 2002 03:10:55 -0000 1.7 @@ -31,13 +31,13 @@ void *nasm_malloc (size_t); void *nasm_realloc (void *, size_t); void nasm_free (void *); -char *nasm_strdup (char *); +char *nasm_strdup (const char *); char *nasm_strndup (char *, size_t); #else void *nasm_malloc_log (char *, int, size_t); void *nasm_realloc_log (char *, int, void *, size_t); void nasm_free_log (char *, int, void *); -char *nasm_strdup_log (char *, int, char *); +char *nasm_strdup_log (char *, int, const char *); char *nasm_strndup_log (char *, int, char *, size_t); #define nasm_malloc(x) nasm_malloc_log(__FILE__,__LINE__,x) #define nasm_realloc(x,y) nasm_realloc_log(__FILE__,__LINE__,x,y) |
From: <be...@us...> - 2002-05-17 03:10:22
|
Update of /cvsroot/nasm/nasm In directory usw-pr-cvs1:/tmp/cvs-serv29091 Modified Files: preproc.c Log Message: Fixed bug 556600 in which an unterminated macro error never included a file name or line number. Index: preproc.c =================================================================== RCS file: /cvsroot/nasm/nasm/preproc.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- preproc.c 14 May 2002 23:54:46 -0000 1.23 +++ preproc.c 17 May 2002 03:10:13 -0000 1.24 @@ -390,7 +390,7 @@ * gives our position in the macro set, when we're processing it. */ #include "macros.c" -static char **stdmacpos; +static const char **stdmacpos; /* * The extra standard macros that come from the object format, if @@ -419,7 +419,7 @@ static Token *expand_id(Token * tline); static Context *get_ctx(char *name, int all_contexts); static void make_tok_num(Token * tok, long val); -static void error(int severity, char *fmt, ...); +static void error(int severity, const char *fmt, ...); static void *new_Block(size_t size); static void delete_Blocks(void); static Token *new_Token(Token * next, int type, char *text, int txtlen); @@ -4004,7 +4004,7 @@ * per pass) we will want to show errors only during pass one. */ static void -error(int severity, char *fmt, ...) +error(int severity, const char *fmt, ...) { va_list arg; char buff[1024]; @@ -4020,7 +4020,7 @@ if (istk && istk->mstk && istk->mstk->name) _error(severity | ERR_PASS1, "(%s:%d) %s", istk->mstk->name, istk->mstk->lineno, buff); - else + else _error(severity | ERR_PASS1, "%s", buff); } @@ -4196,10 +4196,14 @@ fclose(i->fp); if (i->conds) error(ERR_FATAL, "expected `%%endif' before end of file"); + /* only set line and file name if there's a next node */ + if (i->next) + { + src_set_linnum(i->lineno); + nasm_free(src_set_fname(i->fname)); + } istk = i->next; list->downlevel(LIST_INCLUDE); - src_set_linnum(i->lineno); - nasm_free(src_set_fname(i->fname)); nasm_free(i); if (!istk) return NULL; |
From: <deb...@us...> - 2002-05-17 01:41:13
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv10205/nasm/doc Modified Files: nasmdoc.src Log Message: Added documentation for __NASM_SUBMINOR__ and __NASM_VER__ macros. Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- nasmdoc.src 17 May 2002 01:03:43 -0000 1.47 +++ nasmdoc.src 17 May 2002 01:41:09 -0000 1.48 @@ -2783,14 +2783,26 @@ described here. -\S{stdmacver} \i\c{__NASM_MAJOR__} and \i\c{__NASM_MINOR__}: \i{NASM -Version} +\S{stdmacver} \i\c{__NASM_MAJOR__}, \i\c{__NASM_MINOR__} and +\i\c{__NASM_SUBMINOR__}: \i{NASM Version} -The single-line macros \c{__NASM_MAJOR__} and \c{__NASM_MINOR__} -expand to the major and minor parts of the \i{version number of -NASM} being used. So, under NASM 0.96 for example, -\c{__NASM_MAJOR__} would be defined to be 0 and \c{__NASM_MINOR__} -would be defined as 96. +The single-line macros \c{__NASM_MAJOR__}, \c{__NASM_MINOR__} and +\c{__NASM_SUBMINOR__} expand to the major, minor and subminor parts of +the \i{version number of NASM} being used. So, under NASM 0.98.31 for +example, \c{__NASM_MAJOR__} would be defined to be 0, \c{__NASM_MINOR__} +would be defined as 98 and \c{__NASM_SUBMINOR__} would be defined to 31. + + +\S{stdmacverstr} \i\c{__NASM_VER__}: \i{NASM Version string} + +The single-line macro \c{__NASM_VER__} expands to a string which defines +the version number of nasm being used. So, under NASM 0.98.31 for example, + +\c db __NASM_VER__ + +would expand to + +\c db "0.98.31" \S{fileline} \i\c{__FILE__} and \i\c{__LINE__}: File Name and Line Number |
From: <hp...@us...> - 2002-05-17 01:03:46
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv2876 Modified Files: nasmdoc.src Log Message: Make the ELF section a bit more accurate; clean up some index items Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- nasmdoc.src 17 May 2002 00:28:47 -0000 1.46 +++ nasmdoc.src 17 May 2002 01:03:43 -0000 1.47 @@ -34,7 +34,8 @@ \IR{-v} \c{-v} option \IR{-w} \c{-w} option \IR{!=} \c{!=} operator -\IR{$ here} \c{$} Here token +\IR{$, here} \c{$}, Here token +\IR{$, prefix} \c{$}, prefix \IR{$$} \c{$$} token \IR{%} \c{%} operator \IR{%%} \c{%%} operator @@ -110,7 +111,11 @@ \IR{dos source archive} DOS source archive \IA{effective address}{effective addresses} \IA{effective-address}{effective addresses} -\IR{elf shared libraries} \c{elf} shared libraries +\IR{elf} ELF +\IR{elf, 16-bit code and} ELF, 16-bit code and +\IR{elf shared libraries} ELF, shared libraries +\IR{executable and linkable format} Executable and Linkable Format +\IR{extern, obj extensions to} \c{EXTERN}, \c{obj} extensions to \IR{freebsd} FreeBSD \IR{freelink} FreeLink \IR{functions, c calling convention} functions, C calling convention @@ -123,12 +128,16 @@ \IR{got relocations} \c{GOT} relocations \IR{gotoff relocation} \c{GOTOFF} relocations \IR{gotpc relocation} \c{GOTPC} relocations -\IR{linux elf} Linux ELF +\IR{intel number formats} Intel number formats +\IR{linux, elf} Linux, ELF +\IR{linux, a.out} Linux, \c{a.out} +\IR{linux, as86} Linux, \c{as86} \IR{logical and} logical AND \IR{logical or} logical OR \IR{logical xor} logical XOR \IR{masm} MASM \IA{memory reference}{memory references} +\IR{minix} Minix \IA{misc directory}{misc subdirectory} \IR{misc subdirectory} \c{misc} subdirectory \IR{microsoft omf} Microsoft OMF @@ -152,6 +161,9 @@ \IR{plt} PLT \IR{plt} \c{PLT} relocations \IA{pre-defining macros}{pre-define} +\IA{preprocessor expressions}{preprocessor, expressions} +\IA{preprocessor loops}{preprocessor, loops} +\IA{preprocessor variables}{preprocessor, variables} \IA{rdoff subdirectory}{rdoff} \IR{rdoff} \c{rdoff} subdirectory \IR{relocatable dynamic object file format} Relocatable Dynamic @@ -171,15 +183,22 @@ \IR{shift command} \c{shift} command \IA{sib}{sib byte} \IR{sib byte} SIB byte +\IR{solaris x86} Solaris x86 \IA{standard section names}{standardised section names} \IR{symbols, exporting from dlls} symbols, exporting from DLLs \IR{symbols, importing from dlls} symbols, importing from DLLs -\IR{tasm} TASM +\IR{tasm} \c{TASM} \IR{test subdirectory} \c{test} subdirectory -\IR{tlink} TLINK +\IR{tlink} \c{TLINK} \IR{underscore, in c symbols} underscore, in C symbols \IR{unix} Unix -\IR{unix source archive} Unix source archive +\IA{sco unix}{unix, sco} +\IR{unix, sco} Unix, SCO +\IA{unix source archive}{unix, source archive} +\IR{unix, source archive} Unix, source archive +\IA{unix system v}{unix, system v} +\IR{unix, system v} Unix, System V +\IR{unixware} UnixWare \IR{val} VAL \IR{version number of nasm} version number of NASM \IR{visual c++} Visual C++ @@ -201,7 +220,7 @@ The Netwide Assembler, NASM, is an 80x86 assembler designed for portability and modularity. It supports a range of object file -formats, including Linux \c{a.out} and \c{ELF}, \c{NetBSD/FreeBSD}, +formats, including Linux and \c{NetBSD/FreeBSD} \c{a.out}, \c{ELF}, \c{COFF}, Microsoft 16-bit \c{OBJ} and \c{Win32}. It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel's but less complex. It supports \c{Pentium}, @@ -226,8 +245,8 @@ actually \e{write} anything in it. Plus you can't write 16-bit code in it (properly). -\b \i\c{as86} is Linux-specific, and (my version at least) doesn't -seem to have much (or any) documentation. +\b \i\c{as86} is Minix- and Linux-specific, and (my version at least) +doesn't seem to have much (or any) documentation. \b \i\c{MASM} isn't very good, and it's expensive, and it runs only under DOS. @@ -405,8 +424,8 @@ This will also list the available output file formats, and what they are. -If you use Linux but aren't sure whether your system is \c{a.out} or -\c{ELF}, type +If you use Linux but aren't sure whether your system is \c{a.out} +or \c{ELF}, type \c file nasm @@ -421,7 +440,7 @@ \c nasm: Linux/i386 demand-paged executable (QMAGIC) or something similar, your system is \c{a.out}, and you should use -\c{-f aout} instead (Linux \c{a.out} systems are considered obsolete, +\c{-f aout} instead (Linux \c{a.out} systems have long been obsolete, and are rare these days.) Like Unix compilers and assemblers, NASM is silent unless it @@ -694,7 +713,7 @@ \S{opt-t} The \i\c{-t} option: Enable TASM Compatibility Mode -NASM includes a limited form of compatibility with Borland's \c{TASM}. +NASM includes a limited form of compatibility with Borland's \i\c{TASM}. When NASM's \c{-t} option is used, the following changes are made: \b local labels may be prefixed with \c{@@} instead of \c{.} @@ -971,7 +990,7 @@ \c{#}, \c{@}, \c{~}, \c{.}, and \c{?}. The only characters which may be used as the \e{first} character of an identifier are letters, \c{.} (with special meaning: see \k{locallab}), \c{_} and \c{?}. -An identifier may also be prefixed with a \I{$prefix}\c{$} to +An identifier may also be prefixed with a \I{$, prefix}\c{$} to indicate that it is intended to be read as an identifier and not a reserved word; thus, if some other module you are linking with defines a symbol called \c{eax}, you can refer to \c{$eax} in NASM @@ -1223,7 +1242,7 @@ suffix \c{H}, \c{Q} and \c{B} for \i{hex}, \i{octal} and \i{binary}, or you can prefix \c{0x} for hex in the style of C, or you can prefix \c{$} for hex in the style of Borland Pascal. Note, though, -that the \I{$prefix}\c{$} prefix does double duty as a prefix on +that the \I{$, prefix}\c{$} prefix does double duty as a prefix on identifiers (see \k{syntax}), so a hex number prefixed with a \c{$} sign must have a digit after the \c{$} rather than a letter. @@ -1327,7 +1346,7 @@ NASM supports two special tokens in expressions, allowing calculations to involve the current assembly position: the -\I{$ here}\c{$} and \i\c{$$} tokens. \c{$} evaluates to the assembly +\I{$, here}\c{$} and \i\c{$$} tokens. \c{$} evaluates to the assembly position at the beginning of the line containing the expression; so you can code an \i{infinite loop} using \c{JMP $}. \c{$$} evaluates to the beginning of the current section; so you can tell how far @@ -2261,7 +2280,8 @@ You can have more than one \c{%elif} clause as well. -\S{ifdef} \i\c{%ifdef}: \i{Testing Single-Line Macro Existence} +\S{ifdef} \i\c{%ifdef}: Testing Single-Line Macro Existence\I{testing, +single-line macro existence} Beginning a conditional-assembly block with the line \c{%ifdef MACRO} will assemble the subsequent code if, and only if, a @@ -2287,7 +2307,8 @@ \i\c{%elifndef}. -\S{ifmacro} \i\c{ifmacro}: \i{Testing Multi-Line Macro Existence} +\S{ifmacro} \i\c{ifmacro}: Testing Multi-Line Macro +Existence\I{testing, multi-line macro existence} The \c{%ifmacro} directive operates in the same way as the \c{%ifdef} directive, except that it checks for the existence of a multi-line macro. @@ -2323,7 +2344,8 @@ \i\c{%elifmacro} and \i\c{%elifnmacro}. -\S{ifctx} \i\c{%ifctx}: \i{Testing the Context Stack} +\S{ifctx} \i\c{%ifctx}: Testing the Context Stack\I{testing, context +stack} The conditional-assembly construct \c{%ifctx ctxname} will cause the subsequent code to be assembled if and only if the top context on @@ -2335,7 +2357,8 @@ sample use of \c{%ifctx}, see \k{blockif}. -\S{if} \i\c{%if}: \i{Testing Arbitrary Numeric Expressions} +\S{if} \i\c{%if}: Testing Arbitrary Numeric Expressions\I{testing, +arbitrary numeric expressions} The conditional-assembly construct \c{%if expr} will cause the subsequent code to be assembled if and only if the value of the @@ -2362,8 +2385,8 @@ for true and 0 for false. -\S{ifidn} \i\c{%ifidn} and \i\c{%ifidni}: \i{Testing Exact Text -Identity} +\S{ifidn} \i\c{%ifidn} and \i\c{%ifidni}: Testing Exact Text +Identity\I{testing, exact text identity} The construct \c{%ifidn text1,text2} will cause the subsequent code to be assembled if and only if \c{text1} and \c{text2}, after @@ -2392,8 +2415,8 @@ \i\c{%ifnidni} and \i\c{%elifnidni}. -\S{iftyp} \i\c{%ifid}, \i\c{%ifnum}, \i\c{%ifstr}: \i{Testing Token -Types} +\S{iftyp} \i\c{%ifid}, \i\c{%ifnum}, \i\c{%ifstr}: Testing Token +Types\I{testing, token types} Some macros will want to perform different tasks depending on whether they are passed a number, a string, or an identifier. For @@ -3944,12 +3967,13 @@ the \c{info} section type are not supported. -\H{elffmt} \i\c{elf}: \i{Linux ELF}\I{Executable and Linkable +\H{elffmt} \i\c{elf}: \I{ELF}\I{linux, elf}\i{Executable and Linkable Format} Object Files The \c{elf} output format generates \c{ELF32} (Executable and Linkable -Format) object files, as used by Linux. \c{elf} provides a default -output file-name extension of \c{.o}. +Format) object files, as used by Linux as well as \i{Unix System V}, +including \i{Solaris x86}, \i{UnixWare} and \i{SCO Unix}. \c{elf} +provides a default output file-name extension of \c{.o}. \S{elfsect} \c{elf} Extensions to the \c{SECTION} @@ -4111,14 +4135,25 @@ requires that it be aligned on a 4-byte boundary. -\H{aoutfmt} \i\c{aout}: Linux \I{a.out, Linux version}\c{a.out} Object Files +\S{elf16} 16-bit code and ELF +\I{ELF, 16-bit code and} -The \c{aout} format generates \c{a.out} object files, in the form -used by early Linux systems. (These differ from other \c{a.out} -object files in that the magic number in the first four bytes of the -file is different. Also, some implementations of \c{a.out}, for -example NetBSD's, support position-independent code, which Linux's -implementation doesn't.) +The \c{ELF32} specification doesn't provide relocations for 8- and +16-bit values, but the GNU \c{ld} linker adds these as an extension. +NASM can generate GNU-compatible relocations, to allow 16-bit code to +be linked as ELF using GNU \c{ld}. If NASM is used with the +\c{-w+gnu-elf-extensions} option, a warning is issued when one of +these relocations is generated. + +\H{aoutfmt} \i\c{aout}: Linux \I{a.out, Linux version}\I{linux, a.out}\c{a.out} Object Files + +The \c{aout} format generates \c{a.out} object files, in the form used +by early Linux systems (current Linux systems use ELF, see +\k{elffmt}.) These differ from other \c{a.out} object files in that +the magic number in the first four bytes of the file is +different; also, some implementations of \c{a.out}, for example +NetBSD's, support position-independent code, which Linux's +implementation does not. \c{a.out} provides a default output file-name extension of \c{.o}. @@ -4152,10 +4187,10 @@ this. -\H{as86fmt} \c{as86}: Linux \i\c{as86} Object Files +\H{as86fmt} \c{as86}: \i{Minix}/Linux\I{linux, as86} \i\c{as86} Object Files -The Linux 16-bit assembler \c{as86} has its own non-standard object -file format. Although its companion linker \i\c{ld86} produces +The Minix/Linux 16-bit assembler \c{as86} has its own non-standard +object file format. Although its companion linker \i\c{ld86} produces something close to ordinary \c{a.out} binaries as output, the object file format used to communicate between \c{as86} and \c{ld86} is not itself \c{a.out}. @@ -4214,7 +4249,7 @@ Note that when you statically link modules and tell linker to strip the symbols from output file, all module names will be stripped too. -To avoid it, you should start module names with \I{$prefix}\c{$}, like: +To avoid it, you should start module names with \I{$, prefix}\c{$}, like: \c module $kernel.core |
From: <deb...@us...> - 2002-05-17 00:28:51
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv25043/nasm/doc Modified Files: nasmdoc.src Log Message: Changed \\ to \ in paths for -i command line option Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- nasmdoc.src 17 May 2002 00:14:58 -0000 1.45 +++ nasmdoc.src 17 May 2002 00:28:47 -0000 1.46 @@ -552,7 +552,7 @@ command line by the use of the \c{-i} option. Therefore you can include files from a \i{macro library}, for example, by typing -\c nasm -ic:\\macrolib\\ -f obj myfile.asm +\c nasm -ic:\macrolib\ -f obj myfile.asm (As usual, a space between \c{-i} and the path name is allowed, and optional). |
From: <deb...@us...> - 2002-05-17 00:15:01
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv16509/nasm/doc Modified Files: nasmdoc.src Log Message: Corrected uD# documentation Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- nasmdoc.src 16 May 2002 23:48:45 -0000 1.44 +++ nasmdoc.src 17 May 2002 00:14:58 -0000 1.45 @@ -12541,14 +12541,14 @@ \c{UD0} is specifically documented by AMD as being reserved for this purpose. -\c{UD1} is specifically documented by Intel as being reserved for this -purpose. +\c{UD1} is documented by Intel as being available for this purpose. -\c{UD2} is mentioned by Intel as being available, but is not mentioned -as reserved. +\c{UD2} is specifically documented by Intel as being reserved for this +purpose. Intel document this as the preferred method of generating an +invalid opcode exception. All these opcodes can be used to generate invalid opcode exceptions on -all processors that are available at the current time. +all currently available processors. \S{insUMOV} \i\c{UMOV}: User Move Data |
From: <deb...@us...> - 2002-05-16 23:48:49
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv870/nasm/doc Modified Files: nasmdoc.src Log Message: Another \i --> \I change Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- nasmdoc.src 16 May 2002 23:30:48 -0000 1.43 +++ nasmdoc.src 16 May 2002 23:48:45 -0000 1.44 @@ -3129,7 +3129,7 @@ In addition to the universal directives described in this chapter, each object file format can optionally supply extra directives in order to control particular features of that file format. These -\i{format-specific directives}\e{format-specific} directives are +\I{format-specific directives}\e{format-specific} directives are documented along with the formats that implement them, in \k{outfmt}. |
From: <hp...@us...> - 2002-05-16 23:30:52
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv22555 Modified Files: nasmdoc.src Log Message: Add missing space Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- nasmdoc.src 16 May 2002 23:14:13 -0000 1.42 +++ nasmdoc.src 16 May 2002 23:30:48 -0000 1.43 @@ -3945,7 +3945,7 @@ \H{elffmt} \i\c{elf}: \i{Linux ELF}\I{Executable and Linkable -Format}Object Files +Format} Object Files The \c{elf} output format generates \c{ELF32} (Executable and Linkable Format) object files, as used by Linux. \c{elf} provides a default |
From: <hp...@us...> - 2002-05-16 23:14:16
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv10808 Modified Files: nasmdoc.src Log Message: Change \i -> \I in a few places Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- nasmdoc.src 16 May 2002 20:02:45 -0000 1.41 +++ nasmdoc.src 16 May 2002 23:14:13 -0000 1.42 @@ -3116,8 +3116,8 @@ MASM and TASM, is nevertheless forced to support a \e{few} directives. These are described in this chapter. -NASM's directives come in two types: \i{user-level -directives}\e{user-level} directives and \i{primitive +NASM's directives come in two types: \I{user-level +directives}\e{user-level} directives and \I{primitive directives}\e{primitive} directives. Typically, each directive has a user-level form and a primitive form. In almost all cases, we recommend that users use the user-level forms of the directives, |
From: <hp...@us...> - 2002-05-16 20:02:48
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv23084 Modified Files: nasmdoc.src Log Message: Fix some formatting inconsistencies in %ifmacro. Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- nasmdoc.src 16 May 2002 19:32:49 -0000 1.40 +++ nasmdoc.src 16 May 2002 20:02:45 -0000 1.41 @@ -2297,7 +2297,7 @@ name if it doesn't already exist, and another name if one with that name does exist. -The %ifmacro is considered true if defining a macro with the given name +The \c{%ifmacro} is considered true if defining a macro with the given name and number of arguments would cause a definitions conflict. For example: \c %ifmacro MyMacro 1-3 @@ -2318,9 +2318,9 @@ would conflict with it, and emits a warning if there would be a definition conflict. -You can test for the macro not existing by using the \i\c{ifnmacro} instead -of \c{ifmacro}. Additional tests can be performed in %elif blocks by using -\i\c{elifmacro} and \i\c{elifnmacro}. +You can test for the macro not existing by using the \i\c{%ifnmacro} instead +of \c{%ifmacro}. Additional tests can be performed in \c{%elif} blocks by using +\i\c{%elifmacro} and \i\c{%elifnmacro}. \S{ifctx} \i\c{%ifctx}: \i{Testing the Context Stack} |
From: <hp...@us...> - 2002-05-16 19:33:31
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv27817 Modified Files: genps.pl head.ps Log Message: Include the NASM logo from the specified EPS file rather than hard-coding it. Index: genps.pl =================================================================== RCS file: /cvsroot/nasm/nasm/doc/genps.pl,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- genps.pl 16 May 2002 18:34:57 -0000 1.10 +++ genps.pl 16 May 2002 19:33:27 -0000 1.11 @@ -930,7 +930,7 @@ print "%!PS-Adobe-3.0\n"; print "%%Pages: $curpage\n"; print "%%BoundingBox: 0 0 ", $psconf{pagewidth}, ' ', $psconf{pageheight}, "\n"; -print "%%Creator: NASM psflow.pl\n"; +print "%%Creator: (NASM psflow.pl)\n"; print "%%DocumentData: Clean7Bit\n"; print "%%DocumentFonts: ", join(' ', keys(%ps_all_fonts)), "\n"; print "%%DocumentNeededFonts: ", join(' ', keys(%ps_all_fonts)), "\n"; @@ -1051,45 +1051,78 @@ $ps_page = 0; -# Title page and inner cover +# Title page ps_start_page(); $title = $metadata{'title'}; $title =~ s/ \- / $emdash /; $pstitle = ps_string($title); -# FIX THIS: This shouldn't be hard-coded like this -print <<EOF; -lmarg pageheight 2 mul 3 div moveto -tfont0 setfont -/title linkdest ${pstitle} show -lmarg pageheight 2 mul 3 div 10 sub moveto -0 setlinecap 3 setlinewidth -pagewidth lmarg sub rmarg sub 0 rlineto stroke -/nasmlogo { -gsave 1 dict begin -/sz exch def -/Courier-Bold findfont sz scalefont setfont -moveto -0.85 1.22 scale -[(-~~..~:\#;L .-:\#;L,.- .~:\#:;.T -~~.~:;. .~:;. ) -( E8+U *T +U\' *T\# .97 *L E8+\' *;T\' *;, ) -( D97 \`*L .97 \'*L \"T;E+:, D9 *L *L ) -( H7 I\# T7 I\# \"*:. H7 I\# I\# ) -( U: :8 *\#+ , :8 T, 79 U: :8 :8 ) -(,\#B. .IE, \"T;E* .IE, J *+;\#:T*\" ,\#B. .IE, .IE,)] { -currentpoint 3 -1 roll -sz -0.10 mul 0 3 -1 roll ashow -sz 0.72 mul sub moveto -} forall -end grestore -} def -0.6 setgray -pagewidth 2 div 143 sub -pageheight 2 div 33 add -12 nasmlogo -EOF +# Print title +print "lmarg pageheight 2 mul 3 div moveto\n"; +print "tfont0 setfont\n"; +print "/title linkdest ${pstitle} show\n"; +print "lmarg pageheight 2 mul 3 div 10 sub moveto\n"; +print "0 setlinecap 3 setlinewidth\n"; +print "pagewidth lmarg sub rmarg sub 0 rlineto stroke\n"; + +# Print logo, if there is one +# FIX: To be 100% correct, this should look for DocumentNeeded* +# and DocumentFonts in the header of the EPSF and add those to the +# global header. +if ( defined($metadata{epslogo}) && + sysopen(EPS, $metadata{epslogo}, O_RDONLY) ) { + my @eps = (); + my ($bbllx,$bblly,$bburx,$bbury) = (undef,undef,undef,undef); + my $line; + my $scale = 1; + my $maxwidth = $psconf{pagewidth}-$psconf{lmarg}-$psconf{rmarg}; + my $maxheight = $psconf{pageheight}/3-40; + my $width, $height; + my $x, $y; + + while ( defined($line = <EPS>) ) { + last if ( $line =~ /^%%EOF/ ); + if ( !defined($bbllx) && + $line =~ /^\%\%BoundingBox\:\s*([0-9\.]+)\s+([0-9\.]+)\s+([0-9\.]+)\s+([0-9\.]+)/i ) { + $bbllx = $1+0; $bblly = $2+0; + $bburx = $3+0; $bbury = $4+0; + } + push(@eps,$line); + } + close(EPS); + + if ( defined($bbllx) ) { + $width = $bburx-$bbllx; + $height = $bbury-$bblly; + + if ( $width > $maxwidth ) { + $scale = $maxwidth/$width; + } + if ( $height*$scale > $maxheight ) { + $scale = $maxheight/$height; + } + + $x = ($psconf{pagewidth}-$width*$scale)/2; + $y = ($psconf{pageheight}-$height*$scale)/2; + + print "BeginEPSF\n"; + print $x, ' ', $y, " translate\n"; + print $scale, " dup scale\n" unless ( $scale == 1 ); + print -$bbllx, ' ', -$bblly, " translate\n"; + print "$bbllx $bblly moveto\n"; + print "$bburx $bblly lineto\n"; + print "$bburx $bbury lineto\n"; + print "$bbllx $bbury lineto\n"; + print "$bbllx $bblly lineto clip newpath\n"; + print "%%BeginDocument: ",ps_string($metadata{epslogo}),"\n"; + print @eps; + print "%%EndDocument\n"; + print "EndEPSF\n"; + } +} ps_end_page(0); +# Emit the rest of the document (page 2 and on) $curpage = 2; ps_start_page(); foreach $line ( @pslines ) { Index: head.ps =================================================================== RCS file: /cvsroot/nasm/nasm/doc/head.ps,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- head.ps 16 May 2002 06:40:56 -0000 1.6 +++ head.ps 16 May 2002 19:33:27 -0000 1.7 @@ -367,3 +367,28 @@ % [/PageMode /UseOutlines /DOCVIEW pdfmark % Display bookmarks +% +% Functions to include EPS +% +/BeginEPSF { + /Before_EPSF_State save def + /dict_count countdictstack def + /op_count count 1 sub def + userdict begin + /showpage {} def + 0 setgray 0 setlinecap + 1 setlinewidth 0 setlinejoin + 10 setmiterlimit [ ] 0 setdash newpath + /languagelevel where + { + pop languagelevel + 1 ne { + false setstrokeadjust false setoverprint + } if + } if +} bind def +/EndEPSF { + count op_count sub {pop} repeat + countdictstack dict_count sub {end} repeat + Before_EPSF_State restore +} bind def |
From: <hp...@us...> - 2002-05-16 19:32:52
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv27499 Modified Files: nasmdoc.src Log Message: Fix a couple of index terms. Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- nasmdoc.src 16 May 2002 05:53:01 -0000 1.39 +++ nasmdoc.src 16 May 2002 19:32:49 -0000 1.40 @@ -142,7 +142,7 @@ \IR{netbsd} NetBSD \IR{omf} OMF \IR{openbsd} OpenBSD -\IR{operating-system} operating system +\IR{operating system} operating system \IR{os/2} OS/2 \IR{pascal calling convention}Pascal calling convention \IR{passes} passes, assembly @@ -152,7 +152,6 @@ \IR{plt} PLT \IR{plt} \c{PLT} relocations \IA{pre-defining macros}{pre-define} -\IR{qbasic} QBasic \IA{rdoff subdirectory}{rdoff} \IR{rdoff} \c{rdoff} subdirectory \IR{relocatable dynamic object file format} Relocatable Dynamic @@ -3460,7 +3459,7 @@ nothing in the output file except the code you wrote. Such `pure binary' files are used by \i{MS-DOS}: \i\c{.COM} executables and \i\c{.SYS} device drivers are pure binary files. Pure binary output -is also useful for \i{operating-system} and \i{boot loader} +is also useful for \i{operating system} and \i{boot loader} development. \c{bin} supports the three \i{standardised section names} \i\c{.text}, |
From: <hp...@us...> - 2002-05-16 18:35:00
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv23072 Modified Files: genps.pl Log Message: Minor formatting tweaks. Index: genps.pl =================================================================== RCS file: /cvsroot/nasm/nasm/doc/genps.pl,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- genps.pl 16 May 2002 18:08:15 -0000 1.9 +++ genps.pl 16 May 2002 18:34:57 -0000 1.10 @@ -22,8 +22,8 @@ plmarg => 50, # Page number position relative to left margin prmarg => 0, # Page number position relative to right margin pymarg => 50, # Page number position relative to bot margin - startcopyright => 100, # How much above the bottom margin is the - # copyright notice stuff + startcopyright => 75, # How much above the bottom margin is the + # copyright notice stuff bulladj => 12, # How much to indent a bullet paragraph tocind => 12, # TOC indentation per level tocpnz => 24, # Width of TOC page number only zone @@ -40,6 +40,8 @@ # Known paper sizes %papersizes = ( + 'a5' => [421, 595], # ISO half paper size + 'b5' => [501, 709], # ISO small paper size 'a4' => [595, 842], # ISO standard paper size 'letter' => [612, 792], # US common paper size 'pa4' => [595, 792], # Compromise ("portable a4") @@ -146,9 +148,10 @@ 'udieresis', 'yacute', 'thorn', 'ydieresis' ); -$emdash = "\227"; -$endash = "\226"; -$bullet = "\225"; +$emdash = "\227"; +$endash = "\226"; +$bullet = "\225"; +$copyright = "\251"; # # First, format the stuff coming from the front end into @@ -217,6 +220,8 @@ my($s) = @_; my(@a) = (); + $s =~ s/ \- / $endash /g; # Replace " - " with en dash + while ( $s =~ /^(\s+|\S+)(.*)$/ ) { push(@a, [0,$1]); $s = $2; @@ -534,7 +539,7 @@ # @tocparas = ([[-5, 'contents'], [0,'Contents']]); @tocptypes = ('chap'); -@bookmarks = (['title', 0, 'Title Page'], ['contents', 0, 'Contents']); +@bookmarks = (['title', 0, 'Title'], ['contents', 0, 'Contents']); %bookref = (); for ( $i = 0 ; $i < $npara ; $i++ ) { my $xtype = $ptypes[$i]; @@ -592,10 +597,11 @@ # # Add copyright notice to the beginning # -unshift(@paras, [[0, "\251"], [0, ' '], [0,$metadata{'year'}], - [0, ' '], string2array($metadata{'author'})], - [[0, ' ']], [string2array($metadata{'license'})]); -unshift(@ptypes, 'norm', 'norm', 'norm'); +unshift(@paras, + [[0, $copyright], [0, ' '], [0,$metadata{'year'}], + [0, ' '], string2array($metadata{'author'})], + [string2array($metadata{'license'})]); +unshift(@ptypes, 'norm', 'norm'); $npara = scalar(@paras); |
From: <hp...@us...> - 2002-05-16 18:15:36
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv17789 Modified Files: Makefile.in rdsrc.pl Log Message: Rip out the old PostScript backend and make the new one official. Index: Makefile.in =================================================================== RCS file: /cvsroot/nasm/nasm/doc/Makefile.in,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- Makefile.in 15 May 2002 19:02:52 -0000 1.27 +++ Makefile.in 16 May 2002 18:15:31 -0000 1.28 @@ -34,19 +34,14 @@ $(PERL) $(srcdir)/rdsrc.pl < $< mv -f *.html html -nasmdoc.ps: nasmdoc.dip - : Generated by side effect - nasmdoc.texi: nasmdoc.dip : Generated by side effect -new: nasmdocx.ps nasmdocx.pdf - -nasmdocx.ps: nasmdoc.dip nasmlogo.eps genps.pl psfonts.ph pswidth.ph head.ps - $(PERL) $(srcdir)/genps.pl nasmdoc.dip > nasmdocx.ps +nasmdoc.ps: nasmdoc.dip nasmlogo.eps genps.pl psfonts.ph pswidth.ph head.ps + $(PERL) $(srcdir)/genps.pl nasmdoc.dip > nasmdoc.ps -nasmdocx.pdf: nasmdocx.ps - $(PS2PDF) nasmdocx.ps nasmdocx.pdf +nasmdoc.pdf: nasmdoc.ps + $(PS2PDF) nasmdoc.ps nasmdoc.pdf nasm.info: info/nasm.info @@ -59,10 +54,6 @@ nasmdoc.dvi: nasmdoc.texi $(TEXI2DVI) nasmdoc.texi -# PDF output -nasmdoc.pdf: nasmdoc.ps - $(PS2PDF) nasmdoc.ps nasmdoc.pdf - # Rules for building an OS/2 book nasmdoc.ipf: nasmdoc.texi texi2ipf $< >$@ @@ -77,7 +68,7 @@ spotless: clean -rm -rf html info -rm -f *.hlp *.txt *.inf *.pdf *.dvi - -rm -f nasmdoc.ps nasmdocx.ps + -rm -f nasmdoc*.ps install: all $(INSTALL_DATA) info/* $(INSTALLROOT)$(infodir) Index: rdsrc.pl =================================================================== RCS file: /cvsroot/nasm/nasm/doc/rdsrc.pl,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- rdsrc.pl 14 May 2002 21:28:54 -0000 1.8 +++ rdsrc.pl 16 May 2002 18:15:31 -0000 1.9 @@ -133,9 +133,6 @@ print "Producing HTML output: "; &write_html; print "done.\n"; -print "Producing PostScript output: "; -&write_ps; -print "done.\n"; print "Producing Texinfo output: "; &write_texi; print "done.\n"; @@ -872,842 +869,6 @@ } } -sub ref_ps { - my($r) = @_; - $r =~ s/\./_/g; - return 'n'.$r; -} - -sub ps_write_bookmarks { - my $para; - my %nchildren = (); - my %titles = (); - my @reflist = (); - my $ref, $pref, $i, $title; - - for ($para = 0; $para <= $#pnames; $para++) { - my $pname = $pnames[$para]; - my $pflags = $pflags[$para]; - my $ptype = substr($pflags,0,4); - - if ($ptype eq "chap" || $ptype eq "appn") { - # Chapter/appendix heading. "Chapter N: Title" followed by a line of - # minus signs. - - $pflags =~ /(chap|appn) (.*) :(.*)/; - $ref = &ref_ps($2); - $title = ''; - foreach $i (@$pname) { - $title .= &word_ps_title($i); - } - $titles{$ref} = $title; - push @reflist, $ref; - } elsif ($ptype eq "head" || $ptype eq "subh") { - # Heading/subheading. Just a number and some text. - $pflags =~ /.... (.*) :(.*)/; - $ref = &ref_ps($1); - $ref =~ /^(n[0-9A-Za-z_]+)\_[0-9A-Za-z]+$/; - $pref = $1; - - $title = ''; - foreach $i (@$pname) { - $title .= &word_ps_title($i); - } - $titles{$ref} = $title; - push @reflist, $ref; - $nchildren{$pref}++; - } - } - - # Now we should have enough data to generate the bookmarks - print "[/Title (Contents) /Dest /nContents /OUT pdfmark"; - foreach $i ( @reflist ) { - print '[/Title (', $titles{$i}, ")\n"; - print '/Count -', $nchildren{$i}, ' ' if ( $nchildren{$i} ); - print "/Dest /$i /OUT pdfmark\n"; - } - print "[/Title (Index) /Dest /nIndex /OUT pdfmark\n"; -} - -sub write_ps { - # This is called from the top level, so I won't bother using - # my or local. - - # First, set up the font metric arrays. - &font_metrics; - - # First stage: reprocess the source arrays into a list of - # lines, each of which is a list of word-strings, each of - # which has a single-letter font code followed by text. - # Each line also has an associated type, which will be - # used for final alignment and font selection and things. - # - # Font codes are: - # n == Normal - # e == Emphasised - # c == Code - # ' ' == space (no following text required) - # '-' == dash (no following text required) - # - # Line types are: - # chap == Chapter or appendix heading. - # head == Major heading. - # subh == Sub-heading. - # Ccha == Contents entry for a chapter. - # Chea == Contents entry for a heading. - # Csub == Contents entry for a subheading. - # cone == Code paragraph with just this one line on it. - # cbeg == First line of multi-line code paragraph. - # cbdy == Interior line of multi-line code paragraph. - # cend == Final line of multi-line code paragraph. - # none == Normal paragraph with just this one line on it. - # nbeg == First line of multi-line normal paragraph. - # nbdy == Interior line of multi-line normal paragraph. - # nend == Final line of multi-line normal paragraph. - # bone == Bulleted paragraph with just this one line on it. - # bbeg == First line of multi-line bulleted paragraph. - # bbdy == Interior line of multi-line bulleted paragraph. - # bend == Final line of multi-line bulleted paragraph. - print "line-breaks..."; - $lname = "psline000000"; - $lnamei = "idx" . $lname; - @lnames = @ltypes = (); - - $linewidth = 468; # ADJUSTABLE: width of a normal text line - $bulletadj = 12; # ADJUSTABLE: space for a bullet - - for ($para = 0; $para <= $#pnames; $para++) { - $pname = $pnames[$para]; - $pflags = $pflags[$para]; - $ptype = substr($pflags,0,4); - - # New paragraph _ergo_ new line. - @line = (); - @lindex = (); # list of index tags referenced to this line - - if ($ptype eq "chap") { - # Chapter heading. "Chapter N: Title" followed by a line of - # minus signs. - $pflags =~ /chap (.*) :(.*)/; - push @line, "B".&ref_ps($1), "nChapter", " ", "n$1:", " "; - foreach $i (@$pname) { - $ww = &word_ps($i); - push @line, $ww unless $ww eq "x"; - } - @$lname = @line; @$lnamei = @lindex; - push @lnames, $lname++; - $lnamei = "idx" . $lname; - push @ltypes, "chap"; - } elsif ($ptype eq "appn") { - # Appendix heading. "Appendix N: Title" followed by a line of - # minus signs. - $pflags =~ /appn (.*) :(.*)/; - push @line, "B".&ref_ps($1), "nAppendix", " ", "n$1:", " "; - foreach $i (@$pname) { - $ww = &word_ps($i); - push @line, $ww unless $ww eq "x"; - } - @$lname = @line; @$lnamei = @lindex; - push @lnames, $lname++; - $lnamei = "idx" . $lname; - push @ltypes, "chap"; - } elsif ($ptype eq "head") { - # Heading. Just a number and some text. - $pflags =~ /.... (.*) :(.*)/; - push @line, "B".&ref_ps($1), "n$1"; - foreach $i (@$pname) { - $ww = &word_ps($i); - push @line, $ww unless $ww eq "x"; - } - @$lname = @line; @$lnamei = @lindex; - push @lnames, $lname++; - $lnamei = "idx" . $lname; - push @ltypes, $ptype; - } elsif ($ptype eq "subh") { - # Subheading. Just a number and some text. - $pflags =~ /subh (.*) :(.*)/; - push @line, "B".&ref_ps($1), "n$1"; - foreach $i (@$pname) { - push @line, &word_ps($i); - } - @$lname = @line; @$lnamei = @lindex; - push @lnames, $lname++; - $lnamei = "idx" . $lname; - push @ltypes, "subh"; - } elsif ($ptype eq "code") { - # Code paragraph. Emit lines one at a time. - $type = "cbeg"; - foreach $i (@$pname) { - @$lname = ("c$i"); - push @lnames, $lname++; - $lnamei = "idx" . $lname; - push @ltypes, $type; - $type = "cbdy"; - } - $ltypes[$#ltypes] = ($ltypes[$#ltypes] eq "cbeg" ? "cone" : "cend"); - } elsif ($ptype eq "bull" || $ptype eq "norm") { - # Ordinary paragraph, optionally bulleted. We wrap, with ragged - # 75-char right margin and either 7 or 11 char left margin - # depending on bullets. - if ($ptype eq "bull") { - $width = $linewidth - $bulletadj; - $type = $begtype = "bbeg"; - $bodytype = "bbdy"; - $onetype = "bone"; - $endtype = "bend"; - } else { - $width = $linewidth; - $type = $begtype = "nbeg"; - $bodytype = "nbdy"; - $onetype = "none"; - $endtype = "nend"; - } - @a = @$pname; - @line = @wd = (); - $linelen = 0; - $wprev = undef; - do { - do { $w = &word_ps(shift @a) } while ($w eq "x"); - push @wd, $wprev if $wprev; - if ($wprev =~ /^n.*-$/ || $w eq ' ' || $w eq '' || $w eq undef) { - $wdlen = &len_ps(@wd); - if ($linelen + $wdlen > $width) { - pop @line while $line[$#line] eq ' '; # trim trailing spaces - @$lname = @line; @$lnamei = @lindex; - push @lnames, $lname++; - $lnamei = "idx" . $lname; - push @ltypes, $type; - $type = $bodytype; - @line = @lindex = (); - $linelen = 0; - shift @wd while $wd[0] eq ' '; # trim leading spaces - } - push @line, @wd; - $linelen += $wdlen; - @wd = (); - } - $wprev = $w; - } while ($w ne '' && $w ne undef); - if (@line) { - pop @line while $line[$#line] eq ' '; # trim trailing spaces - @$lname = @line; @$lnamei = @lindex; - push @lnames, $lname++; - $lnamei = "idx" . $lname; - push @ltypes, $type; - $type = $bodytype; - } - $ltypes[$#ltypes] = - ($ltypes[$#ltypes] eq $begtype ? $onetype : $endtype); - } - } - - # We've now processed the document source into lines. Before we - # go on and do the page breaking, we'll fabricate a table of contents, - # line by line, and then after doing page breaks we'll go back and - # insert the page numbers into the contents entries. - print "building contents..."; - @clnames = @cltypes = (); - $clname = "pscont000000"; - @$clname = ("BnContents", "nContents"); # "chapter heading" for TOC - push @clnames,$clname++; - push @cltypes,"chap"; - for ($i=0; $i<=$#lnames; $i++) { - $lname = $lnames[$i]; - if ($ltypes[$i] =~ /^(chap|head|subh)/) { - @$clname = @$lname; - splice @$clname,2,0," " if ($ltypes[$i] !~ /chap/); - push @$clname,$i; # placeholder for page number - push @clnames,$clname++; - push @cltypes,"C" . substr($ltypes[$i],0,3); - } - } - @$clname = ("BnIndex", "nIndex"); # contents entry for Index - push @$clname,$i; # placeholder for page number - $idx_clname = $clname; - push @clnames,$clname++; - push @cltypes,"Ccha"; - $contlen = $#clnames + 1; - unshift @lnames,@clnames; - unshift @ltypes,@cltypes; - - # Second stage: now we have a list of lines, break them into pages. - # We do this by means of adding a third array in parallel with - # @lnames and @ltypes, called @lpages, in which we store the page - # number that each line resides on. We also add @ycoord which - # stores the vertical position of each line on the page. - # - # Page breaks may not come after line-types: - # chap head subh cbeg nbeg bbeg - # and may not come before line-types: - # cend nend bend - # They are forced before line-types: - # chap - print "page-breaks..."; - $pmax = 600; # ADJUSTABLE: maximum length of a page in points - $textht = 11; # ADJUSTABLE: height of a normal line in points - $spacing = 6; # ADJUSTABLE: space between paragraphs, in points - $headht = 14; # ADJUSTABLE: height of a major heading in points - $subht = 12; # ADJUSTABLE: height of a sub-heading in points - $pstart = 0; # start line of current page - $plen = 0; # current length of current page - $pnum = 1; # number of current page - $bpt = -1; # last feasible break point - $i = 0; # line number - while ($i <= $#lnames) { - $lname = $lnames[$i]; - # Add the height of this line (computed the last time we went round - # the loop, unless we're a chapter heading in which case we do it - # now) to the length of the current page. Also, _put_ this line on - # the current page, and allocate it a y-coordinate. - if ($ltypes[$i] =~ /^chap$/) { - $pnum += 1 - ($pnum & 1); # advance to odd numbered page if necessary - $plen = 100; # ADJUSTABLE: space taken up by a chapter heading - $ycoord[$i] = 0; # chapter heading: y-coord doesn't matter - } else { - $ycoord[$i] = $plen + $space; - $plen += $space + $ht; - } - # See if we can break after this line. - $bpt = $i if $ltypes[$i] !~ /^chap|head|subh|cbeg|nbeg|bbeg$/ && - $ltypes[$i+1] !~ /^cend|nend|bend$/; - # Assume, to start with, that we don't break after this line. - $break = 0; - # See if a break is forced. - $break = 1, $bpt = $i if $ltypes[$i+1] eq "chap" || !$ltypes[$i+1]; - # Otherwise, compute the height of the next line, and break if - # it would make this page too long. - $ht = $textht, $space = 0 if $ltypes[$i+1] =~ /^[nbc](bdy|end)$/; - $ht = $textht, $space = $spacing if $ltypes[$i+1] =~ /^[nbc](one|beg)$/; - $ht = $textht, $space = $spacing if $ltypes[$i+1] =~ /^C/; - $ht = $subht, $space = $spacing if $ltypes[$i+1] eq "subh"; - $ht = $headht, $space = $spacing if $ltypes[$i+1] eq "head"; - $break = 1 if $plen + $space + $ht > $pmax; - # Now, if we're breaking, assign page number $pnum to all lines up - # to $bpt, set $i == $bpt+1, and zero $space since we are at the - # start of a new page and don't want leading space. - if ($break) { - die "no feasible break point at all on page $pnum\n" if $bpt == -1; - for ($j = $pstart; $j <= $bpt; $j++) { - $lnamei = "idx" . $lnames[$j]; - foreach $k (@$lnamei) { - ${$psidxpp{$k}}{$pnum} = 1; - } - $lpages[$j] = $pnum; - } - $pnum++; - $i = $bpt; - $bpt = -1; - $pstart = $i+1; - $plen = 0; - $space = 0; - } - $i++; - } - - # Now fix up the TOC with page numbers. - print "\n fixing up contents..."; - for ($i=0; $i<=$#lnames; $i++) { - $lname = $lnames[$i]; - if ($ltypes[$i] =~ /^C/) { - $j = pop @$lname; - push @$lname, "n" . $lpages[$j+$contlen]; - } - } - - # Having got page numbers for most stuff, generate an index. - print "building index..."; - $iwid = 222; - $sep = 12; - $commaindent = 32; - foreach $k (@itags) { - @line = (); - $cmd = "index"; - @idxentry = @{$idxmap{$k}}; - if ($commaafter{$k} and !$commanext{$k}) { - # This line is a null line beginning a multiple entry. We must - # output the prefix on a line by itself. - - @idxhead = splice @idxentry,0,$commapos{$k}; - @line = (); - foreach $i (@idxhead) { - $ww = &word_ps($i); - push @line, $ww unless $ww eq "x"; - } - &ps_idxout("index",\@line,[]); - $cmd = "iindex"; - @line = (); - } - $cmd = "iindex", splice @idxentry,0,$commapos{$k} if $commanext{$k}; - foreach $i (@idxentry) { - $ww = &word_ps($i); - push @line, $ww unless $ww eq "x"; - } - $len = $iwid - $sep - &len_ps(@line); - warn "text for index tag `%s' is longer than one index line!\n" - if $len < -$sep; - @pp = (); - $inums = join(',',sort { $a <=> $b } keys %{$psidxpp{$k}}); - while (length $inums) { - $inums =~ /^([^,]+)(,?)(.*)$/; - $inums = $3, $inumc = $2; $inum = $1; - @pnum = (" ", "Bp$inum", "n$inum", "E"); - push(@pnum, "n$inumc") if ( $inumc ne '' ); - $pnumlen = &len_ps(@pnum); - if ($pnumlen > $len) { - &ps_idxout($cmd,\@line,\@pp); - @pp = (); - @line = (); - $cmd = "index"; - $len = $iwid - $sep; - } - push @pp, @pnum; - $len -= $pnumlen; - } - &ps_idxout($cmd,\@line,\@pp) if (length @pp); - $l1 = &len_ps(@line); - $l2 = &len_ps($pp); - } - $$idx_clname[$#$idx_clname] = "n" . $pnum; # fix up TOC entry for index - - print "writing file..."; - open PS,">nasmdoc.ps"; - select PS; - $page = $lpages[0]; - &ps_header; - &ps_write_bookmarks; - for ($i=0; $i<=$#lnames; $i++) { - &ps_throw_pg($page,$lpages[$i]) if $page != $lpages[$i]; - $page = $lpages[$i]; - &ps_out_line($ycoord[$i],$ltypes[$i],$lnames[$i]); - } - $i = 0; - while ($i <= $#psindex) { - &ps_throw_pg($page, $pnum) if $page != $pnum; - $page = $pnum++; - $ypos = 0; - $ypos = 100, &ps_out_line(0, "chap", ["BnIndex", "nIndex"]) if !$i; - $lines = ($pmax - $ypos) / $textht; - my $col; # ps_out_line hits this variable - PAGE:for ($col = 1; $col <= 2; $col++) { - $y = $ypos; $l = $lines; - COL: while ($l > 0) { - $j = $i+1; - $j++ while $psindex[$j] and ($psindex[$j][3] == 0); # find next break - last COL if $j-$i > $l or $i > $#psindex; - while ($i < $j) { - &ps_out_line($y, $psindex[$i][0] eq "index" ? "idl$col" : "ldl$col", - $psindex[$i][1]); - &ps_out_line($y,"idr$col",$psindex[$i][2]); - $i++; - $y += $textht; - $l--; - } - } - last PAGE if $i > $#psindex; - } - } - &ps_trailer($page); - close PS; - select STDOUT; -} - -sub ps_idxout { - my ($cmd, $left, $right) = @_; - my $break = 1; - $break = 0 - if ($#psindex >= 0) and ( ($#$left < 0) or ($cmd eq "iindex") ); - push @psindex,[$cmd,[@$left],[@$right],$break]; -} - -sub ps_header { - $pshdr = <<'EOF'; -/sp (n ) def -/nf /Times-Roman findfont 11 scalefont def -/ef /Times-Italic findfont 11 scalefont def -/cf /Courier findfont 11 scalefont def -/nc /Helvetica-Bold findfont 18 scalefont def -/ec /Helvetica-Oblique findfont 18 scalefont def -/cc /Courier-Bold findfont 18 scalefont def -/nh /Helvetica-Bold findfont 14 scalefont def -/eh /Helvetica-Oblique findfont 14 scalefont def -/ch /Courier-Bold findfont 14 scalefont def -/ns /Helvetica-Bold findfont 12 scalefont def -/es /Helvetica-Oblique findfont 12 scalefont def -/cs /Courier-Bold findfont 12 scalefont def -/n 16#6E def /e 16#65 def /c 16#63 def -/B 16#42 def /E 16#45 def /D 16#44 def -/min { 2 copy gt { exch } if pop } def -/max { 2 copy lt { exch } if pop } def -/lkbegun 0 def -/lkury 0 def -/lkurx 0 def -/lklly 0 def -/lkllx 0 def -/lktarget () def -/linkbegin { - /lkbegun 1 def - /lktarget exch cvn def -} def -/linkshow { - lkbegun 0 ne { - gsave dup true charpath pathbbox grestore - lkbegun 1 eq { - /lkury exch def - /lkurx exch def - /lklly exch def - /lkllx exch def - /lkbegun 2 def - } { - lkury max /lkury exch def - lkurx max /lkurx exch def - lklly min /lklly exch def - lkllx min /lkllx exch def - } ifelse - } if - show -} def -/linkend { - [/Rect [ lkllx lklly lkurx lkury ] - /Color [ 1.0 0.0 0.0 ] - /Border [0 0 0] - /Dest lktarget - /Subtype /Link - /ANN pdfmark - /lkbegun 0 def -} def -/linkdest { - /lkdest exch cvn def - [ /Dest lkdest - /View [ /XYZ currentpoint 0 ] - /DEST pdfmark -} def -/handlelink { - dup 0 get - dup B eq { - pop dup length 1 sub 1 exch getinterval linkbegin - } { - E eq { - pop linkend - } { - dup length 1 sub 1 exch getinterval linkdest - } ifelse - } ifelse -} def -/pageodd { - 550 50 moveto ns setfont dup stringwidth pop neg 0 rmoveto show -} def -/pageeven { 50 50 moveto ns setfont show } def -/destmark { - dup length 1 sub 1 exch getinterval linkdest -} def -/chapter { - 100 620 moveto - dup 0 get destmark - dup length 1 sub 1 exch getinterval - { - dup 0 get - dup n eq {pop nc setfont} { - e eq {ec setfont} {cc setfont} ifelse - } ifelse - dup length 1 sub 1 exch getinterval show - } forall - 0 setlinecap 3 setlinewidth - newpath 100 610 moveto 468 0 rlineto stroke -} def -/heading { - 686 exch sub /y exch def /a exch def - 90 y moveto - a 0 get destmark - a 1 get dup length 1 sub 1 exch getinterval - nh setfont dup stringwidth pop neg 0 rmoveto show - 100 y moveto - a dup length 2 sub 2 exch getinterval { - /s exch def - s 0 get - dup n eq {pop nh setfont} { - e eq {eh setfont} {ch setfont} ifelse - } ifelse - s s length 1 sub 1 exch getinterval show - } forall -} def -/subhead { - 688 exch sub /y exch def /a exch def - 90 y moveto - a 0 get destmark - a 1 get dup length 1 sub 1 exch getinterval - ns setfont dup stringwidth pop neg 0 rmoveto show - 100 y moveto - a dup length 2 sub 2 exch getinterval { - /s exch def - s 0 get - dup n eq {pop ns setfont} { - e eq {es setfont} {cs setfont} ifelse - } ifelse - s s length 1 sub 1 exch getinterval show - } forall -} def -/disp { /j exch def - 568 exch sub exch 689 exch sub moveto - { - /s exch def - s 0 get - dup E le { - pop s handlelink - } { - dup n eq {pop nf setfont} { - e eq {ef setfont} {cf setfont} ifelse - } ifelse - s s length 1 sub 1 exch getinterval linkshow - s sp eq {j 0 rmoveto} if - } ifelse - } forall -} def -/contents { /w exch def /y exch def /a exch def - /yy 689 y sub def - a a length 1 sub get dup length 1 sub 1 exch getinterval - /ss exch def - nf setfont 568 ss stringwidth pop sub /ex exch def - a 0 a length 1 sub getinterval y w 0 disp - /sx currentpoint pop def nf setfont - 100 10 568 { /i exch def - i 5 sub sx gt i 5 add ex lt and { - i yy moveto (.) linkshow - } if - } for - ex yy moveto ss linkshow - linkend -} def -/just { /w exch def /y exch def /a exch def - /jj w def /spaces 0 def - a { - /s exch def - s 0 get - dup n eq {pop nf setfont} { - e eq {ef setfont} {cf setfont} ifelse - } ifelse - s s length 1 sub 1 exch getinterval stringwidth pop - jj exch sub /jj exch def - s sp eq {/spaces spaces 1 add def} if - } forall - a y w jj spaces spaces 0 eq {pop pop 0} {div} ifelse disp -} def -/idl { 468 exch sub 0 disp } def -/ldl { 436 exch sub 0 disp } def -/idr { 222 add 468 exch sub /x exch def /y exch def /a exch def - a { - /s exch def - s 0 get - dup E le { - pop - } { - dup n eq {pop nf setfont} { - e eq {ef setfont} {cf setfont} ifelse - } ifelse - s s length 1 sub 1 exch getinterval stringwidth pop - x add /x exch def - } ifelse - } forall - a y x 0 disp -} def -/left {0 disp} def -/bullet { - nf setfont dup 100 exch 689 exch sub moveto (\267) show -} def -[/PageMode /UseOutlines /DOCVIEW pdfmark -EOF - print "%!PS-Adobe-3.0\n"; - print "%%BoundingBox: 95 95 590 705\n"; - print "%%Creator: a nasty Perl script\n"; - print "%%DocumentData: Clean7Bit\n"; - print "%%Orientation: Portrait\n"; - print "%%Pages: $lpages[$#lpages]\n"; - print "%%DocumentNeededResources: font Times-Roman Times-Italic\n"; - print "%%+ font Helvetica-Bold Courier Courier-Bold\n"; - print "%%EndComments\n"; - print "%%BeginProlog\n"; - # This makes sure non-PDF PostScript interpreters don't choke on - # pdfmarks in the output - print "/pdfmark where\n"; - print "{pop} {userdict /pdfmark /cleartomark load put} ifelse\n"; - print "%%EndProlog\n"; - print "%%BeginSetup\n"; - print "save\n"; - $pshdr =~ s/\s+/ /g; - while ($pshdr =~ /\S/) { - last if length($pshdr) < 72 || $pshdr !~ /^(.{0,72}\S)\s(.*)$/; - $pshdr = $2; - print "$1\n"; - } - print "$pshdr\n" if $pshdr =~ /\S/; - print "%%EndSetup\n"; - &ps_initpg($lpages[0]); -} - -sub ps_trailer { - my ($oldpg) = @_; - &ps_donepg($oldpg); - print "%%Trailer\nrestore\n%%EOF\n"; -} - -sub ps_throw_pg { - my ($oldpg, $newpg) = @_; - while ($oldpg < $newpg) { - &ps_donepg($oldpg); - $oldpg++; - &ps_initpg($oldpg); - } -} - -sub ps_initpg { - my ($pgnum) = @_; - print "%%Page: $pgnum $pgnum\n"; - print "%%BeginPageSetup\nsave\n%%EndPageSetup\n"; - print "95 705 moveto (p$pgnum) linkdest\n"; -} - -sub ps_donepg { - my ($pgnum) = @_; - if ($pgnum & 1) { - print "%%PageTrailer\n($pgnum)pageodd restore showpage\n"; - } else { - print "%%PageTrailer\n($pgnum)pageeven restore showpage\n"; - } -} - -sub ps_out_line { - my ($ypos,$ltype,$lname) = @_; - my $c,$d,$wid; - - print "["; - $col = 1; - foreach $c (@$lname) {# - $c= "n " if $c eq " "; - $c = "n\261" if $c eq "-"; - $d = ''; - while (length $c) { - $d .= $1, $c = $2 while $c =~ /^([ -\'\*-\[\]-~]+)(.*)$/; - while (1) { - $d .= "\\$1", $c = $2, next if $c =~ /^([\\\(\)])(.*)$/; - ($d .= sprintf "\\%3o",unpack("C",$1)), $c = $2, next - if $c =~ /^([^ -~])(.*)$/; - last; - } - } - $d = "($d)"; - $col = 0, print "\n" if $col>0 && $col+length $d > 77; - print $d; - $col += length $d; - } - print "\n" if $col > 60; - print "]"; - if ($ltype =~ /^[nb](beg|bdy)$/) { - printf "%d %s%d just\n", - $ypos, ($ltype eq "bbeg" ? "bullet " : ""), - ($ltype =~ /^b/ ? 456 : 468); - } elsif ($ltype =~ /^[nb](one|end)$/) { - printf "%d %s%d left\n", - $ypos, ($ltype eq "bone" ? "bullet " : ""), - ($ltype =~ /^b/ ? 456 : 468); - } elsif ($ltype =~ /^c(one|beg|bdy|end)$/) { - printf "$ypos 468 left\n"; - } elsif ($ltype =~ /^C/) { - $wid = 468; - $wid = 456 if $ltype eq "Chea"; - $wid = 444 if $ltype eq "Csub"; - printf "$ypos $wid contents\n"; - } elsif ($ltype eq "chap") { - printf "chapter\n"; - } elsif ($ltype eq "head") { - printf "$ypos heading\n"; - } elsif ($ltype eq "subh") { - printf "$ypos subhead\n"; - } elsif ($ltype =~ /([il]d[lr])([12])/) { - $left = ($2 eq "2" ? 468-222 : 0); - printf "$ypos $left $1\n"; - } -} - -sub word_ps { - my ($w) = @_; - my $wtype, $wmajt; - - return undef if $w eq '' || $w eq undef; - - $wtype = substr($w,0,2); - $wmajt = substr($wtype,0,1); - $w = substr($w,2); - $w =~ s/<.*>// if $wmajt eq "w"; # remove web links - if ($wmajt eq "n" || $wtype eq "w ") { - return "n$w"; - } elsif ($wtype eq "sp") { - return ' '; - } elsif ($wtype eq "da") { - return '-'; - } elsif ($wmajt eq "c" || $wtype eq "wc") { - return "c$w"; - } elsif ($wmajt eq "e") { - return "e$w"; - } elsif ($wmajt eq "x") { - return "x"; - } elsif ($wtype eq "i ") { - push @lindex, $w; - return "x"; - } else { - die "panic in word_ps: $wtype$w\n"; - } -} - -sub word_ps_title { - my ($w) = @_; - my $wtype, $wmajt; - - return undef if $w eq '' || $w eq undef; - - $wtype = substr($w,0,2); - $wmajt = substr($wtype,0,1); - $w = substr($w,2); - $w =~ s/<.*>// if $wmajt eq "w"; # remove web links - if ($wmajt eq "n" || $wtype eq "w ") { - return $w; - } elsif ($wtype eq "sp") { - return ' '; - } elsif ($wtype eq "da") { - return '-'; - } elsif ($wmajt eq "c" || $wtype eq "wc") { - return $w; - } elsif ($wmajt eq "e") { - return $w; - } elsif ($wmajt eq "x") { - return ''; - } elsif ($wtype eq "i ") { - return ''; - } else { - die "panic in word_ps_title: $wtype$w\n"; - } -} - -sub len_ps { - my (@line) = @_; - my $l = 0; - my $w, $size; - - $size = 11/1000; # used only for length calculations - while ($w = shift @line) { - $w = "n " if $w eq " "; - $w = "n\261" if $w eq "-"; - $f = substr($w,0,1); - if ( $f !~ /^[BDE]$/ ) { - $f = "timesr" if $f eq "n"; - $f = "timesi" if $f eq "e"; - $f = "courr" if $f eq "c"; - foreach $c (unpack 'C*',substr($w,1)) { - $l += $size * $$f[$c]; - } - } - } - return $l; -} - sub write_texi { # This is called from the top level, so I won't bother using # my or local. @@ -2233,112 +1394,6 @@ for ($i=$level+1; $i<$MAXLEVEL; $i++) { $tstruct_last[$i] = undef; } $tstruct_previtem = $item; push @nodes, $item; -} - -# PostScript font metric data. Used for line breaking. -sub font_metrics { - @timesr = ( - 250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 250, 333, 408, 500, 500, 833, 778, 333, - 333, 333, 500, 564, 250, 333, 250, 278, - 500, 500, 500, 500, 500, 500, 500, 500, - 500, 500, 278, 278, 564, 564, 564, 444, - 921, 722, 667, 667, 722, 611, 556, 722, - 722, 333, 389, 722, 611, 889, 722, 722, - 556, 722, 667, 556, 611, 722, 722, 944, - 722, 722, 611, 333, 278, 333, 469, 500, - 333, 444, 500, 444, 500, 444, 333, 500, - 500, 278, 278, 500, 278, 778, 500, 500, - 500, 500, 333, 389, 278, 500, 500, 722, - 500, 500, 444, 480, 200, 480, 541, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 333, 500, 500, 167, 500, 500, 500, - 500, 180, 444, 500, 333, 333, 556, 556, - 0, 500, 500, 500, 250, 0, 453, 350, - 333, 444, 444, 500,1000,1000, 0, 444, - 0, 333, 333, 333, 333, 333, 333, 333, - 333, 0, 333, 333, 0, 333, 333, 333, - 1000, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 889, 0, 276, 0, 0, 0, 0, - 611, 722, 889, 310, 0, 0, 0, 0, - 0, 667, 0, 0, 0, 278, 0, 0, - 278, 500, 722, 500, 0, 0, 0, 0 - ); - @timesi = ( - 250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 250, 333, 420, 500, 500, 833, 778, 333, - 333, 333, 500, 675, 250, 333, 250, 278, - 500, 500, 500, 500, 500, 500, 500, 500, - 500, 500, 333, 333, 675, 675, 675, 500, - 920, 611, 611, 667, 722, 611, 611, 722, - 722, 333, 444, 667, 556, 833, 667, 722, - 611, 722, 611, 500, 556, 722, 611, 833, - 611, 556, 556, 389, 278, 389, 422, 500, - 333, 500, 500, 444, 500, 444, 278, 500, - 500, 278, 278, 444, 278, 722, 500, 500, - 500, 500, 389, 389, 278, 500, 444, 667, - 444, 444, 389, 400, 275, 400, 541, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 389, 500, 500, 167, 500, 500, 500, - 500, 214, 556, 500, 333, 333, 500, 500, - 0, 500, 500, 500, 250, 0, 523, 350, - 333, 556, 556, 500, 889,1000, 0, 500, - 0, 333, 333, 333, 333, 333, 333, 333, - 333, 0, 333, 333, 0, 333, 333, 333, - 889, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 889, 0, 276, 0, 0, 0, 0, - 556, 722, 944, 310, 0, 0, 0, 0, - 0, 667, 0, 0, 0, 278, 0, 0, - 278, 500, 667, 500, 0, 0, 0, 0 - ); - @courr = ( - 600, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 600, 600, 600, 600, 600, 600, 600, - 600, 600, 600, 600, 600, 600, 600, 600, - 0, 600, 600, 600, 600, 0, 600, 600, - 600, 600, 600, 600, 600, 600, 0, 600, - 0, 600, 600, 600, 600, 600, 600, 600, - 600, 0, 600, 600, 0, 600, 600, 600, - 600, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 600, 0, 600, 0, 0, 0, 0, - 600, 600, 600, 600, 0, 0, 0, 0, - 0, 600, 0, 0, 0, 600, 0, 0, - 600, 600, 600, 600, 0, 0, 0, 0 - ); } # |
From: <hp...@us...> - 2002-05-16 18:08:24
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv16098 Modified Files: genps.pl Log Message: Changing "hanging comma" index entries to omit the comma, and to unify with a previous baseword entry if one is present. Index: genps.pl =================================================================== RCS file: /cvsroot/nasm/nasm/doc/genps.pl,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- genps.pl 16 May 2002 06:40:56 -0000 1.8 +++ genps.pl 16 May 2002 18:08:15 -0000 1.9 @@ -173,13 +173,17 @@ $ixterms{$ixentry} = [split(/\037/, $data)]; # Look for commas. This is easier done on the string # representation, so do it now. - if ( $data =~ /^(.*\,)\037sp\037/ ) { + if ( $data =~ /^(.*)\,\037sp\037/ ) { $ixprefix = $1; + $ixprefix =~ s/\037n $//; # Discard possible font change at end $ixhasprefix{$ixentry} = $ixprefix; if ( !$ixprefixes{$ixprefix} ) { $ixcommafirst{$ixentry}++; } $ixprefixes{$ixprefix}++; + } else { + # A complete term can also be used as a prefix + $ixprefixes{$data}++; } } else { push(@ptypes, $line); @@ -860,7 +864,16 @@ if ( $ixcommafirst{$k} ) { # This is the first entry; generate the # "hanging comma" entry - push(@ixparas, [splice(@ixpara,0,$commapos+1),[-6,undef]]); + my @precomma = splice(@ixpara,0,$commapos); + if ( $ixpara[0]->[1] eq ',' ) { + shift(@ixpara); # Discard lone comma + } else { + # Discard attached comma + $ixpara[0]->[1] =~ s/\,$//; + push(@precomma,shift(@ixpara)); + } + push(@precomma, [-6,undef]); + push(@ixparas, [@precomma]); push(@ixptypes, $ixptype); shift(@ixpara); # Remove space } else { |
From: <hp...@us...> - 2002-05-16 06:41:01
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv10188 Modified Files: genps.pl head.ps Log Message: Generate "hanging comma" clauses in the index Index: genps.pl =================================================================== RCS file: /cvsroot/nasm/nasm/doc/genps.pl,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- genps.pl 16 May 2002 02:11:21 -0000 1.7 +++ genps.pl 16 May 2002 06:40:56 -0000 1.8 @@ -29,7 +29,7 @@ tocpnz => 24, # Width of TOC page number only zone tocdots => 8, # Spacing between TOC dots idxspace => 24, # Minimum space between index title and pg# - idxindent => 32, # How much to indent a subindex entry + idxindent => 24, # How much to indent a subindex entry idxgutter => 24, # Space between index columns idxcolumns => 2, # Number of index columns ); @@ -173,7 +173,7 @@ $ixterms{$ixentry} = [split(/\037/, $data)]; # Look for commas. This is easier done on the string # representation, so do it now. - if ( $line =~ /^(.*\,)\037sp\037/ ) { + if ( $data =~ /^(.*\,)\037sp\037/ ) { $ixprefix = $1; $ixhasprefix{$ixentry} = $ixprefix; if ( !$ixprefixes{$ixprefix} ) { @@ -724,7 +724,9 @@ my $nobreakregexp = "^(chap|appn|head|subh|toc.|idx.)\$"; # Paragraph types which are heading (meaning they should not be broken # immediately after) - my $headingregexp = "^(chap|appn|head|subh)\$"; + my $nobreakafter = "^(chap|appn|head|subh)\$"; + # Paragraph types which should never be broken *before* + my $nobreakbefore = "^idx[1-9]\$"; # Paragraph types which are set in columnar format my $columnregexp = "^idx.\$"; @@ -771,7 +773,8 @@ } elsif ( $$linfo[1] & 1 ) { # Sole line or start of paragraph. Break unless # the previous line was part of a heading. - $broken = 1 if ( $$pinfo[0] !~ /$headingregexp/o ); + $broken = 1 if ( $$pinfo[0] !~ /$nobreakafter/o && + $$linfo[0] !~ /$nobreakbefore/o ); } else { # Middle of paragraph. Break unless we're in a # no-break paragraph, or the previous line would @@ -839,7 +842,32 @@ foreach $k ( @ixentries ) { my $n,$i; my $ixptype = 'idx0'; - my @ixpara = mkparaarray('idx0',@{$ixterms{$k}}); + my $prefix = $ixhasprefix{$k}; + my @ixpara = mkparaarray($ixptype,@{$ixterms{$k}}); + my $commapos = undef; + + if ( defined($prefix) && $ixprefixes{$prefix} > 1 ) { + # This entry has a "hanging comma" + for ( $i = 0 ; $i < scalar(@ixpara)-1 ; $i++ ) { + if ( substr($ixpara[$i]->[1],-1,1) eq ',' && + $ixpara[$i+1]->[1] eq ' ' ) { + $commapos = $i; + last; + } + } + } + if ( defined($commapos) ) { + if ( $ixcommafirst{$k} ) { + # This is the first entry; generate the + # "hanging comma" entry + push(@ixparas, [splice(@ixpara,0,$commapos+1),[-6,undef]]); + push(@ixptypes, $ixptype); + shift(@ixpara); # Remove space + } else { + splice(@ixpara,0,$commapos+2); + } + $ixptype = 'idx1'; + } push(@ixpara, [-6,undef]); # Left/right marker $i = 1; $n = scalar(@{$ps_index_pages{$k}}); @@ -944,7 +972,7 @@ print '/', $fset->{name}, ' [', join(' ',@zfonts), "] def\n"; } -# Emit the result as PostScript. This is *NOT* correct code yet! +# Emit the canned PostScript prologue open(PSHEAD, "< head.ps"); while ( defined($line = <PSHEAD>) ) { print $line; Index: head.ps =================================================================== RCS file: /cvsroot/nasm/nasm/doc/head.ps,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- head.ps 16 May 2002 02:11:21 -0000 1.5 +++ head.ps 16 May 2002 06:40:56 -0000 1.6 @@ -327,6 +327,20 @@ /idx01 {idx03} def /idx02 {idx03} def +/idx13 { + 2 dict begin + indexcolumn mul lmarg add idxindent add + /x exch def /y exch def x y moveto + exch bfont showstream + dup bfont streamwidth + x indexcolwid idxindent sub add exch sub exch pop y moveto + bfont showstream + end +} def +/idx10 {idx13} def +/idx11 {idx13} def +/idx12 {idx13} def + % % Page numbers % |
From: <hp...@us...> - 2002-05-16 05:53:04
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv659 Modified Files: nasmdoc.src Log Message: Change the index term for "overloading multi-line macros" to match the corresponding single-line macro index term Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- nasmdoc.src 16 May 2002 02:16:58 -0000 1.38 +++ nasmdoc.src 16 May 2002 05:53:01 -0000 1.39 @@ -1881,7 +1881,7 @@ \c silly {13,10}, crlf ; crlf: db 13,10 -\S{mlmacover} \i{Overloading Multi-Line Macros} +\S{mlmacover} Overloading Multi-Line Macros\I{overloading, multi-line macros} As with single-line macros, multi-line macros can be overloaded by defining the same macro name several times with different numbers of |
From: <deb...@us...> - 2002-05-16 02:17:02
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv23533/nasm/doc Modified Files: nasmdoc.src Log Message: Corrected documentation for CMPXCHG Index: nasmdoc.src =================================================================== RCS file: /cvsroot/nasm/nasm/doc/nasmdoc.src,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- nasmdoc.src 15 May 2002 01:42:58 -0000 1.37 +++ nasmdoc.src 16 May 2002 02:16:58 -0000 1.38 @@ -7464,7 +7464,7 @@ \c{AL}, \c{AX} or \c{EAX} (depending on the operand size of the instruction). If they are equal, it copies its source (second) operand into the destination and sets the zero flag. Otherwise, it -clears the zero flag and leaves the destination alone. +clears the zero flag and copies the destination register to AL, AX or EAX. The destination can be either a register or a memory location. The source is a register. |
From: <hp...@us...> - 2002-05-16 02:11:25
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv22791 Modified Files: genps.pl head.ps psfonts.ph Log Message: Use a fontset for the title. Change fonts to use Times throughout. Index: genps.pl =================================================================== RCS file: /cvsroot/nasm/nasm/doc/genps.pl,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- genps.pl 15 May 2002 21:32:56 -0000 1.6 +++ genps.pl 16 May 2002 02:11:21 -0000 1.7 @@ -633,7 +633,7 @@ my $p; # Code paragraph; each chunk is a line foreach $p ( @data ) { - push(@ls, [[$ptype,0,undef,\%TextFont,0,0],[$p]]); + push(@ls, [[$ptype,0,undef,\%BodyFont,0,0],[$p]]); } $ls[0]->[0]->[1] |= 1; # First in para $ls[-1]->[0]->[1] |= 2; # Last in para @@ -651,9 +651,9 @@ # We need the heading number as auxillary data $ls[0]->[0]->[2] = [[$AuxStr,$secn]]; } elsif ( $ptype eq 'norm' ) { - @ls = ps_flow_lines($linewidth, \%TextFont, $ptype, @data); + @ls = ps_flow_lines($linewidth, \%BodyFont, $ptype, @data); } elsif ( $ptype eq 'bull' ) { - @ls = ps_flow_lines($bullwidth, \%TextFont, $ptype, @data); + @ls = ps_flow_lines($bullwidth, \%BodyFont, $ptype, @data); } elsif ( $ptype =~ /^toc/ ) { unless ( $xtype =~/^\S+ :([^:]*):(.*)$/ ) { die "Bad para"; @@ -661,13 +661,13 @@ my $xref = $1; my $refname = $2.' '; my $ntoc = substr($ptype,3,1)+0; - my $refwidth = ps_width($refname, $TextFont{fonts}->[0][1], + my $refwidth = ps_width($refname, $BodyFont{fonts}->[0][1], \@NASMEncoding) * - ($TextFont{fonts}->[0][0]/1000); + ($BodyFont{fonts}->[0][0]/1000); @ls = ps_flow_lines($linewidth-$ntoc*$psconf{tocind}- $psconf{tocpnz}-$refwidth, - \%TextFont, $ptype, @data); + \%BodyFont, $ptype, @data); # Auxilliary data: for the first line, the cross reference symbol # and the reference name; for all lines but the first, the @@ -683,7 +683,7 @@ my $lvl = substr($ptype,3,1)+0; @ls = ps_flow_lines($indxwidth-$lvl*$psconf{idxindent}, - \%TextFont, $ptype, @data); + \%BodyFont, $ptype, @data); } else { die "Unknown para type: $ptype"; } @@ -1013,7 +1013,7 @@ # FIX THIS: This shouldn't be hard-coded like this print <<EOF; lmarg pageheight 2 mul 3 div moveto -/Helvetica-Bold-NASM findfont 20 scalefont setfont +tfont0 setfont /title linkdest ${pstitle} show lmarg pageheight 2 mul 3 div 10 sub moveto 0 setlinecap 3 setlinewidth Index: head.ps =================================================================== RCS file: /cvsroot/nasm/nasm/doc/head.ps,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- head.ps 15 May 2002 21:00:30 -0000 1.4 +++ head.ps 16 May 2002 02:11:21 -0000 1.5 @@ -242,24 +242,24 @@ /subh2 { lmarg exch moveto sfont showstream } def /subh3 { sfont headlbl lmarg exch moveto sfont showstream } def -/norm0 { lmarg exch moveto tfont lwidth showstreamjust } def -/norm1 { lmarg exch moveto tfont lwidth showstreamjust } def -/norm2 { lmarg exch moveto tfont showstream } def -/norm3 { lmarg exch moveto tfont showstream } def +/norm0 { lmarg exch moveto bfont lwidth showstreamjust } def +/norm1 { lmarg exch moveto bfont lwidth showstreamjust } def +/norm2 { lmarg exch moveto bfont showstream } def +/norm3 { lmarg exch moveto bfont showstream } def -/code0 { lmarg exch moveto tfont showstream } def -/code1 { lmarg exch moveto tfont showstream } def -/code2 { lmarg exch moveto tfont showstream } def -/code3 { lmarg exch moveto tfont showstream } def +/code0 { lmarg exch moveto bfont showstream } def +/code1 { lmarg exch moveto bfont showstream } def +/code2 { lmarg exch moveto bfont showstream } def +/code3 { lmarg exch moveto bfont showstream } def /bullet [(\225)] def -/bull0 { bullmarg exch moveto tfont bwidth showstreamjust } def -/bull1 { dup lmarg exch moveto bullet tfont showstream - bullmarg exch moveto tfont bwidth showstreamjust } def -/bull2 { bullmarg exch moveto tfont showstream } def -/bull3 { dup lmarg exch moveto bullet tfont showstream - bullmarg exch moveto tfont showstream } def +/bull0 { bullmarg exch moveto bfont bwidth showstreamjust } def +/bull1 { dup lmarg exch moveto bullet bfont showstream + bullmarg exch moveto bfont bwidth showstreamjust } def +/bull2 { bullmarg exch moveto bfont showstream } def +/bull3 { dup lmarg exch moveto bullet bfont showstream + bullmarg exch moveto bfont showstream } def /tocw0 lwidth tocpnz sub def /tocw1 tocw0 tocind sub def @@ -270,7 +270,7 @@ /tocx2 tocx1 tocind add def /tocpn { - tfont0 setfont + bfont0 setfont 3 dict begin /s exch def /x s stringwidth pop pagewidth rmarg sub exch sub def @@ -284,29 +284,29 @@ linkend } def -/toc00 { tocx0 exch moveto 0 rmoveto tfont showstream } def +/toc00 { tocx0 exch moveto 0 rmoveto bfont showstream } def /toc01 { tocx0 exch moveto - linkbegindest tfont0 setfont 0 linkshow tfont showstream } def + linkbegindest bfont0 setfont 0 linkshow bfont showstream } def /toc02 { tocx0 exch moveto 3 1 roll - 0 rmoveto tfont showstream tocpn } def + 0 rmoveto bfont showstream tocpn } def /toc03 { tocx0 exch moveto 4 1 roll - linkbegindest tfont0 setfont 0 linkshow tfont showstream tocpn } def + linkbegindest bfont0 setfont 0 linkshow bfont showstream tocpn } def -/toc10 { tocx1 exch moveto 0 rmoveto tfont showstream } def +/toc10 { tocx1 exch moveto 0 rmoveto bfont showstream } def /toc11 { tocx1 exch moveto - linkbegindest tfont0 setfont 0 linkshow tfont showstream } def + linkbegindest bfont0 setfont 0 linkshow bfont showstream } def /toc12 { tocx1 exch moveto 3 1 roll - 0 rmoveto tfont showstream tocpn } def + 0 rmoveto bfont showstream tocpn } def /toc13 { tocx1 exch moveto 4 1 roll - linkbegindest tfont0 setfont 0 linkshow tfont showstream tocpn } def + linkbegindest bfont0 setfont 0 linkshow bfont showstream tocpn } def -/toc20 { tocx2 exch moveto 0 rmoveto tfont showstream } def +/toc20 { tocx2 exch moveto 0 rmoveto bfont showstream } def /toc21 { tocx2 exch moveto - linkbegindest tfont0 setfont 0 linkshow tfont showstream } def + linkbegindest bfont0 setfont 0 linkshow bfont showstream } def /toc22 { tocx2 exch moveto 3 1 roll - 0 rmoveto tfont showstream tocpn } def + 0 rmoveto bfont showstream tocpn } def /toc23 { tocx2 exch moveto 4 1 roll - linkbegindest tfont0 setfont 0 linkshow tfont showstream tocpn } def + linkbegindest bfont0 setfont 0 linkshow bfont showstream tocpn } def % Spacing between index columns /indexcolumn pagewidth lmarg sub rmarg sub idxgutter add idxcolumns div def @@ -317,10 +317,10 @@ 2 dict begin indexcolumn mul lmarg add /x exch def /y exch def x y moveto - exch tfont showstream - dup tfont streamwidth + exch bfont showstream + dup bfont streamwidth x indexcolwid add exch sub exch pop y moveto - tfont showstream + bfont showstream end } def /idx00 {idx03} def Index: psfonts.ph =================================================================== RCS file: /cvsroot/nasm/nasm/doc/psfonts.ph,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- psfonts.ph 14 May 2002 21:59:59 -0000 1.1 +++ psfonts.ph 16 May 2002 02:11:21 -0000 1.2 @@ -5,7 +5,9 @@ # These files are generated from AFM files require 'metrics/ptmr8a.ph'; # Times-Roman +require 'metrics/ptmb8a.ph'; # Times-Bold require 'metrics/ptmri8a.ph'; # Times-Italic +require 'metrics/ptmbi8a.ph'; # Times-BoldItalic require 'metrics/pcrr8a.ph'; # Courier require 'metrics/pcrb8a.ph'; # Courier-Bold require 'metrics/phvb8a.ph'; # Helvetica-Bold @@ -14,22 +16,27 @@ # The fonts we want to use for various things # The order is: <normal> <emphatic> <code> +%TitlFont = (name => 'tfont', + leading => 20, + fonts => [[20,\%PS_Times_Bold], + [20,\%PS_Times_BoldItalic], + [20,\%PS_Courier_Bold]]); %ChapFont = (name => 'cfont', leading => 18, - fonts => [[18,\%PS_Helvetica_Bold], - [18,\%PS_Helvetica_BoldOblique], + fonts => [[18,\%PS_Times_Bold], + [18,\%PS_Times_BoldItalic], [18,\%PS_Courier_Bold]]); %HeadFont = (name => 'hfont', leading => 14, - fonts => [[14,\%PS_Helvetica_Bold], - [14,\%PS_Helvetica_BoldOblique], + fonts => [[14,\%PS_Times_Bold], + [14,\%PS_Times_BoldItalic], [14,\%PS_Courier_Bold]]); %SubhFont = (name => 'sfont', leading => 12, - fonts => [[12,\%PS_Helvetica_Bold], - [12,\%PS_Helvetica_BoldOblique], + fonts => [[12,\%PS_Times_Bold], + [12,\%PS_Times_BoldItalic], [12,\%PS_Courier_Bold]]); -%TextFont = (name => 'tfont', +%BodyFont = (name => 'bfont', leading => 11, fonts => [[11,\%PS_Times_Roman], [11,\%PS_Times_Italic], @@ -38,7 +45,7 @@ # # List of all fontsets; used to compute the list of fonts needed # -@AllFonts = ( \%ChapFont, \%HeadFont, \%SubhFont, \%TextFont ); +@AllFonts = ( \%TitlFont, \%ChapFont, \%HeadFont, \%SubhFont, \%BodyFont ); # OK 1; |
From: <hp...@us...> - 2002-05-15 21:32:58
|
Update of /cvsroot/nasm/nasm/doc In directory usw-pr-cvs1:/tmp/cvs-serv22546 Modified Files: genps.pl Log Message: Fix a typo which caused the index to be generated incorrectly. Index: genps.pl =================================================================== RCS file: /cvsroot/nasm/nasm/doc/genps.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- genps.pl 15 May 2002 21:13:59 -0000 1.5 +++ genps.pl 15 May 2002 21:32:56 -0000 1.6 @@ -373,7 +373,7 @@ } } } - push(@l,@wd); + push(@l,@xd); if ( scalar(@l) ) { push(@ls, [[$type,0,undef,$fontset,0,0],[@l]]); # Final line } |
Update of /cvsroot/nasm/nasm/doc/metrics In directory usw-pr-cvs1:/tmp/cvs-serv11443/metrics Modified Files: pagd8a.ph pagdo8a.ph pagk8a.ph pagko8a.ph pbkd8a.ph pbkdi8a.ph pbkl8a.ph pbkli8a.ph pcrb8a.ph pcrbo8a.ph pcrr8a.ph pcrro8a.ph phvb8a.ph phvb8an.ph phvbo8a.ph phvbo8an.ph phvl8a.ph phvlo8a.ph phvr8a.ph phvr8an.ph phvro8a.ph phvro8an.ph pncb8a.ph pncbi8a.ph pncr8a.ph pncri8a.ph pplb8a.ph pplbi8a.ph pplr8a.ph pplri8a.ph psyr.ph ptmb8a.ph ptmbi8a.ph ptmr8a.ph ptmri8a.ph putb8a.ph putbi8a.ph putr8a.ph putri8a.ph pzcmi8a.ph pzdr.ph Log Message: Use a custom font encoding vector; generate copyright (inner cover) page Index: pagd8a.ph =================================================================== RCS file: /cvsroot/nasm/nasm/doc/metrics/pagd8a.ph,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pagd8a.ph 14 May 2002 21:59:59 -0000 1.1 +++ pagd8a.ph 15 May 2002 21:00:30 -0000 1.2 @@ -1,82 +1,72 @@ %PS_AvantGarde_Demi = ( name => 'AvantGarde-Demi', - widths => [ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 280, 280, 360, 560, 560, 860, 680, 280, - 380, 380, 440, 600, 280, 420, 280, 460, - 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 280, 280, 600, 600, 600, 560, - 740, 740, 580, 780, 700, 520, 480, 840, - 680, 280, 480, 620, 440, 900, 740, 840, - 560, 840, 580, 520, 420, 640, 700, 900, - 680, 620, 500, 320, 640, 320, 600, 500, - 280, 660, 660, 640, 660, 640, 280, 660, - 600, 240, 260, 580, 240, 940, 600, 640, - 660, 660, 320, 440, 300, 600, 560, 800, - 560, 580, 460, 340, 600, 340, 600, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 280, 560, 560, 160, 560, 560, 560, - 560, 220, 480, 460, 240, 240, 520, 520, - 0, 500, 560, 560, 280, 0, 600, 600, - 280, 480, 480, 460, 1000, 1280, 0, 560, - 0, 420, 420, 540, 480, 420, 480, 280, - 500, 0, 360, 340, 0, 700, 340, 540, - 1000, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 900, 0, 360, 0, 0, 0, 0, - 480, 840, 1060, 360, 0, 0, 0, 0, - 0, 1080, 0, 0, 0, 240, 0, 0, - 320, 660, 1080, 600, 0, 0, 0, 0 - ], - kern => { - "T," => -82, "s." => 20, "T-" => -75, "T." => -91, "DA" => -50, - "yo" => -30, ". " => -50, "T:" => -15, "T;" => -29, "Ke" => -40, - "rc" => -7, ".\'" => -70, "TA" => -25, "rd" => -6, "re" => -4, - "bv" => -20, "rg" => 1, "\272 " => -50, "Ko" => -45, "DV" => -50, - "ri" => 20, "f\365" => -15, "by" => -20, "DW" => -25, "rk" => 5, - "DY" => -45, "rl" => 20, "rm" => 15, "rn" => 21, "LT" => -46, - "Ku" => -15, "ro" => -15, "U," => -20, "rp" => 20, "LV" => -85, - "rq" => -8, "U." => -20, "TO" => -15, "LW" => -55, "Ky" => -20, - "rs" => 20, "LY" => -80, "rt" => 20, "ru" => 20, "\' " => -50, - "rv" => 40, "ry" => 40, "\252A" => -50, "\'\'" => -80, "ck" => -15, - "cl" => -15, "ke" => -40, "F," => -162, "F." => -129, "Ta" => -70, - "UA" => -40, "Te" => -49, "ko" => -30, "cy" => -20, "V," => -145, - "V-" => -75, "To" => -49, "ky" => -5, "V." => -145, "Ly" => -23, - "Tr" => -30, "FA" => -75, "Tu" => -46, "Tw" => -55, "Ty" => -10, - "V:" => -18, "V;" => -33, "f," => -40, "G," => -20, "f." => -40, - "G." => -20, "VA" => -102, "O," => -30, "VG" => -20, "O." => -30, - " A" => -20, "v," => -90, "W," => -106, "v." => -90, "W-" => -35, - "W." => -106, "VO" => -45, ",\272" => -70, "Fa" => -20, - "\'d" => -50, "Fe" => -20, "OA" => -60, "W:" => -15, "W;" => -33, - " T" => -25, " V" => -80, " W" => -25, "Va" => -95, "WA" => -58, - " Y" => -60, "\'r" => -20, "\'s" => -15, "\'t" => 10, "ev" => -20, - "Ve" => -101, "ew" => -20, "P," => -220, "\'v" => -10, "ex" => -20, - "ey" => -20, "P." => -200, "Vi" => -15, " `" => -50, "GY" => -15, - "mu" => -20, "w," => -90, "OT" => -15, "w." => -90, "OV" => -45, - "Vo" => -101, "my" => -20, "L\272" => -30, "OW" => -20, - "WO" => -20, "fa" => -15, "OX" => -30, "A\'" => -90, "OY" => -30, - "Vu" => -55, "ff" => -20, "fi" => -15, "PA" => -100, "fl" => -15, - "fo" => -20, "va" => -30, "Wa" => -50, "ve" => -20, "We" => -47, - "Q," => 20, "Wi" => -10, "`A" => -50, "nv" => -30, "AC" => -40, - "vo" => -20, "Y," => -145, "Wo" => -46, "Y-" => -100, "ny" => -15, - "Y." => -145, ".\272" => -70, "ga" => 15, "AG" => -40, "Wu" => -30, - "gi" => 25, "AO" => -50, "Wy" => -15, "Pa" => -20, "AQ" => -50, - "Y:" => -10, "Y;" => -23, "AT" => -25, "Pe" => -20, "AU" => -40, - "AV" => -102, "wa" => -30, "J." => -15, "AW" => -60, "AY" => -80, - "YA" => -80, "we" => -20, "Po" => -20, "``" => -80, "BA" => -10, - "y," => -100, "ov" => -30, "wo" => -30, "ow" => -20, "y." => -100, - "ox" => -30, "oy" => -20, "YO" => -30, " \252" => -50, "JA" => -30, - ", " => -50, ",\'" => -70, "Au" => -20, "Av" => -70, "Aw" => -65, - "Ay" => -50, "Ya" => -93, "xe" => -20, "r," => -75, "Ye" => -89, - "r-" => -60, "S," => 20, "r." => -73, "hy" => -30, "RO" => 25, - "ab" => 5, "CA" => -40, "RT" => 40, "RU" => 25, "RV" => -10, - "Yo" => -89, "py" => -20, "RW" => 25, "Ja" => -20, "Yu" => -52, - "D," => -20, "ap" => 20, "D." => -20, "L\'" => -30, "at" => 5, - "ya" => -30, "KO" => -30, "yc" => -35, "ye" => -20, "s," => 20, } + widths => { + "multiply" => 600, "Ntilde" => 740, "zero" => 560, "eth" => 640, + "Ograve" => 840, "uacute" => 600, "braceleft" => 340, + "Thorn" => 560, "zcaron" => 460, "comma" => 280, "cedilla" => 340, + "plusminus" => 600, "ccedilla" => 640, "circumflex" => 540, + "dotaccent" => 280, "asciitilde" => 600, "colon" => 280, + "onehalf" => 840, "dollar" => 560, "ntilde" => 600, + "Ocircumflex" => 840, "Oacute" => 840, "ogonek" => 340, + "ograve" => 640, "thorn" => 660, "minus" => 600, "degree" => 400, + "yen" => 560, "space" => 280, "registered" => 740, + "questiondown" => 560, "Aring" => 740, "percent" => 860, + "emdash" => 1000, "six" => 560, "Agrave" => 740, + "paragraph" => 600, "three" => 560, "numbersign" => 560, + "two" => 560, "Igrave" => 280, "oacute" => 640, + "ocircumflex" => 640, "A" => 740, "B" => 580, "C" => 780, + "D" => 700, "E" => 520, "onequarter" => 840, "F" => 480, + "G" => 840, "H" => 680, "I" => 280, "J" => 480, "K" => 620, + "L" => 440, "backslash" => 640, "asciicircum" => 600, + "periodcentered" => 280, "M" => 900, "N" => 740, "O" => 840, + "P" => 560, "aring" => 660, "Q" => 840, "R" => 580, + "Aacute" => 740, "caron" => 540, "S" => 520, "T" => 420, + "grave" => 420, "U" => 640, "agrave" => 660, "V" => 700, + "W" => 900, "equal" => 600, "question" => 560, "X" => 680, + "Y" => 620, "Z" => 500, "bracketright" => 320, "Iacute" => 280, + "ampersand" => 680, "four" => 560, "igrave" => 240, "a" => 660, + "b" => 660, "c" => 640, "d" => 660, "plus" => 600, "e" => 640, + "quotesinglbase" => 280, "f" => 280, "g" => 660, "bullet" => 600, + "h" => 600, "i" => 240, "Oslash" => 840, "dagger" => 560, + "j" => 260, "Yacute" => 620, "k" => 580, "l" => 240, "m" => 940, + "n" => 600, "o" => 640, "ordfeminine" => 360, "ring" => 360, + "p" => 660, "threesuperior" => 336, "q" => 660, "acute" => 420, + "r" => 320, "twosuperior" => 336, "aacute" => 660, "s" => 440, + "OE" => 1060, "t" => 300, "divide" => 600, "section" => 560, + "u" => 600, "v" => 560, "w" => 800, "dieresis" => 500, "x" => 560, + "y" => 580, "z" => 460, "iacute" => 240, "quotedblbase" => 480, + "hungarumlaut" => 700, "quotedbl" => 360, "mu" => 576, + "Scaron" => 520, "Lslash" => 480, "semicolon" => 280, + "oslash" => 660, "florin" => 560, "yacute" => 580, "fi" => 520, + "fl" => 520, "Acircumflex" => 740, "parenright" => 380, + "Ecircumflex" => 520, "trademark" => 1000, "Icircumflex" => 280, + "daggerdbl" => 560, "guillemotleft" => 460, "germandbls" => 600, + "macron" => 420, "Otilde" => 840, "seven" => 560, + "ellipsis" => 1000, "scaron" => 440, "ordmasculine" => 360, + "AE" => 900, "Ucircumflex" => 640, "lslash" => 320, + "dotlessi" => 240, "sterling" => 560, "quotedblleft" => 480, + "hyphen" => 420, "guilsinglright" => 240, "quotesingle" => 220, + "eight" => 560, "exclamdown" => 280, "acircumflex" => 660, + "endash" => 500, "oe" => 1080, "ecircumflex" => 640, + "copyright" => 740, "Adieresis" => 740, "Egrave" => 520, + "icircumflex" => 240, "slash" => 460, "braceright" => 340, + "Edieresis" => 520, "quotedblright" => 480, "otilde" => 640, + "Idieresis" => 280, "parenleft" => 380, "one" => 560, + "Odieresis" => 840, "ucircumflex" => 600, "bracketleft" => 320, + "Ugrave" => 640, "cent" => 560, "currency" => 560, + "logicalnot" => 600, "quoteright" => 280, "Udieresis" => 640, + "perthousand" => 1280, "Ydieresis" => 620, "Atilde" => 740, + "breve" => 480, "bar" => 600, "fraction" => 160, "Eacute" => 520, + "less" => 600, "adieresis" => 660, "guilsinglleft" => 240, + "egrave" => 640, "exclam" => 280, "edieresis" => 640, "Eth" => 742, + "idieresis" => 240, "period" => 280, "ae" => 1080, + "asterisk" => 440, "odieresis" => 640, "Uacute" => 640, + "ugrave" => 600, "five" => 560, "nine" => 560, "greater" => 600, + "Zcaron" => 500, "udieresis" => 600, "threequarters" => 840, + "guillemotright" => 460, "Ccedilla" => 780, "ydieresis" => 580, + "tilde" => 480, "atilde" => 660, "at" => 740, "brokenbar" => 600, + "eacute" => 640, "quoteleft" => 280, "underscore" => 500, + "onesuperior" => 336, + } ); +1; Index: pagdo8a.ph =================================================================== RCS file: /cvsroot/nasm/nasm/doc/metrics/pagdo8a.ph,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pagdo8a.ph 14 May 2002 21:59:59 -0000 1.1 +++ pagdo8a.ph 15 May 2002 21:00:30 -0000 1.2 @@ -1,82 +1,72 @@ %PS_AvantGarde_DemiOblique = ( name => 'AvantGarde-DemiOblique', - widths => [ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 280, 280, 360, 560, 560, 860, 680, 280, - 380, 380, 440, 600, 280, 420, 280, 460, - 560, 560, 560, 560, 560, 560, 560, 560, - 560, 560, 280, 280, 600, 600, 600, 560, - 740, 740, 580, 780, 700, 520, 480, 840, - 680, 280, 480, 620, 440, 900, 740, 840, - 560, 840, 580, 520, 420, 640, 700, 900, - 680, 620, 500, 320, 640, 320, 600, 500, - 280, 660, 660, 640, 660, 640, 280, 660, - 600, 240, 260, 580, 240, 940, 600, 640, - 660, 660, 320, 440, 300, 600, 560, 800, - 560, 580, 460, 340, 600, 340, 600, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 280, 560, 560, 160, 560, 560, 560, - 560, 220, 480, 460, 240, 240, 520, 520, - 0, 500, 560, 560, 280, 0, 600, 600, - 280, 480, 480, 460, 1000, 1280, 0, 560, - 0, 420, 420, 540, 480, 420, 480, 280, - 500, 0, 360, 340, 0, 700, 340, 540, - 1000, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 900, 0, 360, 0, 0, 0, 0, - 480, 840, 1060, 360, 0, 0, 0, 0, - 0, 1080, 0, 0, 0, 240, 0, 0, - 320, 660, 1080, 600, 0, 0, 0, 0 - ], - kern => { - "T," => -82, "s." => 20, "T-" => -75, "T." => -91, "DA" => -50, - "yo" => -30, ". " => -50, "T:" => -15, "T;" => -29, "Ke" => -40, - "rc" => -7, ".\'" => -70, "TA" => -25, "rd" => -6, "re" => -4, - "bv" => -20, "rg" => 1, "\272 " => -50, "Ko" => -45, "DV" => -50, - "ri" => 20, "f\365" => -15, "by" => -20, "DW" => -25, "rk" => 5, - "DY" => -45, "rl" => 20, "rm" => 15, "rn" => 21, "LT" => -46, - "Ku" => -15, "ro" => -15, "U," => -20, "rp" => 20, "LV" => -85, - "rq" => -8, "U." => -20, "TO" => -15, "LW" => -55, "Ky" => -20, - "rs" => 20, "LY" => -80, "rt" => 20, "ru" => 20, "\' " => -50, - "rv" => 40, "ry" => 40, "\252A" => -50, "\'\'" => -80, "ck" => -15, - "cl" => -15, "ke" => -40, "F," => -162, "F." => -129, "Ta" => -70, - "UA" => -40, "Te" => -49, "ko" => -30, "cy" => -20, "V," => -145, - "V-" => -75, "To" => -49, "ky" => -5, "V." => -145, "Ly" => -23, - "Tr" => -30, "FA" => -75, "Tu" => -46, "Tw" => -55, "Ty" => -10, - "V:" => -18, "V;" => -33, "f," => -40, "G," => -20, "f." => -40, - "G." => -20, "VA" => -102, "O," => -30, "VG" => -20, "O." => -30, - " A" => -20, "v," => -90, "W," => -106, "v." => -90, "W-" => -35, - "W." => -106, "VO" => -45, ",\272" => -70, "Fa" => -20, - "\'d" => -50, "Fe" => -20, "OA" => -60, "W:" => -15, "W;" => -33, - " T" => -25, " V" => -80, " W" => -25, "Va" => -95, "WA" => -58, - " Y" => -60, "\'r" => -20, "\'s" => -15, "\'t" => 10, "ev" => -20, - "Ve" => -101, "ew" => -20, "P," => -220, "\'v" => -10, "ex" => -20, - "ey" => -20, "P." => -200, "Vi" => -15, " `" => -50, "GY" => -15, - "mu" => -20, "w," => -90, "OT" => -15, "w." => -90, "OV" => -45, - "Vo" => -101, "my" => -20, "L\272" => -30, "OW" => -20, - "WO" => -20, "fa" => -15, "OX" => -30, "A\'" => -90, "OY" => -30, - "Vu" => -55, "ff" => -20, "fi" => -15, "PA" => -100, "fl" => -15, - "fo" => -20, "va" => -30, "Wa" => -50, "ve" => -20, "We" => -47, - "Q," => 20, "Wi" => -10, "`A" => -50, "nv" => -30, "AC" => -40, - "vo" => -20, "Y," => -145, "Wo" => -46, "Y-" => -100, "ny" => -15, - "Y." => -145, ".\272" => -70, "ga" => 15, "AG" => -40, "Wu" => -30, - "gi" => 25, "AO" => -50, "Wy" => -15, "Pa" => -20, "AQ" => -50, - "Y:" => -10, "Y;" => -23, "AT" => -25, "Pe" => -20, "AU" => -40, - "AV" => -102, "wa" => -30, "J." => -15, "AW" => -60, "AY" => -80, - "YA" => -80, "we" => -20, "Po" => -20, "``" => -80, "BA" => -10, - "y," => -100, "ov" => -30, "wo" => -30, "ow" => -20, "y." => -100, - "ox" => -30, "oy" => -20, "YO" => -30, " \252" => -50, "JA" => -30, - ", " => -50, ",\'" => -70, "Au" => -20, "Av" => -70, "Aw" => -65, - "Ay" => -50, "Ya" => -93, "xe" => -20, "r," => -75, "Ye" => -89, - "r-" => -60, "S," => 20, "r." => -73, "hy" => -30, "RO" => 25, - "ab" => 5, "CA" => -40, "RT" => 40, "RU" => 25, "RV" => -10, - "Yo" => -89, "py" => -20, "RW" => 25, "Ja" => -20, "Yu" => -52, - "D," => -20, "ap" => 20, "D." => -20, "L\'" => -30, "at" => 5, - "ya" => -30, "KO" => -30, "yc" => -35, "ye" => -20, "s," => 20, } + widths => { + "multiply" => 600, "Ntilde" => 740, "zero" => 560, "eth" => 640, + "Ograve" => 840, "uacute" => 600, "braceleft" => 340, + "Thorn" => 560, "zcaron" => 460, "comma" => 280, "cedilla" => 340, + "plusminus" => 600, "ccedilla" => 640, "circumflex" => 540, + "dotaccent" => 280, "asciitilde" => 600, "colon" => 280, + "onehalf" => 840, "dollar" => 560, "ntilde" => 600, + "Ocircumflex" => 840, "Oacute" => 840, "ogonek" => 340, + "ograve" => 640, "thorn" => 660, "minus" => 600, "degree" => 400, + "yen" => 560, "space" => 280, "registered" => 740, + "questiondown" => 560, "Aring" => 740, "percent" => 860, + "emdash" => 1000, "six" => 560, "Agrave" => 740, + "paragraph" => 600, "three" => 560, "numbersign" => 560, + "two" => 560, "Igrave" => 280, "oacute" => 640, + "ocircumflex" => 640, "A" => 740, "B" => 580, "C" => 780, + "D" => 700, "E" => 520, "onequarter" => 840, "F" => 480, + "G" => 840, "H" => 680, "I" => 280, "J" => 480, "K" => 620, + "L" => 440, "backslash" => 640, "asciicircum" => 600, + "periodcentered" => 280, "M" => 900, "N" => 740, "O" => 840, + "P" => 560, "aring" => 660, "Q" => 840, "R" => 580, + "Aacute" => 740, "caron" => 540, "S" => 520, "T" => 420, + "grave" => 420, "U" => 640, "agrave" => 660, "V" => 700, + "W" => 900, "equal" => 600, "question" => 560, "X" => 680, + "Y" => 620, "Z" => 500, "bracketright" => 320, "Iacute" => 280, + "ampersand" => 680, "four" => 560, "igrave" => 240, "a" => 660, + "b" => 660, "c" => 640, "d" => 660, "plus" => 600, "e" => 640, + "quotesinglbase" => 280, "f" => 280, "g" => 660, "bullet" => 600, + "h" => 600, "i" => 240, "Oslash" => 840, "dagger" => 560, + "j" => 260, "Yacute" => 620, "k" => 580, "l" => 240, "m" => 940, + "n" => 600, "o" => 640, "ordfeminine" => 360, "ring" => 360, + "p" => 660, "threesuperior" => 336, "q" => 660, "acute" => 420, + "r" => 320, "twosuperior" => 336, "aacute" => 660, "s" => 440, + "OE" => 1060, "t" => 300, "divide" => 600, "section" => 560, + "u" => 600, "v" => 560, "w" => 800, "dieresis" => 500, "x" => 560, + "y" => 580, "z" => 460, "iacute" => 240, "quotedblbase" => 480, + "hungarumlaut" => 700, "quotedbl" => 360, "mu" => 576, + "Scaron" => 520, "Lslash" => 480, "semicolon" => 280, + "oslash" => 660, "florin" => 560, "yacute" => 580, "fi" => 520, + "fl" => 520, "Acircumflex" => 740, "parenright" => 380, + "Ecircumflex" => 520, "trademark" => 1000, "Icircumflex" => 280, + "daggerdbl" => 560, "guillemotleft" => 460, "germandbls" => 600, + "macron" => 420, "Otilde" => 840, "seven" => 560, + "ellipsis" => 1000, "scaron" => 440, "ordmasculine" => 360, + "AE" => 900, "Ucircumflex" => 640, "lslash" => 320, + "dotlessi" => 240, "sterling" => 560, "quotedblleft" => 480, + "hyphen" => 420, "guilsinglright" => 240, "quotesingle" => 220, + "eight" => 560, "exclamdown" => 280, "acircumflex" => 660, + "endash" => 500, "oe" => 1080, "ecircumflex" => 640, + "copyright" => 740, "Adieresis" => 740, "Egrave" => 520, + "icircumflex" => 240, "slash" => 460, "braceright" => 340, + "Edieresis" => 520, "quotedblright" => 480, "otilde" => 640, + "Idieresis" => 280, "parenleft" => 380, "one" => 560, + "Odieresis" => 840, "ucircumflex" => 600, "bracketleft" => 320, + "Ugrave" => 640, "cent" => 560, "currency" => 560, + "logicalnot" => 600, "quoteright" => 280, "Udieresis" => 640, + "perthousand" => 1280, "Ydieresis" => 620, "Atilde" => 740, + "breve" => 480, "bar" => 600, "fraction" => 160, "Eacute" => 520, + "less" => 600, "adieresis" => 660, "guilsinglleft" => 240, + "egrave" => 640, "exclam" => 280, "edieresis" => 640, "Eth" => 742, + "idieresis" => 240, "period" => 280, "ae" => 1080, + "asterisk" => 440, "odieresis" => 640, "Uacute" => 640, + "ugrave" => 600, "five" => 560, "nine" => 560, "greater" => 600, + "Zcaron" => 500, "udieresis" => 600, "threequarters" => 840, + "guillemotright" => 460, "Ccedilla" => 780, "ydieresis" => 580, + "tilde" => 480, "atilde" => 660, "at" => 740, "brokenbar" => 600, + "eacute" => 640, "quoteleft" => 280, "underscore" => 500, + "onesuperior" => 336, + } ); +1; Index: pagk8a.ph =================================================================== RCS file: /cvsroot/nasm/nasm/doc/metrics/pagk8a.ph,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pagk8a.ph 14 May 2002 21:59:59 -0000 1.1 +++ pagk8a.ph 15 May 2002 21:00:30 -0000 1.2 @@ -1,83 +1,72 @@ %PS_AvantGarde_Book = ( name => 'AvantGarde-Book', - widths => [ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 277, 295, 309, 554, 554, 775, 757, 351, - 369, 369, 425, 606, 277, 332, 277, 437, - 554, 554, 554, 554, 554, 554, 554, 554, - 554, 554, 277, 277, 606, 606, 606, 591, - 867, 740, 574, 813, 744, 536, 485, 872, - 683, 226, 482, 591, 462, 919, 740, 869, - 592, 871, 607, 498, 426, 655, 702, 960, - 609, 592, 480, 351, 605, 351, 606, 500, - 351, 683, 682, 647, 685, 650, 314, 673, - 610, 200, 203, 502, 200, 938, 610, 655, - 682, 682, 301, 388, 339, 608, 554, 831, - 480, 536, 425, 351, 672, 351, 606, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 295, 554, 554, 166, 554, 554, 615, - 554, 198, 502, 425, 251, 251, 487, 485, - 0, 500, 553, 553, 277, 0, 564, 606, - 354, 502, 484, 425, 1000, 1174, 0, 591, - 0, 378, 375, 502, 439, 485, 453, 222, - 369, 0, 332, 324, 0, 552, 302, 502, - 1000, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 992, 0, 369, 0, 0, 0, 0, - 517, 868, 1194, 369, 0, 0, 0, 0, - 0, 1157, 0, 0, 0, 200, 0, 0, - 300, 653, 1137, 554, 0, 0, 0, 0 - ], - kern => { - "T," => -82, "s." => 20, "T-" => -75, "T." => -91, "DA" => -50, - "yo" => -30, ". " => -110, "T:" => -15, "T;" => -29, "Ke" => -20, - "ra" => -20, "rc" => -20, ".\'" => -120, "TA" => -45, "rd" => -6, - "re" => -4, "bv" => -20, "rg" => -15, "\272 " => -110, "Ko" => -15, - "DV" => -50, "ri" => 20, "f\365" => -34, "by" => -20, "DW" => -10, - "A\272" => -100, "rk" => 20, "DY" => -30, "rl" => 20, "rm" => 28, - "rn" => 21, "LT" => -46, "ro" => -20, "U," => -20, "rp" => 20, - "LV" => -113, "rq" => -8, "U." => -20, "TO" => -30, "LW" => -67, - "rs" => 20, "LY" => -91, "rt" => 20, "ru" => 20, "\' " => -110, - "rv" => 40, "ry" => 40, "\252A" => -100, "\'\'" => -203, - "ck" => -15, "ke" => -15, "F," => -180, "F." => -160, "Ta" => -90, - "UA" => -40, "Te" => -49, "cy" => -20, "Ti" => 10, "V," => -145, - "V-" => -75, "To" => -70, "ky" => -5, "V." => -165, "Ly" => -23, - "Tr" => -30, "FA" => -75, "Tu" => -46, "\252`" => -35, "Tw" => -55, - "Ty" => -50, "V:" => -18, "V;" => -33, "f," => -50, "G," => -20, - "f." => -50, "G." => -20, "VA" => -102, "O," => -30, "VG" => -20, - "O." => -30, " A" => -20, "v," => -100, "W," => -106, "v." => -130, - "W-" => -35, "W." => -106, "VO" => -60, ",\272" => -120, - "Fa" => -20, "\'d" => -110, "Fe" => -20, "ma" => -20, "OA" => -60, - "W:" => -15, "W;" => -33, " T" => -25, " V" => -50, " W" => -25, - "Va" => -104, "WA" => -58, " Y" => -60, "\'r" => -20, "\'s" => -15, - "\'t" => 10, "ev" => -20, "Ve" => -101, "ew" => -20, "P," => -280, - "\'v" => -30, "ey" => -20, "P." => -300, "Vi" => -5, " `" => -110, - "GY" => -20, "mu" => -20, "w," => -90, "OT" => -30, "w." => -100, - "OV" => -60, "Vo" => -101, "my" => -20, "L\272" => -130, - "OW" => -20, "WO" => -20, "fa" => -40, "OX" => -30, "A\'" => -100, - "OY" => -30, "fe" => -20, "Vu" => -40, "ff" => -60, "fi" => -34, - "PA" => -114, "fl" => -30, "fo" => -40, "va" => -30, "Wa" => -50, - "ve" => -20, "We" => -47, "Q," => 20, "Wi" => 6, "`A" => -100, - "nv" => -20, "AC" => -40, "vo" => -30, "Y," => -145, "Wo" => -46, - "Y-" => -85, "ny" => -15, "Y." => -175, ".\272" => -120, - "ga" => -15, "AG" => -40, "Wu" => -30, "AO" => -50, "Wy" => -2, - "Pa" => -20, "AQ" => -40, "Y:" => -10, "Y;" => -23, "AT" => -45, - "Pe" => -20, "AU" => -40, "AV" => -102, "wa" => -30, "J." => -15, - "AW" => -60, "AY" => -92, "YA" => -92, "we" => -20, "wh" => 15, - "Po" => -60, "``" => -203, "\'\272" => -35, "BA" => -10, - "y," => -110, "ov" => -30, "wo" => -30, "ow" => -20, "y." => -125, - "ox" => -15, "oy" => -20, "YO" => -30, " \252" => -110, - "JA" => -30, ", " => -110, ",\'" => -120, "Au" => -20, "Av" => -70, - "Aw" => -65, "Ay" => -62, "Ya" => -93, "r," => -75, "Ye" => -89, - "r-" => -60, "S," => 20, "r." => -73, "hy" => -30, "ab" => 20, - "CA" => -40, "RT" => 6, "RV" => -10, "Yo" => -89, "py" => -20, - "RW" => 10, "RY" => -10, "Ja" => -20, "Yu" => -52, "D," => -20, - "ap" => 20, "D." => -20, "L\'" => -130, "ya" => -30, "KO" => -20, - "ye" => -20, "s," => 20, } + widths => { + "multiply" => 606, "Ntilde" => 740, "zero" => 554, "eth" => 655, + "Ograve" => 869, "uacute" => 608, "braceleft" => 351, + "Thorn" => 592, "zcaron" => 425, "comma" => 277, "cedilla" => 324, + "plusminus" => 606, "ccedilla" => 647, "circumflex" => 502, + "dotaccent" => 222, "asciitilde" => 606, "colon" => 277, + "onehalf" => 831, "dollar" => 554, "ntilde" => 610, + "Ocircumflex" => 869, "Oacute" => 869, "ogonek" => 302, + "ograve" => 655, "thorn" => 682, "minus" => 606, "degree" => 400, + "yen" => 554, "space" => 277, "registered" => 747, + "questiondown" => 591, "Aring" => 740, "percent" => 775, + "emdash" => 1000, "six" => 554, "Agrave" => 740, + "paragraph" => 564, "three" => 554, "numbersign" => 554, + "two" => 554, "Igrave" => 226, "oacute" => 655, + "ocircumflex" => 655, "A" => 740, "B" => 574, "C" => 813, + "D" => 744, "E" => 536, "onequarter" => 831, "F" => 485, + "G" => 872, "H" => 683, "I" => 226, "J" => 482, "K" => 591, + "L" => 462, "backslash" => 605, "asciicircum" => 606, + "periodcentered" => 277, "M" => 919, "N" => 740, "O" => 869, + "P" => 592, "aring" => 683, "Q" => 871, "R" => 607, + "Aacute" => 740, "caron" => 502, "S" => 498, "T" => 426, + "grave" => 378, "U" => 655, "agrave" => 683, "V" => 702, + "W" => 960, "equal" => 606, "question" => 591, "X" => 609, + "Y" => 592, "Z" => 480, "bracketright" => 351, "Iacute" => 226, + "ampersand" => 757, "four" => 554, "igrave" => 200, "a" => 683, + "b" => 682, "c" => 647, "d" => 685, "plus" => 606, "e" => 650, + "quotesinglbase" => 354, "f" => 314, "g" => 673, "bullet" => 606, + "h" => 610, "i" => 200, "Oslash" => 868, "dagger" => 553, + "j" => 203, "Yacute" => 592, "k" => 502, "l" => 200, "m" => 938, + "n" => 610, "o" => 655, "ordfeminine" => 369, "ring" => 332, + "p" => 682, "threesuperior" => 332, "q" => 682, "acute" => 375, + "r" => 301, "twosuperior" => 332, "aacute" => 683, "s" => 388, + "OE" => 1194, "t" => 339, "divide" => 606, "section" => 615, + "u" => 608, "v" => 554, "w" => 831, "dieresis" => 369, "x" => 480, + "y" => 536, "z" => 425, "iacute" => 200, "quotedblbase" => 502, + "hungarumlaut" => 552, "quotedbl" => 309, "mu" => 608, + "Scaron" => 498, "Lslash" => 517, "semicolon" => 277, + "oslash" => 653, "florin" => 554, "yacute" => 536, "fi" => 487, + "fl" => 485, "Acircumflex" => 740, "parenright" => 369, + "Ecircumflex" => 536, "trademark" => 1000, "Icircumflex" => 226, + "daggerdbl" => 553, "guillemotleft" => 425, "germandbls" => 554, + "macron" => 485, "Otilde" => 869, "seven" => 554, + "ellipsis" => 1000, "scaron" => 388, "ordmasculine" => 369, + "AE" => 992, "Ucircumflex" => 655, "lslash" => 300, + "dotlessi" => 200, "sterling" => 554, "quotedblleft" => 502, + "hyphen" => 332, "guilsinglright" => 251, "quotesingle" => 198, + "eight" => 554, "exclamdown" => 295, "acircumflex" => 683, + "endash" => 500, "oe" => 1137, "ecircumflex" => 650, + "copyright" => 747, "Adieresis" => 740, "Egrave" => 536, + "icircumflex" => 200, "slash" => 437, "braceright" => 351, + "Edieresis" => 536, "quotedblright" => 484, "otilde" => 655, + "Idieresis" => 226, "parenleft" => 369, "one" => 554, + "Odieresis" => 869, "ucircumflex" => 608, "bracketleft" => 351, + "Ugrave" => 655, "cent" => 554, "currency" => 554, + "logicalnot" => 606, "quoteright" => 351, "Udieresis" => 655, + "perthousand" => 1174, "Ydieresis" => 592, "Atilde" => 740, + "breve" => 453, "bar" => 672, "fraction" => 166, "Eacute" => 536, + "less" => 606, "adieresis" => 683, "guilsinglleft" => 251, + "egrave" => 650, "exclam" => 295, "edieresis" => 650, "Eth" => 790, + "idieresis" => 200, "period" => 277, "ae" => 1157, + "asterisk" => 425, "odieresis" => 655, "Uacute" => 655, + "ugrave" => 608, "five" => 554, "nine" => 554, "greater" => 606, + "Zcaron" => 480, "udieresis" => 608, "threequarters" => 831, + "guillemotright" => 425, "Ccedilla" => 813, "ydieresis" => 536, + "tilde" => 439, "atilde" => 683, "at" => 867, "brokenbar" => 672, + "eacute" => 650, "quoteleft" => 351, "underscore" => 500, + "onesuperior" => 332, + } ); +1; Index: pagko8a.ph =================================================================== RCS file: /cvsroot/nasm/nasm/doc/metrics/pagko8a.ph,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pagko8a.ph 14 May 2002 21:59:59 -0000 1.1 +++ pagko8a.ph 15 May 2002 21:00:30 -0000 1.2 @@ -1,83 +1,72 @@ %PS_AvantGarde_BookOblique = ( name => 'AvantGarde-BookOblique', - widths => [ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 277, 295, 309, 554, 554, 775, 757, 351, - 369, 369, 425, 606, 277, 332, 277, 437, - 554, 554, 554, 554, 554, 554, 554, 554, - 554, 554, 277, 277, 606, 606, 606, 591, - 867, 740, 574, 813, 744, 536, 485, 872, - 683, 226, 482, 591, 462, 919, 740, 869, - 592, 871, 607, 498, 426, 655, 702, 960, - 609, 592, 480, 351, 605, 351, 606, 500, - 351, 683, 682, 647, 685, 650, 314, 673, - 610, 200, 203, 502, 200, 938, 610, 655, - 682, 682, 301, 388, 339, 608, 554, 831, - 480, 536, 425, 351, 672, 351, 606, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 295, 554, 554, 166, 554, 554, 615, - 554, 198, 502, 425, 251, 251, 487, 485, - 0, 500, 553, 553, 277, 0, 564, 606, - 354, 502, 484, 425, 1000, 1174, 0, 591, - 0, 378, 375, 502, 439, 485, 453, 222, - 369, 0, 332, 324, 0, 552, 302, 502, - 1000, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 992, 0, 369, 0, 0, 0, 0, - 517, 868, 1194, 369, 0, 0, 0, 0, - 0, 1157, 0, 0, 0, 200, 0, 0, - 300, 653, 1137, 554, 0, 0, 0, 0 - ], - kern => { - "T," => -82, "s." => 20, "T-" => -75, "T." => -91, "DA" => -50, - "yo" => -30, ". " => -110, "T:" => -15, "T;" => -29, "Ke" => -20, - "ra" => -20, "rc" => -20, ".\'" => -120, "TA" => -45, "rd" => -6, - "re" => -4, "bv" => -20, "rg" => -15, "\272 " => -110, "Ko" => -15, - "DV" => -50, "ri" => 20, "f\365" => -34, "by" => -20, "DW" => -10, - "A\272" => -100, "rk" => 20, "DY" => -30, "rl" => 20, "rm" => 28, - "rn" => 21, "LT" => -46, "ro" => -20, "U," => -20, "rp" => 20, - "LV" => -113, "rq" => -8, "U." => -20, "TO" => -30, "LW" => -67, - "rs" => 20, "LY" => -91, "rt" => 20, "ru" => 20, "\' " => -110, - "rv" => 40, "ry" => 40, "\252A" => -100, "\'\'" => -203, - "ck" => -15, "ke" => -15, "F," => -180, "F." => -160, "Ta" => -90, - "UA" => -40, "Te" => -49, "cy" => -20, "Ti" => 10, "V," => -145, - "V-" => -75, "To" => -70, "ky" => -5, "V." => -165, "Ly" => -23, - "Tr" => -30, "FA" => -75, "Tu" => -46, "\252`" => -35, "Tw" => -55, - "Ty" => -50, "V:" => -18, "V;" => -33, "f," => -50, "G," => -20, - "f." => -50, "G." => -20, "VA" => -102, "O," => -30, "VG" => -20, - "O." => -30, " A" => -20, "v," => -100, "W," => -106, "v." => -130, - "W-" => -35, "W." => -106, "VO" => -60, ",\272" => -120, - "Fa" => -20, "\'d" => -110, "Fe" => -20, "ma" => -20, "OA" => -60, - "W:" => -15, "W;" => -33, " T" => -25, " V" => -50, " W" => -25, - "Va" => -104, "WA" => -58, " Y" => -60, "\'r" => -20, "\'s" => -15, - "\'t" => 10, "ev" => -20, "Ve" => -101, "ew" => -20, "P," => -280, - "\'v" => -30, "ey" => -20, "P." => -300, "Vi" => -5, " `" => -110, - "GY" => -20, "mu" => -20, "w," => -90, "OT" => -30, "w." => -100, - "OV" => -60, "Vo" => -101, "my" => -20, "L\272" => -130, - "OW" => -20, "WO" => -20, "fa" => -40, "OX" => -30, "A\'" => -100, - "OY" => -30, "fe" => -20, "Vu" => -40, "ff" => -60, "fi" => -34, - "PA" => -114, "fl" => -30, "fo" => -40, "va" => -30, "Wa" => -50, - "ve" => -20, "We" => -47, "Q," => 20, "Wi" => 6, "`A" => -100, - "nv" => -20, "AC" => -40, "vo" => -30, "Y," => -145, "Wo" => -46, - "Y-" => -85, "ny" => -15, "Y." => -175, ".\272" => -120, - "ga" => -15, "AG" => -40, "Wu" => -30, "AO" => -50, "Wy" => -2, - "Pa" => -20, "AQ" => -40, "Y:" => -10, "Y;" => -23, "AT" => -45, - "Pe" => -20, "AU" => -40, "AV" => -102, "wa" => -30, "J." => -15, - "AW" => -60, "AY" => -92, "YA" => -92, "we" => -20, "wh" => 15, - "Po" => -60, "``" => -203, "\'\272" => -35, "BA" => -10, - "y," => -110, "ov" => -30, "wo" => -30, "ow" => -20, "y." => -125, - "ox" => -15, "oy" => -20, "YO" => -30, " \252" => -110, - "JA" => -30, ", " => -110, ",\'" => -120, "Au" => -20, "Av" => -70, - "Aw" => -65, "Ay" => -62, "Ya" => -93, "r," => -75, "Ye" => -89, - "r-" => -60, "S," => 20, "r." => -73, "hy" => -30, "ab" => 20, - "CA" => -40, "RT" => 6, "RV" => -10, "Yo" => -89, "py" => -20, - "RW" => 10, "RY" => -10, "Ja" => -20, "Yu" => -52, "D," => -20, - "ap" => 20, "D." => -20, "L\'" => -130, "ya" => -30, "KO" => -20, - "ye" => -20, "s," => 20, } + widths => { + "multiply" => 606, "Ntilde" => 740, "zero" => 554, "eth" => 655, + "Ograve" => 869, "uacute" => 608, "braceleft" => 351, + "Thorn" => 592, "zcaron" => 425, "comma" => 277, "cedilla" => 324, + "plusminus" => 606, "ccedilla" => 647, "circumflex" => 502, + "dotaccent" => 222, "asciitilde" => 606, "colon" => 277, + "onehalf" => 831, "dollar" => 554, "ntilde" => 610, + "Ocircumflex" => 869, "Oacute" => 869, "ogonek" => 302, + "ograve" => 655, "thorn" => 682, "minus" => 606, "degree" => 400, + "yen" => 554, "space" => 277, "registered" => 747, + "questiondown" => 591, "Aring" => 740, "percent" => 775, + "emdash" => 1000, "six" => 554, "Agrave" => 740, + "paragraph" => 564, "three" => 554, "numbersign" => 554, + "two" => 554, "Igrave" => 226, "oacute" => 655, + "ocircumflex" => 655, "A" => 740, "B" => 574, "C" => 813, + "D" => 744, "E" => 536, "onequarter" => 831, "F" => 485, + "G" => 872, "H" => 683, "I" => 226, "J" => 482, "K" => 591, + "L" => 462, "backslash" => 605, "asciicircum" => 606, + "periodcentered" => 277, "M" => 919, "N" => 740, "O" => 869, + "P" => 592, "aring" => 683, "Q" => 871, "R" => 607, + "Aacute" => 740, "caron" => 502, "S" => 498, "T" => 426, + "grave" => 378, "U" => 655, "agrave" => 683, "V" => 702, + "W" => 960, "equal" => 606, "question" => 591, "X" => 609, + "Y" => 592, "Z" => 480, "bracketright" => 351, "Iacute" => 226, + "ampersand" => 757, "four" => 554, "igrave" => 200, "a" => 683, + "b" => 682, "c" => 647, "d" => 685, "plus" => 606, "e" => 650, + "quotesinglbase" => 354, "f" => 314, "g" => 673, "bullet" => 606, + "h" => 610, "i" => 200, "Oslash" => 868, "dagger" => 553, + "j" => 203, "Yacute" => 592, "k" => 502, "l" => 200, "m" => 938, + "n" => 610, "o" => 655, "ordfeminine" => 369, "ring" => 332, + "p" => 682, "threesuperior" => 332, "q" => 682, "acute" => 375, + "r" => 301, "twosuperior" => 332, "aacute" => 683, "s" => 388, + "OE" => 1194, "t" => 339, "divide" => 606, "section" => 615, + "u" => 608, "v" => 554, "w" => 831, "dieresis" => 369, "x" => 480, + "y" => 536, "z" => 425, "iacute" => 200, "quotedblbase" => 502, + "hungarumlaut" => 552, "quotedbl" => 309, "mu" => 608, + "Scaron" => 498, "Lslash" => 517, "semicolon" => 277, + "oslash" => 653, "florin" => 554, "yacute" => 536, "fi" => 487, + "fl" => 485, "Acircumflex" => 740, "parenright" => 369, + "Ecircumflex" => 536, "trademark" => 1000, "Icircumflex" => 226, + "daggerdbl" => 553, "guillemotleft" => 425, "germandbls" => 554, + "macron" => 485, "Otilde" => 869, "seven" => 554, + "ellipsis" => 1000, "scaron" => 388, "ordmasculine" => 369, + "AE" => 992, "Ucircumflex" => 655, "lslash" => 300, + "dotlessi" => 200, "sterling" => 554, "quotedblleft" => 502, + "hyphen" => 332, "guilsinglright" => 251, "quotesingle" => 198, + "eight" => 554, "exclamdown" => 295, "acircumflex" => 683, + "endash" => 500, "oe" => 1137, "ecircumflex" => 650, + "copyright" => 747, "Adieresis" => 740, "Egrave" => 536, + "icircumflex" => 200, "slash" => 437, "braceright" => 351, + "Edieresis" => 536, "quotedblright" => 484, "otilde" => 655, + "Idieresis" => 226, "parenleft" => 369, "one" => 554, + "Odieresis" => 869, "ucircumflex" => 608, "bracketleft" => 351, + "Ugrave" => 655, "cent" => 554, "currency" => 554, + "logicalnot" => 606, "quoteright" => 351, "Udieresis" => 655, + "perthousand" => 1174, "Ydieresis" => 592, "Atilde" => 740, + "breve" => 453, "bar" => 672, "fraction" => 166, "Eacute" => 536, + "less" => 606, "adieresis" => 683, "guilsinglleft" => 251, + "egrave" => 650, "exclam" => 295, "edieresis" => 650, "Eth" => 790, + "idieresis" => 200, "period" => 277, "ae" => 1157, + "asterisk" => 425, "odieresis" => 655, "Uacute" => 655, + "ugrave" => 608, "five" => 554, "nine" => 554, "greater" => 606, + "Zcaron" => 480, "udieresis" => 608, "threequarters" => 831, + "guillemotright" => 425, "Ccedilla" => 813, "ydieresis" => 536, + "tilde" => 439, "atilde" => 683, "at" => 867, "brokenbar" => 672, + "eacute" => 650, "quoteleft" => 351, "underscore" => 500, + "onesuperior" => 332, + } ); +1; Index: pbkd8a.ph =================================================================== RCS file: /cvsroot/nasm/nasm/doc/metrics/pbkd8a.ph,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pbkd8a.ph 14 May 2002 21:59:59 -0000 1.1 +++ pbkd8a.ph 15 May 2002 21:00:30 -0000 1.2 @@ -1,56 +1,72 @@ %PS_Bookman_Demi = ( name => 'Bookman-Demi', - widths => [ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 340, 360, 420, 660, 660, 940, 800, 320, - 320, 320, 460, 600, 340, 360, 340, 600, - 660, 660, 660, 660, 660, 660, 660, 660, - 660, 660, 340, 340, 600, 600, 600, 660, - 820, 720, 720, 740, 780, 720, 680, 780, - 820, 400, 640, 800, 640, 940, 740, 800, - 660, 800, 780, 660, 700, 740, 720, 940, - 780, 700, 640, 300, 600, 300, 600, 500, - 320, 580, 600, 580, 640, 580, 380, 580, - 680, 360, 340, 660, 340, 1000, 680, 620, - 640, 620, 460, 520, 460, 660, 600, 800, - 600, 620, 560, 320, 600, 320, 600, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 360, 660, 660, 120, 660, 660, 600, - 660, 240, 540, 400, 220, 220, 740, 740, - 0, 500, 440, 380, 340, 0, 800, 460, - 320, 540, 540, 400, 1000, 1360, 0, 660, - 0, 400, 400, 500, 480, 460, 500, 320, - 500, 0, 340, 360, 0, 440, 320, 500, - 1000, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1140, 0, 400, 0, 0, 0, 0, - 640, 800, 1220, 400, 0, 0, 0, 0, - 0, 880, 0, 0, 0, 360, 0, 0, - 340, 620, 940, 660, 0, 0, 0, 0 - ], - kern => { - "T," => -122, "T-" => -10, "T." => -122, "Vo" => -79, "Vr" => -15, - "Vu" => -11, "Ry" => -8, "ff" => 21, "T:" => 7, "Vy" => 12, - "T;" => 5, "PA" => -46, "rc" => -9, "TA" => -42, "rd" => -10, - "re" => -10, "rf" => 20, "Wa" => -73, "rg" => -9, "rh" => -23, - "We" => -79, "rm" => 20, "rn" => 20, "Wi" => 15, "LT" => -4, - "ro" => -9, "LV" => -50, "rq" => -9, "LW" => -41, "Y," => -103, - "LY" => -35, "Y-" => -10, "Wo" => -78, "Y." => -105, "Wr" => -15, - "Wu" => -11, "Wy" => 12, "F," => -130, "Y:" => -32, "Y;" => -34, - "F." => -132, "Ta" => -24, "AT" => -40, "Tc" => -29, "AV" => -68, - "AW" => -20, "Te" => -29, "YA" => -56, "AY" => -52, "Ti" => 27, - "V," => -103, "To" => -28, "V-" => -10, "V." => -105, "Ly" => 19, - "Tr" => 27, "FA" => -59, "Ts" => -10, "V:" => -37, "V;" => -38, - "Av" => -8, "VA" => -88, "Aw" => -9, "Ya" => -60, "Ay" => -1, - "r," => -101, "Ye" => -67, "r-" => -10, "r." => -102, "Yi" => 2, - "W," => -103, "W-" => -10, "W." => -105, "RT" => -4, "Yo" => -66, - "RV" => -29, "Yp" => -23, "RW" => -24, "Yq" => -66, "RY" => -20, - "Yu" => -13, "Yv" => 24, "W:" => -37, "W;" => -38, "Va" => -74, - "WA" => -60, "Ve" => -80, "P," => -129, "P." => -128, "Vi" => 15, } + widths => { + "multiply" => 600, "Ntilde" => 740, "zero" => 660, "eth" => 620, + "Ograve" => 800, "uacute" => 660, "braceleft" => 320, + "Thorn" => 660, "zcaron" => 560, "comma" => 340, "cedilla" => 360, + "plusminus" => 600, "ccedilla" => 580, "circumflex" => 500, + "dotaccent" => 320, "asciitilde" => 600, "colon" => 340, + "onehalf" => 990, "dollar" => 660, "ntilde" => 680, + "Ocircumflex" => 800, "Oacute" => 800, "ogonek" => 320, + "ograve" => 620, "thorn" => 640, "minus" => 600, "degree" => 400, + "yen" => 660, "space" => 340, "registered" => 740, + "questiondown" => 660, "Aring" => 720, "percent" => 940, + "emdash" => 1000, "six" => 660, "Agrave" => 720, + "paragraph" => 800, "three" => 660, "numbersign" => 660, + "two" => 660, "Igrave" => 400, "oacute" => 620, + "ocircumflex" => 620, "A" => 720, "B" => 720, "C" => 740, + "D" => 780, "E" => 720, "onequarter" => 990, "F" => 680, + "G" => 780, "H" => 820, "I" => 400, "J" => 640, "K" => 800, + "L" => 640, "backslash" => 600, "asciicircum" => 600, + "periodcentered" => 340, "M" => 940, "N" => 740, "O" => 800, + "P" => 660, "aring" => 580, "Q" => 800, "R" => 780, + "Aacute" => 720, "caron" => 500, "S" => 660, "T" => 700, + "grave" => 400, "U" => 740, "agrave" => 580, "V" => 720, + "W" => 940, "equal" => 600, "question" => 660, "X" => 780, + "Y" => 700, "Z" => 640, "bracketright" => 300, "Iacute" => 400, + "ampersand" => 800, "four" => 660, "igrave" => 360, "a" => 580, + "b" => 600, "c" => 580, "d" => 640, "plus" => 600, "e" => 580, + "quotesinglbase" => 320, "f" => 380, "g" => 580, "bullet" => 460, + "h" => 680, "i" => 360, "Oslash" => 800, "dagger" => 440, + "j" => 340, "Yacute" => 700, "k" => 660, "l" => 340, "m" => 1000, + "n" => 680, "o" => 620, "ordfeminine" => 400, "ring" => 340, + "p" => 640, "threesuperior" => 396, "q" => 620, "acute" => 400, + "r" => 460, "twosuperior" => 396, "aacute" => 580, "s" => 520, + "OE" => 1220, "t" => 460, "divide" => 600, "section" => 600, + "u" => 660, "v" => 600, "w" => 800, "dieresis" => 500, "x" => 600, + "y" => 620, "z" => 560, "iacute" => 360, "quotedblbase" => 540, + "hungarumlaut" => 440, "quotedbl" => 420, "mu" => 660, + "Scaron" => 660, "Lslash" => 640, "semicolon" => 340, + "oslash" => 620, "florin" => 660, "yacute" => 620, "fi" => 740, + "fl" => 740, "Acircumflex" => 720, "parenright" => 320, + "Ecircumflex" => 720, "trademark" => 980, "Icircumflex" => 400, + "daggerdbl" => 380, "guillemotleft" => 400, "germandbls" => 660, + "macron" => 460, "Otilde" => 800, "seven" => 660, + "ellipsis" => 1000, "scaron" => 520, "ordmasculine" => 400, + "AE" => 1140, "Ucircumflex" => 740, "lslash" => 340, + "dotlessi" => 360, "sterling" => 660, "quotedblleft" => 540, + "hyphen" => 360, "guilsinglright" => 220, "quotesingle" => 240, + "eight" => 660, "exclamdown" => 360, "acircumflex" => 580, + "endash" => 500, "oe" => 940, "ecircumflex" => 580, + "copyright" => 740, "Adieresis" => 720, "Egrave" => 720, + "icircumflex" => 360, "slash" => 600, "braceright" => 320, + "Edieresis" => 720, "quotedblright" => 540, "otilde" => 620, + "Idieresis" => 400, "parenleft" => 320, "one" => 660, + "Odieresis" => 800, "ucircumflex" => 660, "bracketleft" => 300, + "Ugrave" => 740, "cent" => 660, "currency" => 660, + "logicalnot" => 600, "quoteright" => 320, "Udieresis" => 740, + "perthousand" => 1360, "Ydieresis" => 700, "Atilde" => 720, + "breve" => 500, "bar" => 600, "fraction" => 120, "Eacute" => 720, + "less" => 600, "adieresis" => 580, "guilsinglleft" => 220, + "egrave" => 580, "exclam" => 360, "edieresis" => 580, "Eth" => 780, + "idieresis" => 360, "period" => 340, "ae" => 880, + "asterisk" => 460, "odieresis" => 620, "Uacute" => 740, + "ugrave" => 660, "five" => 660, "nine" => 660, "greater" => 600, + "Zcaron" => 640, "udieresis" => 660, "threequarters" => 990, + "guillemotright" => 400, "Ccedilla" => 740, "ydieresis" => 620, + "tilde" => 480, "atilde" => 580, "at" => 820, "brokenbar" => 600, + "eacute" => 580, "quoteleft" => 320, "underscore" => 500, + "onesuperior" => 396, + } ); +1; Index: pbkdi8a.ph =================================================================== RCS file: /cvsroot/nasm/nasm/doc/metrics/pbkdi8a.ph,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pbkdi8a.ph 14 May 2002 21:59:59 -0000 1.1 +++ pbkdi8a.ph 15 May 2002 21:00:30 -0000 1.2 @@ -1,57 +1,72 @@ %PS_Bookman_DemiItalic = ( name => 'Bookman-DemiItalic', - widths => [ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 340, 320, 380, 680, 680, 880, 980, 320, - 260, 260, 460, 600, 340, 280, 340, 360, - 680, 680, 680, 680, 680, 680, 680, 680, - 680, 680, 340, 340, 620, 600, 620, 620, - 780, 720, 720, 700, 760, 720, 660, 760, - 800, 380, 620, 780, 640, 860, 740, 760, - 640, 760, 740, 700, 700, 740, 660, 1000, - 740, 660, 680, 260, 580, 260, 620, 500, - 320, 680, 600, 560, 680, 560, 420, 620, - 700, 380, 320, 700, 380, 960, 680, 600, - 660, 620, 500, 540, 440, 680, 540, 860, - 620, 600, 560, 300, 620, 300, 620, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 320, 680, 680, 120, 680, 680, 620, - 680, 180, 520, 380, 220, 220, 820, 820, - 0, 500, 420, 420, 340, 0, 680, 360, - 300, 520, 520, 380, 1000, 1360, 0, 620, - 0, 380, 340, 480, 480, 480, 460, 380, - 520, 0, 360, 360, 0, 560, 320, 480, - 1000, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1140, 0, 440, 0, 0, 0, 0, - 640, 760, 1180, 440, 0, 0, 0, 0, - 0, 880, 0, 0, 0, 380, 0, 0, - 380, 600, 920, 660, 0, 0, 0, 0 - ], - kern => { - "T," => -100, "T-" => -20, "T." => -107, "Vo" => -50, "Vr" => 2, - "Vu" => -1, "Ry" => 27, "ff" => 10, "T:" => 26, "Vy" => 17, - "T;" => 31, "PA" => -31, "rc" => -5, "TA" => -42, "rd" => -3, - "re" => -6, "rf" => 42, "Wa" => -100, "rg" => -23, "rh" => -35, - "We" => -100, "rm" => 39, "rn" => 39, "Wi" => -36, "LT" => -26, - "ro" => -1, "LV" => -19, "rq" => -3, "LW" => -15, "Y," => -106, - "LY" => -5, "Y-" => -20, "Wo" => -100, "Y." => -113, "Wr" => -66, - "Wu" => -69, "Wy" => -51, "F," => -98, "Y:" => -9, "Y;" => -4, - "F." => -105, "Ta" => -8, "AT" => -17, "Tc" => -8, "AV" => -40, - "AW" => -35, "Te" => -10, "YA" => -30, "AY" => -25, "Ti" => 42, - "V," => -137, "To" => -5, "V-" => -20, "V." => -115, "Ly" => 62, - "Tr" => 41, "FA" => -35, "Ts" => -1, "Tu" => 42, "Tw" => 69, - "Ty" => 56, "V:" => -28, "V;" => -22, "Av" => 20, "VA" => -50, - "Aw" => 20, "Ya" => -45, "Ay" => 20, "r," => -113, "Ye" => -46, - "r-" => -20, "r." => -120, "Yi" => 20, "W," => -201, "W-" => -22, - "W." => -183, "RT" => -3, "Yo" => -41, "RV" => -8, "RW" => -4, - "Yq" => -43, "RY" => 4, "Yu" => -1, "Yv" => 26, "W:" => -86, - "W;" => -81, "Va" => -50, "WA" => -77, "Ve" => -50, "P," => -98, - "P." => -105, "Vi" => 32, } + widths => { + "multiply" => 600, "Ntilde" => 740, "zero" => 680, "eth" => 600, + "Ograve" => 760, "uacute" => 680, "braceleft" => 300, + "Thorn" => 640, "zcaron" => 560, "comma" => 340, "cedilla" => 360, + "plusminus" => 600, "ccedilla" => 560, "circumflex" => 480, + "dotaccent" => 380, "asciitilde" => 620, "colon" => 340, + "onehalf" => 1020, "dollar" => 680, "ntilde" => 680, + "Ocircumflex" => 760, "Oacute" => 760, "ogonek" => 320, + "ograve" => 600, "thorn" => 660, "minus" => 600, "degree" => 400, + "yen" => 680, "space" => 340, "registered" => 780, + "questiondown" => 620, "Aring" => 720, "percent" => 880, + "emdash" => 1000, "six" => 680, "Agrave" => 720, + "paragraph" => 680, "three" => 680, "numbersign" => 680, + "two" => 680, "Igrave" => 380, "oacute" => 600, + "ocircumflex" => 600, "A" => 720, "B" => 720, "C" => 700, + "D" => 760, "E" => 720, "onequarter" => 1020, "F" => 660, + "G" => 760, "H" => 800, "I" => 380, "J" => 620, "K" => 780, + "L" => 640, "backslash" => 580, "asciicircum" => 620, + "periodcentered" => 340, "M" => 860, "N" => 740, "O" => 760, + "P" => 640, "aring" => 680, "Q" => 760, "R" => 740, + "Aacute" => 720, "caron" => 480, "S" => 700, "T" => 700, + "grave" => 380, "U" => 740, "agrave" => 680, "V" => 660, + "W" => 1000, "equal" => 600, "question" => 620, "X" => 740, + "Y" => 660, "Z" => 680, "bracketright" => 260, "Iacute" => 380, + "ampersand" => 980, "four" => 680, "igrave" => 380, "a" => 680, + "b" => 600, "c" => 560, "d" => 680, "plus" => 600, "e" => 560, + "quotesinglbase" => 300, "f" => 420, "g" => 620, "bullet" => 360, + "h" => 700, "i" => 380, "Oslash" => 760, "dagger" => 420, + "j" => 320, "Yacute" => 660, "k" => 700, "l" => 380, "m" => 960, + "n" => 680, "o" => 600, "ordfeminine" => 440, "ring" => 360, + "p" => 660, "threesuperior" => 408, "q" => 620, "acute" => 340, + "r" => 500, "twosuperior" => 408, "aacute" => 680, "s" => 540, + "OE" => 1180, "t" => 440, "divide" => 600, "section" => 620, + "u" => 680, "v" => 540, "w" => 860, "dieresis" => 520, "x" => 620, + "y" => 600, "z" => 560, "iacute" => 380, "quotedblbase" => 520, + "hungarumlaut" => 560, "quotedbl" => 380, "mu" => 680, + "Scaron" => 700, "Lslash" => 640, "semicolon" => 340, + "oslash" => 600, "florin" => 680, "yacute" => 600, "fi" => 820, + "fl" => 820, "Acircumflex" => 720, "parenright" => 260, + "Ecircumflex" => 720, "trademark" => 940, "Icircumflex" => 380, + "daggerdbl" => 420, "guillemotleft" => 380, "germandbls" => 660, + "macron" => 480, "Otilde" => 760, "seven" => 680, + "ellipsis" => 1000, "scaron" => 540, "ordmasculine" => 440, + "AE" => 1140, "Ucircumflex" => 740, "lslash" => 380, + "dotlessi" => 380, "sterling" => 680, "quotedblleft" => 520, + "hyphen" => 280, "guilsinglright" => 220, "quotesingle" => 180, + "eight" => 680, "exclamdown" => 320, "acircumflex" => 680, + "endash" => 500, "oe" => 920, "ecircumflex" => 560, + "copyright" => 780, "Adieresis" => 720, "Egrave" => 720, + "icircumflex" => 380, "slash" => 360, "braceright" => 300, + "Edieresis" => 720, "quotedblright" => 520, "otilde" => 600, + "Idieresis" => 380, "parenleft" => 260, "one" => 680, + "Odieresis" => 760, "ucircumflex" => 680, "bracketleft" => 260, + "Ugrave" => 740, "cent" => 680, "currency" => 680, + "logicalnot" => 620, "quoteright" => 320, "Udieresis" => 740, + "perthousand" => 1360, "Ydieresis" => 660, "Atilde" => 720, + "breve" => 460, "bar" => 620, "fraction" => 120, "Eacute" => 720, + "less" => 620, "adieresis" => 680, "guilsinglleft" => 220, + "egrave" => 560, "exclam" => 320, "edieresis" => 560, "Eth" => 760, + "idieresis" => 380, "period" => 340, "ae" => 880, + "asterisk" => 460, "odieresis" => 600, "Uacute" => 740, + "ugrave" => 680, "five" => 680, "nine" => 680, "greater" => 620, + "Zcaron" => 680, "udieresis" => 680, "threequarters" => 1020, + "guillemotright" => 380, "Ccedilla" => 700, "ydieresis" => 600, + "tilde" => 480, "atilde" => 680, "at" => 780, "brokenbar" => 620, + "eacute" => 560, "quoteleft" => 320, "underscore" => 500, + "onesuperior" => 408, + } ); +1; Index: pbkl8a.ph =================================================================== RCS file: /cvsroot/nasm/nasm/doc/metrics/pbkl8a.ph,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- pbkl8a.ph 14 May 2002 21:59:59 -0000 1.1 +++ pbkl8a.ph 15 May 2002 21:00:30 -0000 1.2 @@ -1,55 +1,72 @@ %PS_Bookman_Light = ( name => 'Bookman-Light', - widths => [ - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 320, 300, 380, 620, 620, 900, 800, 220, - 300, 300, 440, 600, 320, 400, 320, 600, - 620, 620, 620, 620, 620, 620, 620, 620, - 620, 620, 320, 320, 600, 600, 600, 540, - 820, 680, 740, 740, 800, 720, 640, 800, - 800, 340, 600, 720, 600, 920, 740, 800, - 620, 820, 720, 660, 620, 780, 700, 960, - 720, 640, 640, 300, 600, 300, 600, 500, - 220, 580, 620, 520, 620, 520, 320, 540, - 660, 300, 300, 620, 300, 940, 660, 560, - 620, 580, 440, 520, 380, 680, 520, 780, - 560, 540, 480, 280, 600, 280, 600, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 300, 620, 620, 140, 620, 620, 520, - 620, 220, 400, 360, 240, 240, 620, 620, - 0, 500, 540, 540, 320, 0, 600, 460, - 220, 400, 400, 360, 1000, 1280, 0, 540, - 0, 340, 340, 420, 440, 440, 460, 260, - 420, 0, 320, 320, 0, 380, 320, 420, - 1000, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1260, 0, 420, 0, 0, 0, 0, - 600, 800, 1240, 420, 0, 0, 0, 0, - 0, 860, 0, 0, 0, 300, 0, 0, - 320, 560, 900, 660, 0, 0, 0, 0 - ], - kern => { - "T," => -28, "T-" => 90, "T." => -33, "Vo" => -71, "Vr" => -41, - "Vu" => -38, "Ry" => 59, "ff" => 29, "Vy" => 15, "PA" => -8, - "rc" => 7, "TA" => 1, "rd" => 7, "re" => 7, "rf" => 33, - "Wa" => -66, "rg" => -4, "rh" => -21, "We" => -69, "rm" => 31, - "rn" => 31, "Wi" => -20, "LT" => 28, "ro" => 8, "LV" => -4, - "rq" => 9, "LW" => 1, "Y," => -34, "LY" => 13, "Y-" => 11, - "Wo" => -68, "Y." => -40, "Wr" => -41, "Wu" => -38, "Wy" => 15, - "F," => -41, "F." => -46, "AT" => 1, "Ta" => 17, "AV" => -56, - "Tc" => 14, "AW" => -40, "Te" => 13, "YA" => -53, "AY" => -35, - "Ti" => 42, "V," => -34, "To" => 15, "V-" => 11, "V." => -40, - "Ly" => 79, "Tr" => 38, "FA" => -21, "Ts" => 16, "Av" => 7, - "VA" => -66, "Aw" => 4, "Ya" => -54, "Ay" => 32, "r," => -58, - "Ye" => -58, "r-" => 70, "r." => -64, "Yi" => -37, "W," => -34, - "W-" => 11, "W." => -40, "RT" => 71, "RV" => 8, "Yo" => -57, - "RW" => 13, "Yp" => -31, "Yq" => -55, "RY" => 26, "Yu" => -38, - "Yv" => 15, "Va" => -69, "WA" => -64, "Ve" => -72, "P," => -55, - "P." => -60, "Vi" => -20, } + widths => { + "multiply" => 600, "Ntilde" => 740, "zero" => 620, "eth" => 560, + "Ograve" => 800, "uacute" => 680, "braceleft" => 280, + "Thorn" => 620, "zcaron" => 480, "comma" => 320, "cedilla" => 320, + "plusminus" => 600, "ccedilla" => 520, "circumflex" => 420, + "dotaccent" => 260, "asciitilde" => 600, "colon" => 320, + "onehalf" => 930, "dollar" => 620, "ntilde" => 660, + "Ocircumflex" => 800, "Oacute" => 800, "ogonek" => 320, + "ograve" => 560, "thorn" => 620, "minus" => 600, "degree" => 400, + "yen" => 620, "space" => 320, "registered" => 740, + "questiondown" => 540, "Aring" => 680, "percent" => 900, + "emdash" => 1000, "six" => 620, "Agrave" => 680, + "paragraph" => 600, "three" => 620, "numbersign" => 620, + "two" => 620, "Igrave" => 340, "oacute" => 560, + "ocircumflex" => 560, "A" => 680, "B" => 740, "C" => 740, + "D" => 800, "E" => 720, "onequarter" => 930, "F" => 640, + "G" => 800, "H" => 800, "I" => 340, "J" => 600, "K" => 720, + "L" => 600, "backslash" => 600, "asciicircum" => 600, + "periodcentered" => 320, "M" => 920, "N" => 740, "O" => 800, + "P" => 620, "aring" => 580, "Q" => 820, "R" => 720, + "Aacute" => 680, "caron" => 420, "S" => 660, "T" => 620, + "grave" => 340, "U" => 780, "agrave" => 580, "V" => 700, + "W" => 960, "equal" => 600, "question" => 540, "X" => 720, + "Y" => 640, "Z" => 640, "bracketright" => 300, "Iacute" => 340, + "ampersand" => 800, "four" => 620, "igrave" => 300, "a" => 580, + "b" => 620, "... [truncated message content] |