summaryrefslogtreecommitdiff
path: root/bk_info.c (follow)
Commit message (Collapse)AuthorAge
* Silence compiler warnings on OS X 10.9.Simon Tatham2014-03-30
| | | | [originally from svn r10166]
* Add \s for 'strong' text, i.e. bold rather than italics. I've missedSimon Tatham2013-03-10
| | | | | | | | | | | | | | this a couple of times in Halibut markup recently (in particular, it's handy to have a typographical distinction between 'this term is emphasised because it's new' and 'this term is emphasised because I want you to pay attention to it'), so here's an implementation, basically parallel to \e. One slight oddity is that strong text in headings will not be distinguished in some output formats, since they already use bolded text for their headings. [originally from svn r9772]
* Revamp of the Halibut error handling mechanism.Simon Tatham2012-08-29
| | | | | | | | | | | | | | | | I'm not quite sure why I ever thought it was a good idea to have a central variadic error() function taking an integer error code followed by some list of arguments that depend on that code. It now seems obvious to me that it's a much more sensible idea to have a separate function per error, so that we can check at compile time that the arguments to each error call are of the right number and type! So I've done that instead. A side effect is that the errors are no longer formatted into a fixed-size buffer before going to stderr, so I can remove all the %.200s precautions in the format strings. [originally from svn r9639]
* List some documentation sources, and another todo item.Ben Harris2007-04-08
| | | | [originally from svn r7454]
* Remove heading underlines from todo list.Ben Harris2007-04-08
| | | | [originally from svn r7453]
* Add support for doing different underlining of different heading levelsBen Harris2007-04-08
| | | | | | | in the Info backend, with the defaults chosen to match what Emacs recognises and renders prettily. [originally from svn r7452]
* Another observation about indices.Ben Harris2007-04-08
| | | | [originally from svn r7451]
* A few thoughts I had while actually using Halibut's Info output.Ben Harris2007-04-07
| | | | [originally from svn r7449]
* Introduce global (cross-backend) \cfg{contents} and \cfg{index}Simon Tatham2006-06-02
| | | | | | | commands, allowing the fixed words "Contents" and "Index" generated in various output formats to be reconfigured into other languages. [originally from svn r6724]
* Ability to specify multiple arguments to \cfg{html-template-fragment};Jacob Nevins2005-03-08
| | | | | | | | | | | | | | | Halibut will output fragment names in all specified formats. (I forget now precisely why I thought this was necessary, but it seems potentially useful.) Also ensure that legal fragment names are generated even if none of the characters from the original turn out to be legal (e.g., %k with an entirely numeric keyword), and correct an untruth I inserted in the documentation of this. (This commit hits more than just the HTML backend as I've generalised an error message, and fixed a fault in the info backend's error handling while there.) [originally from svn r5457]
* Make sure (paragraph)->private_data is defined in all cases, on generalJacob Nevins2004-08-06
| | | | | | | principles (it may be unnecessary). Perhaps we should do this for (word)->private_data too. [originally from svn r4412]
* Fix crash in Info backend: if a \[Kk] to a \B or \n was followed in aJacob Nevins2004-08-06
| | | | | | paragraph by another \[Kk], Bad Things would happen. [originally from svn r4411]
* Sort out error handling everywhere a charset name is converted intoSimon Tatham2004-06-27
| | | | | | an integer charset ID. [originally from svn r4317]
* Switch the memory allocation macros from the Halibut onesSimon Tatham2004-06-12
| | | | | | | | | | | | | (mknew/mknewa/resize) to the PuTTY ones (snew/snewn/sresize). snewn and mknewa have their arguments opposite ways round; this may make the change initially painful but in the long term will free me of a nasty context switch every time I move between codebases. Also sresize takes an explicit type operand which is used to cast the return value from realloc, thus enforcing that it must be correct, and arranging that if anyone tries to compile Halibut with a C++ compiler there should be a lot less pain. [originally from svn r4276]
* General configurability upgrade for the info back end.Simon Tatham2004-04-23
| | | | [originally from svn r4131]
* bk_text and bk_info both need to know the on-screen width ofSimon Tatham2004-04-22
| | | | | | | | | | | | characters in order to wrap and align them properly. Therefore, they should be using wcwidth(). So here are a couple of wrappers on wcwidth(), one which filters out the Unicode characters not representable in the target charset, and one which converts _from_ a charset to Unicode before calling wcwidth(). bk_text and bk_info should now align correctly even in the face of unsupported characters and Japanese. [originally from svn r4116]
* Charset support for the info backend (\cfg{info-charset}). (ThisSimon Tatham2004-04-21
| | | | | | | checkin touches other files because a function in bk_text.c turned out to be of more general use so I moved it out into ustring.c.) [originally from svn r4111]
* Infrastructure changes for character set support. ustrtoa,Simon Tatham2004-04-20
| | | | | | | | | | | ustrfroma, utoa_dup and ufroma_dup now take a charset parameter, and also have a variety of subtly distinct forms. Also, when a \cfg directive is seen in the input file, the precise octet strings for each parameter are kept in their original form as well as being translated into Unicode, so that when they represent filenames they can be used verbatim. [originally from svn r4097]
* Better robustness when backends encounter a Unicode character notSimon Tatham2004-04-19
| | | | | | representable in the output character set. [originally from svn r4094]
* Initial work on PS and PDF output. Because these two backends shareSimon Tatham2004-04-13
| | | | | | | | | | | | | | | | | | | an enormous amount of preprocessing and differ only in their final output form, I've introduced a new type of layer called a `pre-backend' (bk_paper.c is one). This takes all the information passed to a normal backend and returns an arbitrary void *, which is cached by the front end and passed on to any backend(s) which state a desire for the output of that particular pre-backend. Thus, all the page layout is done only once, and the PS and PDF backends process the same data structures into two output files. Note that these backends are _very_ unfinished; all sorts of vital things such as section numbers, list markers, and title formatting are missing, the paragraph justification doesn't quite work, and advanced stuff like indexes and PDF interactive features haven't even been started. But this basic framework generates valid output files and is a good starting point, so I'm checking it in. [originally from svn r4058]
* The Emacs and Jed info readers don't like my index format: Info menuSimon Tatham2004-04-10
| | | | | | | | | | | | | | | items of the form `* stuff: Section 1.2.' are parsed by standalone info as `Section 1.2' followed by a period, but are parsed by other readers as `Section 1' followed by a period and then some spare text. Therefore, I've changed strategy, and the index is now full of *Note cross-references rather than menu items. On the plus side, this means there are no longer any special characters which we can't tolerate in an index entry; on the minus side, my shiny new infrastructure for tracking the filepos of index entries is now rendered pointless. I'll leave it in, though, since it may come in handy again. [originally from svn r4053]
* Info backend now takes care to avoid magic characters in node namesSimon Tatham2004-04-10
| | | | | | | | | | and index terms (the Info format doesn't like them). In the course of this I've had to introduce some infrastructure for carrying a filepos forward from the definition of every RHS index term so that a particular backend can provide a usefully localised report of which index term had a problem. [originally from svn r4051]
* Add a config directive to generate the INFO-DIR-ENTRY things thatSimon Tatham2004-04-09
| | | | | | appear to be used to automatically construct /usr/info/dir. [originally from svn r4049]
* Added an info(1) backend, which constructs .info files directlySimon Tatham2004-04-09
without going through the .texi source stage. A few things left to do, notably documentation, but the basics all seem to be there. [originally from svn r4047]