--- tmview-01.03.orig/svga/writevga.c +++ tmview-01.03/svga/writevga.c @@ -64,10 +64,10 @@ if(!MECK) gl_freecontext(&physicalscreen); /* does not hurt if not allocated ? */ #ifndef VGAHASWAITIO #ifdef LETSTRYGS - pfprot("\n\ -warning: display: use polling when rendering eps-figures due to - a compiletime-option. If your svgalib is above version 1.2.10, - recompiling with \"VGAHASWAITIO\" defined may speed up rendering.\n\n"); + pfprot("\n" + "warning: display: use polling when rendering eps-figures due to\n" + "a compiletime-option. If your svgalib is above version 1.2.10,\n" + "recompiling with \"VGAHASWAITIO\" defined may speed up rendering.\n\n"); #endif #endif } @@ -203,9 +203,9 @@ if (n==0 || !vga_hasmode(n)) { n=vga_getdefaultmode(); if((n!=5 && n!=10 && n!=11 && n!=12) || !vga_hasmode(n)) { - pfprot("\n\ -warning: display: mode not supported on this machine. Now try -d640x480. - Check your svgalib configuration.\n"); + pfprot("\n" + "warning: display: mode not supported on this machine. Now try -d640x480.\n" + "Check your svgalib configuration.\n"); n=10; } } @@ -213,14 +213,14 @@ MECK=0; } else { MECK=1; - pfprot("\n\ -warning: display: mode -d640x480 not supported at 256 colors. Now try at - 16 colors. This will reduce display quality and speed. Check your - svgalib configuration.\n\n"); + pfprot("\n" + "warning: display: mode -d640x480 not supported at 256 colors. Now try at\n" + "16 colors. This will reduce display quality and speed. Check your\n" + "svgalib configuration.\n\n"); n=4; if(!vga_hasmode(n)) { - pfprot("\n\ -warning: display: mode -d640x480 not even supported at 16 colors.\n"); + pfprot("\n" + "warning: display: mode -d640x480 not even supported at 16 colors.\n"); vgaerror("Sorry."); } } --- tmview-01.03.orig/src/help.h +++ tmview-01.03/src/help.h @@ -1,598 +1,598 @@ #define HELPWIDTH 60 -#define HELPSTR "\ -LIST OF COMMANDS WITH TYPICAL ARGUMENTS ************ V 01.03 - - / goto previous/next page -(NUM) goto page NUM w.r.t. TeX-counters - /// scroll the visible area - / make scrolling finer/coarser - center visible area - <+>/<-> zoom in/out -(NUM) set zoom-factor to NUM - - set a bookmark - move to a bookmark - <^> move back - - display options - toggle statusline-information - set unit of measurement - - show/hide screenmark and pagemark - set pagemark at screenmark position - show/hide marked rectangle -

show/hide printable area - set page-offset and -size - - show/hide half-hyper-tex-mark - move to next href - follow current href - - search for text - <*> re-read DVIfile, fonts, eps-figures - load/kill DVIfile - quit tmview - - -GENERAL USAGE ******************************************* - -When everything is setup right, visiting a DVIfile with -tmview just means to navigate the visible area along that -file, using the cursor-keys. Some of the following -commands obviously require an argument, f.e. . -Arguments are to be entered BEFORE executing a command. -When executed by hitting the corresponding uppercase key, -you will be asked for the argument. While the -user-interface of tmview is meant to save keystrokes, it -is not too intuitive. You may either read the following -instructions, or just do . - -The cursor-keys and are taken as -resp. . The keys and select the first -resp. the last page. The cursor-keys -and do resp. . All in all this -means, that the cursor-keys do what they are meant to. - -When a mouse is connected, it moves any visible mark. When -the right or left mousebutton is no good for anything -else, moving the mouse while holding that button acts on -the visible area instead. (That sounds bad, but works out -fine) When the screenmark is shown (see ), the left -mouse-button sets the pagemark (see ) and the right -button marks a rectangle (see ). When the -half-hyper-mark is shown, the left mouse-button follows -the current href, if any. - -********************************************************* -NON-INTUITIVE USER-INTERFACE **************************** -********************************************************* - -To explain the way tmview expects to receive commands, a -short nomenclature used in the sequel is given: - -Any text within `<' and `>' represents a single keystroke, -while `(' and `)' mark the beginning resp. the end of a -string to enter. So is about to hit the key named `h' -and (25.4) could stand for <2><5> <.><4>. The carriage- -return-key is referred by , the backspace-key or -delete-key by and the escape-key by . Almost -whenever a string is expected by tmview, you may use -to remove the last character you typed. So even -<2><5><6><.><4> results in (25.4). Note that a string -does not need to be terminated by . To simplify a -reference to a string, in this text any uppercase letters -within `(' and `)' are not meant as a string, but as the -name of some string. So we may read something like -`(PP) scrolls PP percent to the left' as `typing in any -number just before results in scrolling left according -to that number'. - - -COMMANDS AND ARGUMENTS*********************************** - -A command is executed by typing its name, which consists -of a single character. Some of the above listed commands -take numerical arguments. Arguments are always -optional. They may be entered before executing the -command. Multiple arguments are separated by <,> or -<;>. If no argument is passed, a default is used. If an -argument is passed, it serves as the default for following -commands. Commands doing similar things share the same -default arguments. - -Example: -Typing (10) results in scrolling 10% to the left and -sets the default for any scrolling commands to 10%. Thus -typing afterwards results in scrolling 10% to the -right. - - -MAGIC ARGUMENT******************************************* - -As a special argument some commands accept the magic -argument <*>. It is used either to vary the command in -some way or to get the arguments from another place. <#> -is equivalent to <*> and saves you from holding down the -shift-key on some keyboards. - - for example centers the visible area. It excepts as -argument the point which will be taken as origin. Since -this will become the default for a future , you may -measure out the origin only once. Even quicker it is to -position the visible area by scrolling and then to do a -<*>. This results in taking the current position as -centered and so as default for a coming . - -As another example look at the command , which moves -pages forward, according to a given argument resp. a -default. By moving on the next page there are two modi -available: 1. keep the visible area; 2. do center like -. <*> toggles between these two modi. So in this -case <*> acts as a kind of flag argument. - - - -SELECTING THE PAGE**************************************** - -/ Select a page relative to the current page. - - moves towards the beginning of the DVIfile, while - moves towards the end. A single argument (N) may - specify the amount of movement in pages. However, (N) - will NOT become the default value. The argument is (*), - the page-moving-mode is toggled. See above. - - Example: - (1) selects the previous page selects the next - page - - Select a page with respect to TeX counters. - - A list of ten arguments (COUNT0; COUNT1; ... COUNT9) - specifies the page to be selected. <*> may be used as - wildcard. If there are more than one but less than ten - arguments given, the others will be taken as <*>. - - Example: - (26) selects the first page after the current page - with a value of 26 in \\count0. - - - -MOVING AROUND ON CURRENT PAGE ****************************** - -/// Scrolling the visible area - - A single argument (PP) may be used to specify the - amount of scrolling in percent of the - screen-width. / resp. /down> both accept - the argument (*) to toggle between: 1. stay on the - current page; 2. scroll over pages. When scrolling - over pages, you may view the whole document while - using only the single key . - - Example: - (20) scrolls 1/5 to the left. - -/ Make scrolling finer/coarser - - These commands change the default argument for the - above scrolling- commands. So and don't move - the visible area at all, but they change the way the - scrolling-commands act. - - Center the visible area - - Without any argument centers horizontally only, - while centers in both directions. - When two arguments (X,Y) are given, they describe - the point on the page, which will become the middle - of the visible area. When the argument (*) is given, - the current position is taken as centered. When the - screenmark is shown (see below ), and the - argument (*) is given, the position of the - screenmark becomes the center. This does move the - visible area, but it does not move the screenmark. - - -ZOOMING **************************************************** - - Set the zoom-factor - - This command requires one argument (F) which must be - between 0.05 and 2. F will become the zoom-factor - and the visible-area will be redrawn. Use (*) to - adjust the zoom-factor such that the page horizontaly - fits the visible-area. - - If the zoom-factor is 1, the pixels found in pk-files - are just copied one by one to the screen. Since the - resolution of our days screens seems to be less than - that of our days printers, and since you may still - want to use the same pk-files for printing and - viewing, F=1 usually results in a magnification. So - when you're just reading some text in some DVIfile - you will set F to something like 0.3, depending on - the involved resolutions. When the screenmark is - visible (see ) the position of the screenmark is - taken as the origin of zooming, i.e. it is fixed. - When the screenmark is not visible, the middle of the - screen is fixed. The current zoom-factor is displayed - in the optional statusline, see . - - There are two zooming modi. The integer modus - requieres 1/f to be an integer. This modus is quite - fast, so good values are F=0.5, 0.333, 0.25, 0.2, - 0.167 etc. The good thing about the slow modus is, - that it allows you to choose the zoom-factor - arbitrary (between 0.05 and 2). So poor students with - small screens might find some optimum to make the - text fit and still be readable. The bad thing about - the slow modus is that it is slow. But since once - zoomed glyphs are kept in memory, this slowness only - hurts the first few pages after changing the - zoom-factor. Modus selection is done by the display - options . - -<+>/<-> Zoom in/out - - Increase/decrease the zoom-factor. When in the fast - modus, step through the fast values only (see - above). When an argument (PP) is given, it is taken - as the amount of increasing/decreasing in percent of - the current zoom-factor. This is likely to result in - the slow modus. - - -BOOKMARKS ************************************************** - -A bookmark remembers what is seen on the screen. That is -the DVIfile, the page within that file, the position of the -visable area and the zoom-factor. There are three kind of -bookmarks ... - -file-bookmarks: -Each file visited has a file-bookmark, containing the above -information about what was seen on the screen when visited -the last time, plus some information on the file, that is -the paper-offset and -position, the location of the -printable-area. file-bookmarks are generated automaticly. -This results in easy re-visiting a DVIfile: you'll find it -as left. A file-bookmark is removed by killing the DVIfile -with , see below. - -back-bookmarks: -When searching a text-string, following a href or moving to -a bookmark, the position within the DVIfile might be -changed to somewhere far far away. To simplify recovering -fromsuch excursions, a back-bookmark will be generated -automaticly. To prevent getting fed up with thousands of -back-bookmarks, the total number of theese is limited. See -<^> below. - -manual-bookmarks: -After all you may install your own bookmarks, marking often -visited places, say in some manuals. manual-bookmarks are -named by a number. This number has to be unique whithin -the DVIfile they belong to. To define a manual-bookmark -use . Since manual-bookmarks belong to the DVIfile they -are defined on, they get lost, when that DVIfile is killed -by . - -All kind of bookmarks are kept in a ring-buffer. There is a -so called current bookmark of each type. Visiting the -bookmarks along the ring-buffer is done by for file- -and manual-bookmarks, while <^> acts on back-bookmarks. - - Define/undefine manual-bookmark. - - When the current position is not already defined as - a manual-bookmark, defines one. When an single - numeric argument (NUM) is given, NUM will be the - name of the newly defined bookmark. With no - argument, a name will be generated automaticly. See - below, for how to visit manual-bookmarks. When - the current position is already defined as a - manual-bookmark, undefines that manual-bookmark. - - Move to bookmark. - - When a single numeric argument (NUM) is given, - moves to the manual-bookmark named NUM, if - any. Since manual bookmarks are bound to DVIfiles, - the current DVIfile will never change in that - case. If no argument is given, goes moves the - postion either thrue the ring-buffer of - file-bookmarks or thrue the one of - manual-bookmarks. To toggle between theese two modi, - use the magic argument <*>. - -<^> Move back - - Move to the latest back-bookmark, if any. When a - single numeric argument (TOTAL) is given, keep the - TOTAL latest back-bookmarks and discard all the - others. - - -CHOOSING WHAT'S ON THE DISPLAY ***************************** - - Display options - - This command collects a number of general options - on how the things get on the screen. Use the cursor - keys (or ///) to navigate. - - > Greyscales. When the zoom-factor is less than 1, - the glyphs may be displayed using grey-levels, making - them more smooth. This takes some memory, so you are - allowed to switch it off. On high-res displays there - is no need for greyscaling anyway. - - > Eps-rendering. There is limited support for - rendering eps-files by running ghostscript. However, - this sometimes is quite slow and memory intensive, so - you may turn it off. If rendering is enabled the - results are buffered. Hence, if the eps-files are - updated by some graphics program, you need to do a - <*> to force rerendering. To disable certain - eps-files individually, abort the rendering process - by . - - > Double-page. There is also limited support for - viewing two pages beside each other. Again their - is some memory required to keep it all buffered. - You may disable double paged viewing entirely. You - may let tmview deceide on basis of the zoom-factor. - Or you may permanently enable this feature. - - > Zooming. There is a fast zooming mode allowing - only zomming by 1/f where f is required to be an - integer. And there is an arbitrary mode to be - selected. - - Toggle statusline-information - - While the standard statusline shows you the - page-number of the current page and the arguments - you are about to enter, you may select optional - information for measuring out distances and so. See - below. - - Set unit of measurement - - Whenever you specify arguments which are to describe - a point on the page, this is done w.r.t. a unit of - measurement, i.e. cm, mm, a.s.o.. This unit is also - used, when the position of a mark is displayed in - the statusline. - - -MEASURING ************************************************** - -To allow you to measure distances on the page, there are -two marks, the screenmark, which is fixed on the physical -screen you're looking at, and the pagemark, which is fixed -on the DVIfiles page. When you move the visible-area, the -screenmark acts as drawn with edding on your monitor. The -pagemark acts as drawn on the page. The optional statusline -tells the position of the pagemark relative to the corner -of the sheet of paper you're viewing. It also tells the -position of the screenmark relative to the pagemark. To -measure distances you first may switch this marks on, using -. When the marks are shown, the scrolling commands don't -act on the visible area anymore, but move the screenmark. -For that case only moving the screenmark at the boarder of -the screen results in scrolling. To move the pagemark just -move the screenmark at the desired position and use to -make the pagemark follow. - - Show/hide screenmark and pagemark - - This commands takes the two arguments - (PM_X;PM_Y). The pagemark is put at position PM_X - PM_Y w.r.t. the upper left corner of the page. The - Screenmark may be moved with the scrolling-commands. - - Set pagemark at the position of the screenmark - -Beside of these marks there are three rectangles for -measurement. First there is the boarder of the paper setup -by the command-line options -h,-v and -p. Then there is -the printable area, setup with the -k command-line option. -Third the so called marked rectangle used. - - Show/hide marked rectangle - - The four arguments (LEFT,TOP,WIDTH,HIGHT) specify - the position on page an the size of the marked - rectangle. When pagemark and screenmark are shown, - their positions are used as default. When they are - hidden, the last position of the marked rectangle is - used as default. - -

Show/hide printable area - - The four arguments (LEFT,RIGHT,TOP,BOTTOM) specify - the margins of the printable area, w.r.t. the - boarder of the page. When pagemark and screenmark - are shown, the argument (*) sets the printable area - to the rectangle described by screenmark and - pagemark. When they are hidden, (*) takes the - command-line-options resp. defaults -k of the - printable area. - - Set paper-offset and -size - - The four arguments (HOFF;VOFF;WIDTH;HEIGHT) specify - the boarder of the page. Have the top-left corner of - a sheet of paper in mind. Then (HOFF,VOFF) is the - offset of the DVIfile's origin to the left boarder - of the paper. Standard values are - HOFF=VOFF=2.54cm. WIDTH and HEIGHT are the width and - the height of the sheet of paper. The sheet of paper - is represented only by a frame on the screen. It - does not affect the drawing of the DVIfile. - - When pagemark and screenmark are shown, the argument - (*) sets the boarder of the page to the rectangle - described by screenmark and pagemark. When they are - hidden, (*) takes the command-line-options - resp. defaults -h,-v and -p. - - -HALF-HYPER ************************************************* - -tmview does some of the fancy hyper-tex things. I talk -about HALF-hyper-tex, because tmview follows only links -which point to somewhere within the currently visited -dvi-file. So there is no connection to the net or so. But -you might find it usefull (when editing a major project) to -view an equation number this-and-that by clicking on -this-and-that whereever the text refers to that equation. -For information about hyper-tex, related macropackages and -fully compatible viewer scan the net ... - - Show/hide half-hyper-mark - Goto next href - Follow current href, if any - - -MISC ******************************************************* - - Search for text - - You will be asked for the text-string to be searched. - You may enter a regular expression describing that - string, that includes especially just to enter the - string as it is. - - tmview will take the entire DVIfile as one huge - text-string and then search for the next substring, - fitting the regular expression you've enterd. Thereby - \"next\" is ment with respect to the current page. - - So far this sounds quite easy, but there are some ugly - details, based on the fact, that a DVIfile contains - information on how to draw a bitmap representing your - text. It does not contain information about from what - characters in which order your text is made up. Even - the PKfiles used to draw your text consist only of - lots of glyphs but no character-codes, like ASCII or - so. Building a huge text-string from a DVIfile is some - kind of guessing. - - Fisrt: What kind of huge-string is build from the DVIfile? - - This string will consists of the letters ... , - ... , the accent <\"> and the digits <0> - ... <9>. It does NOT contain anything else, like - , or <->: - Whenbeingprinteditwouldlooklikethisnotreadableatall. - Taking the DVIfile as huge string allows you to find - all locations of a sub-string, say - \"commandlineoptions\", even those that are seperarted - by linebreaks (and hyphens) or pagebreaks. In turn, - there is no chance to find all those locations, where - \"commandlineoptions\" is seperated by a hypenation. To - keep tmview from being confused by headings, there is - another rule for building up the huge text-string: any - glyph outside the printable area (see

) is - ignored. So you may setup the printable area to ignore - headings when searching. - - Second: How is the huge-string build up? - - To translate the list of glyphs found in the DVIfile - to a text-string, the tfm-files are asked for the - encoding-scheme. This does work with dc-fonts and - cm-fonts, since the following encoding-scheme names - are accepted: \"ASCII\", \"TeX text\", \"TeX math italic\", - \"TeX math symbols\", \"TeX typewriter text\", \"Extended - TeX Font Encoding - Latin\", \"Adobe StandardEncoding\". - The alphanumerics ..., ..., <0> ... <9> - are copied one by one to the huge text-string. Glyphs - that \"look like\" a simple alphanumeric will be taken - as that one it looks like. So the Tex input '\\c o', - producing an 'o'-with-an-cedilla-accent, will be - represented as a simple (o) in the text-string. This - rule also works for all kind of ligatures. The TeX - input 'ffl\\AE' will be represented by (fflAE). Any - accent ON TOP of a glyph will be translated to a (\"), - preceding whatever the glyph without that accent would - be translated to. The TeX input '\\\"a' producing the - german umlaut 'a'-with-two-dots-on-top, will be found - as (\"a) in the generated text-string. The TeX input - '\\aa' producing the scandinavian - 'a'-with-circle-on-top will be found as (\"a) too. Any - other glyphs are ignored. - - Third: In what does the above result? - - Visiting english documents, say manuals to some - computer related stuff like elisp.dvi, searching for - keywords works fine. Searching in documents in which - extensive use of accents and funny characters is made - works too, but requires some luck or/and experiance in - how TeX acts on such things. - - - Example: - - Take the file story.tex from the TeXbook, chapter 6, - page 24. It contains the line - galaxy called \\\"O\\\"o\\c c, - The text-string build from the corresponding story.dvi - will therfore contain - galaxycalled\"O\"oc - You may search for ... getting as result ... - galaxy found - galaxycalled found - galaxy called not found - d\" found - galaxy.*\"O\"oc found - Ooc not found - - - Re-read current DVIfile and re-draw screen. - - Note: will not re-initialize the fontdatabase, - nor the buffer for rendered eps-figures. To force - everything beeing re-read, use (*). - - - Load/kill DVIfile - - After typing you may select between to load a - DVIfile and to kill a DVIfile. - - Loading a DVIFile: - - tmview will look for a file-bookmark belonging to that - file. If there is one, it becomes the current - file-bookmark. The DVIfile will be shown as left, and - any defined manual-bookmarks are accessable by - . When loading a DVIfile for the first time, a new - file-bookmark will be generated. This will be setup - with default values from the command-line options and - won't contain any manual-bookmarks. - - Killing a DVIfile: - To kill a DVIfile means to kill its file-bookmark and - any related manual-bookmark. Killing a DVIfile won't - hurt the file itself. You don't have to kill a - DVIfile just to load another one. - - Quit tmview - - When quitting, a startup-file will be written. When - running tmview next time, you will find almost - everything as you left it. - - -********************************************************** -End of help*********************************************** -\n\n\n" +#define HELPSTR "\n" \ +"LIST OF COMMANDS WITH TYPICAL ARGUMENTS ************ V 01.03\n" \ +"\n" \ +" / goto previous/next page \n" \ +"(NUM) goto page NUM w.r.t. TeX-counters\n" \ +" /// scroll the visible area\n" \ +" / make scrolling finer/coarser\n" \ +" center visible area\n" \ +" <+>/<-> zoom in/out\n" \ +"(NUM) set zoom-factor to NUM\n" \ +"\n" \ +" set a bookmark\n" \ +" move to a bookmark\n" \ +" <^> move back\n" \ +"\n" \ +" display options \n" \ +" toggle statusline-information\n" \ +" set unit of measurement\n" \ +"\n" \ +" show/hide screenmark and pagemark\n" \ +" set pagemark at screenmark position\n" \ +" show/hide marked rectangle\n" \ +"

show/hide printable area\n" \ +" set page-offset and -size\n" \ +"\n" \ +" show/hide half-hyper-tex-mark\n" \ +" move to next href\n" \ +" follow current href\n" \ +"\n" \ +" search for text\n" \ +" <*> re-read DVIfile, fonts, eps-figures\n" \ +" load/kill DVIfile\n" \ +" quit tmview\n" \ +"\n" \ +"\n" \ +"GENERAL USAGE *******************************************\n" \ +"\n" \ +"When everything is setup right, visiting a DVIfile with\n" \ +"tmview just means to navigate the visible area along that\n" \ +"file, using the cursor-keys. Some of the following\n" \ +"commands obviously require an argument, f.e. .\n" \ +"Arguments are to be entered BEFORE executing a command.\n" \ +"When executed by hitting the corresponding uppercase key,\n" \ +"you will be asked for the argument. While the\n" \ +"user-interface of tmview is meant to save keystrokes, it\n" \ +"is not too intuitive. You may either read the following\n" \ +"instructions, or just do .\n" \ +"\n" \ +"The cursor-keys and are taken as \n" \ +"resp. . The keys and select the first\n" \ +"resp. the last page. The cursor-keys \n" \ +"and do resp. . All in all this\n" \ +"means, that the cursor-keys do what they are meant to.\n" \ +"\n" \ +"When a mouse is connected, it moves any visible mark. When\n" \ +"the right or left mousebutton is no good for anything\n" \ +"else, moving the mouse while holding that button acts on\n" \ +"the visible area instead. (That sounds bad, but works out\n" \ +"fine) When the screenmark is shown (see ), the left\n" \ +"mouse-button sets the pagemark (see ) and the right\n" \ +"button marks a rectangle (see ). When the\n" \ +"half-hyper-mark is shown, the left mouse-button follows\n" \ +"the current href, if any.\n" \ +"\n" \ +"*********************************************************\n" \ +"NON-INTUITIVE USER-INTERFACE ****************************\n" \ +"*********************************************************\n" \ +"\n" \ +"To explain the way tmview expects to receive commands, a\n" \ +"short nomenclature used in the sequel is given:\n" \ +" \n" \ +"Any text within `<' and `>' represents a single keystroke,\n" \ +"while `(' and `)' mark the beginning resp. the end of a\n" \ +"string to enter. So is about to hit the key named `h'\n" \ +"and (25.4) could stand for <2><5> <.><4>. The carriage-\n" \ +"return-key is referred by , the backspace-key or \n" \ +"delete-key by and the escape-key by . Almost \n" \ +"whenever a string is expected by tmview, you may use \n" \ +"to remove the last character you typed. So even\n" \ +"<2><5><6><.><4> results in (25.4). Note that a string\n" \ +"does not need to be terminated by . To simplify a\n" \ +"reference to a string, in this text any uppercase letters\n" \ +"within `(' and `)' are not meant as a string, but as the\n" \ +"name of some string. So we may read something like\n" \ +"`(PP) scrolls PP percent to the left' as `typing in any\n" \ +"number just before results in scrolling left according\n" \ +"to that number'.\n" \ +"\n" \ +"\n" \ +"COMMANDS AND ARGUMENTS***********************************\n" \ +"\n" \ +"A command is executed by typing its name, which consists\n" \ +"of a single character. Some of the above listed commands\n" \ +"take numerical arguments. Arguments are always\n" \ +"optional. They may be entered before executing the\n" \ +"command. Multiple arguments are separated by <,> or\n" \ +"<;>. If no argument is passed, a default is used. If an\n" \ +"argument is passed, it serves as the default for following\n" \ +"commands. Commands doing similar things share the same\n" \ +"default arguments.\n" \ +"\n" \ +"Example: \n" \ +"Typing (10) results in scrolling 10% to the left and\n" \ +"sets the default for any scrolling commands to 10%. Thus\n" \ +"typing afterwards results in scrolling 10% to the\n" \ +"right.\n" \ +"\n" \ +"\n" \ +"MAGIC ARGUMENT*******************************************\n" \ +"\n" \ +"As a special argument some commands accept the magic\n" \ +"argument <*>. It is used either to vary the command in\n" \ +"some way or to get the arguments from another place. <#>\n" \ +"is equivalent to <*> and saves you from holding down the\n" \ +"shift-key on some keyboards.\n" \ +"\n" \ +" for example centers the visible area. It excepts as\n" \ +"argument the point which will be taken as origin. Since\n" \ +"this will become the default for a future , you may\n" \ +"measure out the origin only once. Even quicker it is to\n" \ +"position the visible area by scrolling and then to do a\n" \ +"<*>. This results in taking the current position as\n" \ +"centered and so as default for a coming .\n" \ +"\n" \ +"As another example look at the command , which moves\n" \ +"pages forward, according to a given argument resp. a\n" \ +"default. By moving on the next page there are two modi\n" \ +"available: 1. keep the visible area; 2. do center like\n" \ +". <*> toggles between these two modi. So in this\n" \ +"case <*> acts as a kind of flag argument.\n" \ +"\n" \ +"\n" \ +"\n" \ +"SELECTING THE PAGE****************************************\n" \ +"\n" \ +"/ Select a page relative to the current page. \n" \ +"\n" \ +" moves towards the beginning of the DVIfile, while\n" \ +" moves towards the end. A single argument (N) may\n" \ +" specify the amount of movement in pages. However, (N)\n" \ +" will NOT become the default value. The argument is (*), \n" \ +" the page-moving-mode is toggled. See above. \n" \ +"\n" \ +" Example: \n" \ +" (1) selects the previous page selects the next\n" \ +" page\n" \ +"\n" \ +" Select a page with respect to TeX counters. \n" \ +"\n" \ +" A list of ten arguments (COUNT0; COUNT1; ... COUNT9)\n" \ +" specifies the page to be selected. <*> may be used as\n" \ +" wildcard. If there are more than one but less than ten\n" \ +" arguments given, the others will be taken as <*>.\n" \ +"\n" \ +" Example: \n" \ +" (26) selects the first page after the current page\n" \ +" with a value of 26 in \\count0.\n" \ +"\n" \ +"\n" \ +"\n" \ +"MOVING AROUND ON CURRENT PAGE ******************************\n" \ +"\n" \ +"/// Scrolling the visible area\n" \ +"\n" \ +" A single argument (PP) may be used to specify the\n" \ +" amount of scrolling in percent of the\n" \ +" screen-width. / resp. /down> both accept\n" \ +" the argument (*) to toggle between: 1. stay on the\n" \ +" current page; 2. scroll over pages. When scrolling\n" \ +" over pages, you may view the whole document while\n" \ +" using only the single key .\n" \ +"\n" \ +" Example:\n" \ +" (20) scrolls 1/5 to the left. \n" \ +"\n" \ +"/ Make scrolling finer/coarser\n" \ +"\n" \ +" These commands change the default argument for the\n" \ +" above scrolling- commands. So and don't move\n" \ +" the visible area at all, but they change the way the\n" \ +" scrolling-commands act.\n" \ +"\n" \ +" Center the visible area\n" \ +"\n" \ +" Without any argument centers horizontally only,\n" \ +" while centers in both directions.\n" \ +" When two arguments (X,Y) are given, they describe\n" \ +" the point on the page, which will become the middle\n" \ +" of the visible area. When the argument (*) is given,\n" \ +" the current position is taken as centered. When the\n" \ +" screenmark is shown (see below ), and the\n" \ +" argument (*) is given, the position of the\n" \ +" screenmark becomes the center. This does move the\n" \ +" visible area, but it does not move the screenmark.\n" \ +"\n" \ +"\n" \ +"ZOOMING ****************************************************\n" \ +"\n" \ +" Set the zoom-factor\n" \ +" \n" \ +" This command requires one argument (F) which must be\n" \ +" between 0.05 and 2. F will become the zoom-factor\n" \ +" and the visible-area will be redrawn. Use (*) to \n" \ +" adjust the zoom-factor such that the page horizontaly \n" \ +" fits the visible-area.\n" \ +"\n" \ +" If the zoom-factor is 1, the pixels found in pk-files \n" \ +" are just copied one by one to the screen. Since the\n" \ +" resolution of our days screens seems to be less than\n" \ +" that of our days printers, and since you may still\n" \ +" want to use the same pk-files for printing and\n" \ +" viewing, F=1 usually results in a magnification. So\n" \ +" when you're just reading some text in some DVIfile\n" \ +" you will set F to something like 0.3, depending on\n" \ +" the involved resolutions. When the screenmark is\n" \ +" visible (see ) the position of the screenmark is\n" \ +" taken as the origin of zooming, i.e. it is fixed. \n" \ +" When the screenmark is not visible, the middle of the \n" \ +" screen is fixed. The current zoom-factor is displayed \n" \ +" in the optional statusline, see .\n" \ +"\n" \ +" There are two zooming modi. The integer modus \n" \ +" requieres 1/f to be an integer. This modus is quite \n" \ +" fast, so good values are F=0.5, 0.333, 0.25, 0.2, \n" \ +" 0.167 etc. The good thing about the slow modus is, \n" \ +" that it allows you to choose the zoom-factor \n" \ +" arbitrary (between 0.05 and 2). So poor students with \n" \ +" small screens might find some optimum to make the \n" \ +" text fit and still be readable. The bad thing about \n" \ +" the slow modus is that it is slow. But since once \n" \ +" zoomed glyphs are kept in memory, this slowness only \n" \ +" hurts the first few pages after changing the\n" \ +" zoom-factor. Modus selection is done by the display \n" \ +" options . \n" \ +"\n" \ +"<+>/<-> Zoom in/out\n" \ +"\n" \ +" Increase/decrease the zoom-factor. When in the fast\n" \ +" modus, step through the fast values only (see\n" \ +" above). When an argument (PP) is given, it is taken\n" \ +" as the amount of increasing/decreasing in percent of\n" \ +" the current zoom-factor. This is likely to result in\n" \ +" the slow modus.\n" \ +"\n" \ +"\n" \ +"BOOKMARKS **************************************************\n" \ +"\n" \ +"A bookmark remembers what is seen on the screen. That is\n" \ +"the DVIfile, the page within that file, the position of the\n" \ +"visable area and the zoom-factor. There are three kind of\n" \ +"bookmarks ...\n" \ +"\n" \ +"file-bookmarks:\n" \ +"Each file visited has a file-bookmark, containing the above\n" \ +"information about what was seen on the screen when visited\n" \ +"the last time, plus some information on the file, that is\n" \ +"the paper-offset and -position, the location of the\n" \ +"printable-area. file-bookmarks are generated automaticly.\n" \ +"This results in easy re-visiting a DVIfile: you'll find it\n" \ +"as left. A file-bookmark is removed by killing the DVIfile\n" \ +"with , see below.\n" \ +"\n" \ +"back-bookmarks:\n" \ +"When searching a text-string, following a href or moving to\n" \ +"a bookmark, the position within the DVIfile might be\n" \ +"changed to somewhere far far away. To simplify recovering\n" \ +"fromsuch excursions, a back-bookmark will be generated\n" \ +"automaticly. To prevent getting fed up with thousands of\n" \ +"back-bookmarks, the total number of theese is limited. See\n" \ +"<^> below.\n" \ +"\n" \ +"manual-bookmarks:\n" \ +"After all you may install your own bookmarks, marking often\n" \ +"visited places, say in some manuals. manual-bookmarks are\n" \ +"named by a number. This number has to be unique whithin\n" \ +"the DVIfile they belong to. To define a manual-bookmark\n" \ +"use . Since manual-bookmarks belong to the DVIfile they\n" \ +"are defined on, they get lost, when that DVIfile is killed\n" \ +"by .\n" \ +"\n" \ +"All kind of bookmarks are kept in a ring-buffer. There is a\n" \ +"so called current bookmark of each type. Visiting the\n" \ +"bookmarks along the ring-buffer is done by for file-\n" \ +"and manual-bookmarks, while <^> acts on back-bookmarks.\n" \ +"\n" \ +" Define/undefine manual-bookmark. \n" \ +"\n" \ +" When the current position is not already defined as\n" \ +" a manual-bookmark, defines one. When an single\n" \ +" numeric argument (NUM) is given, NUM will be the\n" \ +" name of the newly defined bookmark. With no\n" \ +" argument, a name will be generated automaticly. See\n" \ +" below, for how to visit manual-bookmarks. When\n" \ +" the current position is already defined as a\n" \ +" manual-bookmark, undefines that manual-bookmark.\n" \ +"\n" \ +" Move to bookmark.\n" \ +"\n" \ +" When a single numeric argument (NUM) is given, \n" \ +" moves to the manual-bookmark named NUM, if\n" \ +" any. Since manual bookmarks are bound to DVIfiles,\n" \ +" the current DVIfile will never change in that\n" \ +" case. If no argument is given, goes moves the\n" \ +" postion either thrue the ring-buffer of\n" \ +" file-bookmarks or thrue the one of\n" \ +" manual-bookmarks. To toggle between theese two modi,\n" \ +" use the magic argument <*>.\n" \ +"\n" \ +"<^> Move back\n" \ +" \n" \ +" Move to the latest back-bookmark, if any. When a\n" \ +" single numeric argument (TOTAL) is given, keep the\n" \ +" TOTAL latest back-bookmarks and discard all the\n" \ +" others.\n" \ +"\n" \ +"\n" \ +"CHOOSING WHAT'S ON THE DISPLAY *****************************\n" \ +"\n" \ +" Display options\n" \ +"\n" \ +" This command collects a number of general options \n" \ +" on how the things get on the screen. Use the cursor\n" \ +" keys (or ///) to navigate.\n" \ +"\n" \ +" > Greyscales. When the zoom-factor is less than 1, \n" \ +" the glyphs may be displayed using grey-levels, making \n" \ +" them more smooth. This takes some memory, so you are \n" \ +" allowed to switch it off. On high-res displays there \n" \ +" is no need for greyscaling anyway.\n" \ +"\n" \ +" > Eps-rendering. There is limited support for \n" \ +" rendering eps-files by running ghostscript. However, \n" \ +" this sometimes is quite slow and memory intensive, so \n" \ +" you may turn it off. If rendering is enabled the \n" \ +" results are buffered. Hence, if the eps-files are \n" \ +" updated by some graphics program, you need to do a \n" \ +" <*> to force rerendering. To disable certain \n" \ +" eps-files individually, abort the rendering process \n" \ +" by .\n" \ +"\n" \ +" > Double-page. There is also limited support for \n" \ +" viewing two pages beside each other. Again their\n" \ +" is some memory required to keep it all buffered.\n" \ +" You may disable double paged viewing entirely. You\n" \ +" may let tmview deceide on basis of the zoom-factor.\n" \ +" Or you may permanently enable this feature.\n" \ +"\n" \ +" > Zooming. There is a fast zooming mode allowing\n" \ +" only zomming by 1/f where f is required to be an\n" \ +" integer. And there is an arbitrary mode to be\n" \ +" selected.\n" \ +"\n" \ +" Toggle statusline-information\n" \ +"\n" \ +" While the standard statusline shows you the\n" \ +" page-number of the current page and the arguments\n" \ +" you are about to enter, you may select optional\n" \ +" information for measuring out distances and so. See\n" \ +" below.\n" \ +"\n" \ +" Set unit of measurement\n" \ +"\n" \ +" Whenever you specify arguments which are to describe\n" \ +" a point on the page, this is done w.r.t. a unit of\n" \ +" measurement, i.e. cm, mm, a.s.o.. This unit is also\n" \ +" used, when the position of a mark is displayed in\n" \ +" the statusline.\n" \ +"\n" \ +"\n" \ +"MEASURING **************************************************\n" \ +"\n" \ +"To allow you to measure distances on the page, there are\n" \ +"two marks, the screenmark, which is fixed on the physical\n" \ +"screen you're looking at, and the pagemark, which is fixed\n" \ +"on the DVIfiles page. When you move the visible-area, the\n" \ +"screenmark acts as drawn with edding on your monitor. The\n" \ +"pagemark acts as drawn on the page. The optional statusline\n" \ +"tells the position of the pagemark relative to the corner\n" \ +"of the sheet of paper you're viewing. It also tells the\n" \ +"position of the screenmark relative to the pagemark. To\n" \ +"measure distances you first may switch this marks on, using\n" \ +". When the marks are shown, the scrolling commands don't\n" \ +"act on the visible area anymore, but move the screenmark. \n" \ +"For that case only moving the screenmark at the boarder of\n" \ +"the screen results in scrolling. To move the pagemark just\n" \ +"move the screenmark at the desired position and use to\n" \ +"make the pagemark follow.\n" \ +" \n" \ +" Show/hide screenmark and pagemark\n" \ +"\n" \ +" This commands takes the two arguments\n" \ +" (PM_X;PM_Y). The pagemark is put at position PM_X\n" \ +" PM_Y w.r.t. the upper left corner of the page. The\n" \ +" Screenmark may be moved with the scrolling-commands.\n" \ +"\n" \ +" Set pagemark at the position of the screenmark\n" \ +" \n" \ +"Beside of these marks there are three rectangles for\n" \ +"measurement. First there is the boarder of the paper setup\n" \ +"by the command-line options -h,-v and -p. Then there is\n" \ +"the printable area, setup with the -k command-line option.\n" \ +"Third the so called marked rectangle used.\n" \ +"\n" \ +" Show/hide marked rectangle\n" \ +"\n" \ +" The four arguments (LEFT,TOP,WIDTH,HIGHT) specify\n" \ +" the position on page an the size of the marked\n" \ +" rectangle. When pagemark and screenmark are shown,\n" \ +" their positions are used as default. When they are\n" \ +" hidden, the last position of the marked rectangle is\n" \ +" used as default.\n" \ +"\n" \ +"

Show/hide printable area \n" \ +" \n" \ +" The four arguments (LEFT,RIGHT,TOP,BOTTOM) specify\n" \ +" the margins of the printable area, w.r.t. the\n" \ +" boarder of the page. When pagemark and screenmark\n" \ +" are shown, the argument (*) sets the printable area\n" \ +" to the rectangle described by screenmark and\n" \ +" pagemark. When they are hidden, (*) takes the\n" \ +" command-line-options resp. defaults -k of the\n" \ +" printable area.\n" \ +"\n" \ +" Set paper-offset and -size \n" \ +"\n" \ +" The four arguments (HOFF;VOFF;WIDTH;HEIGHT) specify\n" \ +" the boarder of the page. Have the top-left corner of\n" \ +" a sheet of paper in mind. Then (HOFF,VOFF) is the\n" \ +" offset of the DVIfile's origin to the left boarder\n" \ +" of the paper. Standard values are\n" \ +" HOFF=VOFF=2.54cm. WIDTH and HEIGHT are the width and\n" \ +" the height of the sheet of paper. The sheet of paper\n" \ +" is represented only by a frame on the screen. It\n" \ +" does not affect the drawing of the DVIfile.\n" \ +"\n" \ +" When pagemark and screenmark are shown, the argument\n" \ +" (*) sets the boarder of the page to the rectangle\n" \ +" described by screenmark and pagemark. When they are\n" \ +" hidden, (*) takes the command-line-options\n" \ +" resp. defaults -h,-v and -p.\n" \ +"\n" \ +"\n" \ +"HALF-HYPER *************************************************\n" \ +"\n" \ +"tmview does some of the fancy hyper-tex things. I talk\n" \ +"about HALF-hyper-tex, because tmview follows only links\n" \ +"which point to somewhere within the currently visited\n" \ +"dvi-file. So there is no connection to the net or so. But\n" \ +"you might find it usefull (when editing a major project) to\n" \ +"view an equation number this-and-that by clicking on\n" \ +"this-and-that whereever the text refers to that equation.\n" \ +"For information about hyper-tex, related macropackages and\n" \ +"fully compatible viewer scan the net ...\n" \ +"\n" \ +" Show/hide half-hyper-mark\n" \ +" Goto next href\n" \ +" Follow current href, if any \n" \ +"\n" \ +"\n" \ +"MISC *******************************************************\n" \ +"\n" \ +" Search for text\n" \ +"\n" \ +" You will be asked for the text-string to be searched.\n" \ +" You may enter a regular expression describing that\n" \ +" string, that includes especially just to enter the\n" \ +" string as it is.\n" \ +"\n" \ +" tmview will take the entire DVIfile as one huge\n" \ +" text-string and then search for the next substring,\n" \ +" fitting the regular expression you've enterd. Thereby\n" \ +" \"next\" is ment with respect to the current page.\n" \ +"\n" \ +" So far this sounds quite easy, but there are some ugly\n" \ +" details, based on the fact, that a DVIfile contains\n" \ +" information on how to draw a bitmap representing your\n" \ +" text. It does not contain information about from what\n" \ +" characters in which order your text is made up. Even\n" \ +" the PKfiles used to draw your text consist only of\n" \ +" lots of glyphs but no character-codes, like ASCII or\n" \ +" so. Building a huge text-string from a DVIfile is some\n" \ +" kind of guessing.\n" \ +"\n" \ +" Fisrt: What kind of huge-string is build from the DVIfile?\n" \ +"\n" \ +" This string will consists of the letters ... ,\n" \ +" ... , the accent <\"> and the digits <0>\n" \ +" ... <9>. It does NOT contain anything else, like\n" \ +" , or <->:\n" \ +" Whenbeingprinteditwouldlooklikethisnotreadableatall. \n" \ +" Taking the DVIfile as huge string allows you to find\n" \ +" all locations of a sub-string, say\n" \ +" \"commandlineoptions\", even those that are seperarted\n" \ +" by linebreaks (and hyphens) or pagebreaks. In turn,\n" \ +" there is no chance to find all those locations, where\n" \ +" \"commandlineoptions\" is seperated by a hypenation. To\n" \ +" keep tmview from being confused by headings, there is\n" \ +" another rule for building up the huge text-string: any\n" \ +" glyph outside the printable area (see

) is\n" \ +" ignored. So you may setup the printable area to ignore\n" \ +" headings when searching.\n" \ +"\n" \ +" Second: How is the huge-string build up?\n" \ +"\n" \ +" To translate the list of glyphs found in the DVIfile\n" \ +" to a text-string, the tfm-files are asked for the\n" \ +" encoding-scheme. This does work with dc-fonts and\n" \ +" cm-fonts, since the following encoding-scheme names\n" \ +" are accepted: \"ASCII\", \"TeX text\", \"TeX math italic\",\n" \ +" \"TeX math symbols\", \"TeX typewriter text\", \"Extended\n" \ +" TeX Font Encoding - Latin\", \"Adobe StandardEncoding\".\n" \ +" The alphanumerics ..., ..., <0> ... <9>\n" \ +" are copied one by one to the huge text-string. Glyphs\n" \ +" that \"look like\" a simple alphanumeric will be taken\n" \ +" as that one it looks like. So the Tex input '\\c o',\n" \ +" producing an 'o'-with-an-cedilla-accent, will be\n" \ +" represented as a simple (o) in the text-string. This\n" \ +" rule also works for all kind of ligatures. The TeX\n" \ +" input 'ffl\\AE' will be represented by (fflAE). Any\n" \ +" accent ON TOP of a glyph will be translated to a (\"),\n" \ +" preceding whatever the glyph without that accent would\n" \ +" be translated to. The TeX input '\\\"a' producing the\n" \ +" german umlaut 'a'-with-two-dots-on-top, will be found\n" \ +" as (\"a) in the generated text-string. The TeX input\n" \ +" '\\aa' producing the scandinavian\n" \ +" 'a'-with-circle-on-top will be found as (\"a) too. Any\n" \ +" other glyphs are ignored.\n" \ +"\n" \ +" Third: In what does the above result?\n" \ +"\n" \ +" Visiting english documents, say manuals to some\n" \ +" computer related stuff like elisp.dvi, searching for\n" \ +" keywords works fine. Searching in documents in which\n" \ +" extensive use of accents and funny characters is made\n" \ +" works too, but requires some luck or/and experiance in\n" \ +" how TeX acts on such things.\n" \ +"\n" \ +"\n" \ +" Example: \n" \ +"\n" \ +" Take the file story.tex from the TeXbook, chapter 6, \n" \ +" page 24. It contains the line\n" \ +" galaxy called \\\"O\\\"o\\c c,\n" \ +" The text-string build from the corresponding story.dvi\n" \ +" will therfore contain\n" \ +" galaxycalled\"O\"oc\n" \ +" You may search for ... getting as result ...\n" \ +" galaxy found\n" \ +" galaxycalled found\n" \ +" galaxy called not found\n" \ +" d\" found\n" \ +" galaxy.*\"O\"oc found\n" \ +" Ooc not found\n" \ +" \n" \ +" \n" \ +" Re-read current DVIfile and re-draw screen.\n" \ +"\n" \ +" Note: will not re-initialize the fontdatabase,\n" \ +" nor the buffer for rendered eps-figures. To force\n" \ +" everything beeing re-read, use (*).\n" \ +"\n" \ +"\n" \ +" Load/kill DVIfile\n" \ +"\n" \ +" After typing you may select between to load a \n" \ +" DVIfile and to kill a DVIfile. \n" \ +" \n" \ +" Loading a DVIFile: \n" \ +"\n" \ +" tmview will look for a file-bookmark belonging to that\n" \ +" file. If there is one, it becomes the current\n" \ +" file-bookmark. The DVIfile will be shown as left, and\n" \ +" any defined manual-bookmarks are accessable by\n" \ +" . When loading a DVIfile for the first time, a new\n" \ +" file-bookmark will be generated. This will be setup\n" \ +" with default values from the command-line options and\n" \ +" won't contain any manual-bookmarks.\n" \ +"\n" \ +" Killing a DVIfile:\n" \ +" To kill a DVIfile means to kill its file-bookmark and\n" \ +" any related manual-bookmark. Killing a DVIfile won't\n" \ +" hurt the file itself. You don't have to kill a\n" \ +" DVIfile just to load another one.\n" \ +"\n" \ +" Quit tmview \n" \ +" \n" \ +" When quitting, a startup-file will be written. When\n" \ +" running tmview next time, you will find almost\n" \ +" everything as you left it.\n" \ +"\n" \ +"\n" \ +"**********************************************************\n" \ +"End of help***********************************************\n" \ +"\n\n\n" char helpstr[]=HELPSTR; --- tmview-01.03.orig/src/readpk.c +++ tmview-01.03/src/readpk.c @@ -752,10 +752,10 @@ theChar->bmp2.h = CEIL(theChar->bmp.h / fshrink) +2; if(firstrows<=0 || firstcols<=0) - pfprot("IMPORTANT DEBUGINFORMATION -break with fro %d fco %d -fshr %f hof %d vof %d hof2 %d vof2 %d\n",firstrows,firstcols, - fshrink,theChar->hof,theChar->vof,theChar->hof2,theChar->vof2); + pfprot("IMPORTANT DEBUG INFORMATION\n" + "break with fro %d fco %d\n" + "fshr %f hof %d vof %d hof2 %d vof2 %d\n",firstrows,firstcols, + fshrink,theChar->hof,theChar->vof,theChar->hof2,theChar->vof2); theChar->bmp2.type=GREYSCALE; @@ -877,8 +877,8 @@ exit(1); } -/*pfprot("DEBUG -fshr %f hof %d vof %d hof2 %d vof2 %d\n", +/*pfprot("DEBUG\n" + "fshr %f hof %d vof %d hof2 %d vof2 %d\n", fshrink, theChar->hof,theChar->vof,theChar->hof2,theChar->vof2); pfprot("srcw %d srch %d destw %d desth %d \n", theChar->bmp.w,theChar->bmp.h,theChar->bmp2.w,theChar->bmp2.h); */ @@ -902,8 +902,8 @@ topweight=1-(CEIL(fi)-fi); botweight=1-((fi-frows)-FLOOR(fi-frows)); - /* pfprot("\nrow info at fi %f -fr %f tw %f bw %f oy %d oh %d iy %d ih %d\n", + /* pfprot("\nrow info at fi %f\n" + "fr %f tw %f bw %f oy %d oh %d iy %d ih %d\n", fi,frows,topweight,botweight,oy,oh,iy,ih); */ m= BITS_PER_BMUNIT -GREYSCALE; @@ -919,8 +919,8 @@ ix=MIN(CEIL(fj)+theChar->hof,theChar->bmp.w); iw=MAX(0,MIN(FLOOR(fj+fcols)-CEIL(fj),theChar->bmp.w-ix)); - /*pfprot(" col info at fj %f - fc %f ox %d ow %d ix %d iw %d\n",fj,fcols,ox,ow,ix,iw);*/ + /*pfprot(" col info at fj %f\n" + "fc %f ox %d ow %d ix %d iw %d\n",fj,fcols,ox,ow,ix,iw);*/ leftweight=1-(fj-FLOOR(fj)); rightweight=1-(CEIL(fj+fcols)-fj-fcols); @@ -1039,10 +1039,10 @@ theChar->bmp2.h = CEIL(theChar->bmp.h / fshrink) +2; if(firstrows<=0 || firstcols<=0) - pfprot("IMPORTANT DEBUGINFORMATION -break with fro %d fco %d -fshr %f hof %d vof %d hof2 %d vof2 %d\n",firstrows,firstcols, - fshrink, theChar->hof,theChar->vof,theChar->hof2,theChar->vof2); + pfprot("IMPORTANT DEBUG INFORMATION\n" + "break with fro %d fco %d\n" + "fshr %f hof %d vof %d hof2 %d vof2 %d\n",firstrows,firstcols, + fshrink, theChar->hof,theChar->vof,theChar->hof2,theChar->vof2); theChar->bmp2.w = CEIL(theChar->bmp.w / fshrink) +2; --- tmview-01.03.orig/lX/writelx.c +++ tmview-01.03/lX/writelx.c @@ -129,9 +129,9 @@ if(ibytes_per_pixel == 3) ibytes_per_pixel =4; if(ibytes_per_pixel != IBYTES_PER_PIXEL) { - pfprot("\n -warning: display: found %d-bit depth while optimized for %d-bit. - Recompile for better performance.\n", offimage->depth, IBYTES_PER_PIXEL*8); + pfprot("\n" + "warning: display: found %d-bit depth while optimized for %d-bit.\n" + "Recompile for better performance.\n", offimage->depth, IBYTES_PER_PIXEL*8); setvar(); } else { pfverb("writelx: using built in %d-bit pixmap functions on a %d-bit display\n",