9.56.1
New PDF Interpreter is now enabled by default: See Changes Coming to the PDF Interpreter
libgs is now threadsafe
The PSD output devices now write ICC profiles to their output files for improved color fidelity.
Ghostscript/GhostPDL can now output Apple Raster and URF format image files: via the "appleraster" or "urf" output devices (using the cups implementation of those formats).
Version 55.0
------------
Released on 2022-05-12.
This version also includes the changes from unstable b1 version listed
below.
Bug fixes:
* Fix the vertical position and available height of absolute boxes
* Minor fixes for multi-column layout
* Don’t stop rendering SVG when CSS parsing fails
* Fix sequential footnotes that could disappear when overflowing
* Fix position of absolute boxes with right-to-left direction
* Fix relative paths for SVG files stored as data URLs
Version 55.0b1
--------------
Released on 2022-04-15.
**This version is experimental, don't use it in production. If you find bugs,
please report them!**
Dependencies:
* Python 3.7+ is now needed, Python 3.6 is not supported anymore
Features:
* Support ``word-break: break-all``
* Support column breaks
* Allow reproducible PDF generation
Bug fixes:
* Handle ``inherit`` in shorthand properties
* Space out no-repeat patterns
* Avoid invalid PDF operators when drawing SVG text
* Don’t output footnotes before their call sites
* Prevent infinite loops in multi-column layout
* Fix position of absolute boxes in right-to-left contexts
* Draw borders around absolute replaced boxes
* Fix skip stacks for columns
* Better support of nested ``text-decoration`` properties
* Fix absolute blocks in lines
* Clear adjoining margins when a container’s child doesn’t fit
Performance:
* Improve tests speed
* Improve fonts management
* Improve column layout speed
* Cache ``ch`` and ``ex`` units calculations
Version 54.3
------------
Released on 2022-04-04.
Bug fixes:
* Support position: absolute in footnotes
* Fix discarded text-align values
Version 54.2
------------
Released on 2022-02-27.
Bug fixes:
* Always store parent blocks children as lists
* Fix float rounding errors
* Ignore unknown glyphs
* Fix line break when breaks occur between a nbsp and an inline block
* Always set the child index
* Fix patterns with use tags
Version 54.1
------------
Released on 2022-01-31.
Features:
* Handle break-inside: avoid on tr tags
Bug fixes:
* Handle absolute children in running elements
* Handle invalid values in text-align
* Handle absolute flex boxes
Version 54.0
------------
Released on 2022-01-08.
This version also includes the changes from unstable b1 version listed
below.
Bug fixes:
* Always use absolute paths to get hrefs in SVG
* Fix many rendering problems of broken tables
* Fix support of fonts with SVG emojis
Version 54.0b1
--------------
Released on 2021-12-13.
**This version is experimental, don't use it in production. If you find bugs,
please report them!**
Dependencies:
* html5lib 1.1+ is now needed.
New features:
* Support footnotes, with financial support from Code & Co.
* Handle parallel flows for floats, absolutes, table-cells
* Support ``text-align-last`` and ``text-align-all`` properties
* Draw SVG and PNG emojis
* Support ``overflow-wrap: anywhere``
* Add environment variable to set DLL folder on Windows
Performance:
* Cache SVG ``use`` tags
* Encode non-JPEG images as PNGs instead of JPEG2000s
Bug fixes:
* Don’t use ``text-transform`` text for content-based uses
* Don’t serialize and parse again inline SVG files
* Correctly handle whitespaces in bookmark labels
* Fix column height with ``column-span`` content
* Fix absolutely positioned boxes in duplicated pages
* Fix ``target-counter`` attribute in flex items
* Don’t draw empty glyphs
* Don’t crash when font size is really small
Documentation:
* Fix typo
Packaging:
* The source package does not include a ``setup.py`` file anymore.
### Added
- allow standard pdf/A-4
- check requirement for max-pdfversion
- add requirement for Info dictionary
- load tagpdf-base if it exists to provide the
tagging commands.
### Fixed
- Support/firstaid for colorspace package
- Support for metadata with hyperxmp and xetex
The code has been completely reorganized. The implementation documentation is
now completely in English and uses the new class koma-script-source-doc. This
class is based on version 3 of the doc package. Partially the order of the code
has changed. Some deprecated code parts have been removed completely, others
generate long overdue warnings.
scrartcl, scrbook, scrreprt:
Non-floating environments table- und figure- are also defined.
scrlttr2, scrletter:
The internal macros \if at plength, \@newplength, \@setplength, and \@addtoplength
are not only deprecated, which has been documented since KOMA-Script 3.25 from
2018/03/30, but also warn. If you haven't already done so, you should use the
user commands \Ifplength, \newplength, \setplength, and \addtoplength instead
urgently now!
CHANGES IN V1.28.15
- pdftops: In pdftops identify old LaserJets more precisely
for working around PostScript interpreter bugs, older
printers need Poppler, newer models need Ghostscript
CHANGES IN V1.28.14
- pdftopdf: Correct the output when suppressing auto-rotation
(option "nopdfAutoRotate"). Depending on the situation pages
got cropped in the wrong orientation or de-centered.
- pdftopdf: Correct the output when the
"orientation-requested" or the "landscape" option is
supplied. Output could be de-centered,
portrait-oriented pages be wrongly cropped and division of
the output page into cells for N-up done in the wrong
orientation.
- rastertopdf: In PCLm output mode the filter failed to
generate PCLm if the printer has no
"pclm-source-resolution-default" IPP attribute.
CHANGES IN V1.28.13
- pdftopdf: Fix N-up printing when paper is taken
long-edge-first by the printer.
- pdftopdf: Fix cropping ("print-scaling=none" and
"print-scaling=fill") when paper is taken long-edge-first by
the printer.
- pdftops: Use Poppler for all Apple LaserWriter models.
CHANGES IN V1.28.12
- imagetoraster, imagetopdf: Fixed comparison of the image
size with the page size for print-scaling=auto. The image
size in pixels was compared with the page size in PostScript
points (1/72 inch).
- imagetoraster, imagetopdf: Fixed the "print-scaling=none"
(crop-to-fit) mode, also use crop-to-fit always when
requested, do not fall back to fit-to-page when the image
size differs significantly from the page size.
- libcupsfilters: Changed the default PPI resolution for
images as input files from 128 to 200.
- implicitclass: Do not check availability of "gs" and
"pdftops" executables, instead, check by the presence of
"gstoraster" and "pdftoraster" filters whether we have
configured cups-filters for Ghostscript and/or Poppler use.
- libcupsfilters: In the PPD generator for the driverless
utility and cups-browsed add "*cupsFilter2: ..." lines for
all supported driverless data formats (PDF, Apple/PWG
Raster, PCLm), and add lines for legacy data formats (PCL,
PostScript) only if no driverless formats available.
- libcupsfilters: Always use encryption for ipps. RFC7472
requires that 'ipps' must be used over HTTPS, but the
driverless utility does not enforce encryption.
- serial: Add a 10-msec sleep and at the end add a tcdrain().
For some unknown reason, every printing file need sleep a
little time to make sure the serial printer receive data is
right.
- libcupsfilters: Fix resolver functions for DNS-SD-based
URIs, to make resolve_uri() also work when DEVICE_URI env
variable is set and to make ippfind_based_uri_converter()
not re-direct stdin.
- pdftopdf: Set default for print-scaling to avoid "should
never happem" log messages and undefined behavior.
- pdftopdf: Fix orientation-requested = 0. Consider
this as "automatic selection and not as error.
- pdftopdf: Fixed all combinations of print-scaling and
number-up for printers with asymmetric margins (top !=
bottom or left != right) and for input files containing
pages with different sizes and/or orientations. Fixes
backported from 2.x branch.
- pdftopdf: Add 2% tolerance for input size larger than output
page when "print-scaling=auto" or "print-scaling=auto-fit"
is used and too large input pages should be scaled, fitting
documents not. This prevents a random-looking behavior if
input and output page size seem to be equal, but in reality
there are slight differences between size dimensions.
CHANGES IN V1.28.11
- libcupsfilters: Let PPD generator take default ColorModel
from printer.
- Braille: In vectortopdf check inkscape version to call
inkscape with the correct command line.
- Build system: Make missing DejaVuSans.ttf non-fatal in
./configure as the font is only needed for test programs,
not for actual use of cups-filters.
- libcupsfilters: In imagetoraster() fixed crash with SGray.
- cups-browsed: Naming of local queues is matched to CUPS'
current naming of temporary queues (no leading or trailing
underscores), to avoid duplicates in print dialogs which
support CUPS' temporary queues.
- libcupsfilters: Make cupsRasterParseIPPOptions() work correctly
with PPDs (Issue #436).
- libcupsfilters: Let colord_get_profile_for_device_id() not
return empty file name, to avoid error messages in CUPS
error_log.
- foomatic-rip: Debug message was wrongly sent to stdout and
not to log
Changes in CUPS v2.4.1 (27th January 2022)
------------------------------------------
- The default color mode now is now configurable and defaults to the printer's
reported default mode
- Configuration script now checks linking for -Wl,-pie flags
- Fixed memory leaks - in testi18n, in `cups_enum_dests()`,
in `_cupsEncodeOption()` and `http_tls_upgrade()`
- Fixed missing bracket in de/index.html
- Fixed typos in configuration scripts
- Removed remaining legacy code for `RIP_MAX_CACHE` environment variable
- Removed deprecated directives from cupsctl and cups-files.conf
- Removed `purge-jobs` legacy code from CGI scripts and templates
Changes in CUPS v2.4.0 (29th November 2021)
-------------------------------------------
- Added configure option --with-idle-exit-timeout
- Added --with-systemd-timeoutstartsec configure option
- DigestOptions now are applied for MD5 Digest authentication defined
by RFC 2069 as well
- Fixed compilation on Solaris
- Fixed and improved German translations
Changes in CUPS v2.4rc1 (12th November 2021)
--------------------------------------------
- Added warning and debug messages when loading printers
if the queue is raw or with driver
- Compilation now uses -fstack-protector-strong if available
Changes in CUPS v2.4b1 (27th October 2021)
------------------------------------------
- Added support for CUPS running in a Snapcraft snap.
- Added basic OAuth 2.0 client support
- Added support for AirPrint and Mopria clients
- Added configure support for specifying systemd dependencies in the CUPS
service file
- Added a JSON output mode for `ipptool`.
- The `ipptool` command now correctly reports an error when a test file cannot
be found.
- CUPS library now uses thread safe `getpwnam_r` and `getpwuid_r` functions
- Fixed Kerberos authentication for the web interface
- The ZPL sample driver now supports more "standard" label sizes
- Fixed reporting of printer instances when enumerating and when no options are
set for the main instance
- Reverted USB read limit enforcement change from CUPS 2.2.12
- The IPP backend did not return the correct status code when a job was canceled
at the printer/server
- The `testlang` unit test program now loops over all of the available locales
by default
- The `cupsfilter` command now shows error messages when options are used
incorrectly
- The PPD functions now treat boolean values as case-insensitive
- Temporary queue names no longer end with an underscore
- The USB backend now runs as root
- Added pkg-config file for libcups
- Fixed a PPD memory leak caused by emulator definitions
- Fixed a `DISPLAY` bug in `ipptool`
- The scheduler now includes the `[Job N]` prefix for job log messages, even
when using syslog logging
- Added support for locales using the GB18030 character set
- `httpReconnect2` did not reset the socket file descriptor when the TLS
negotiation failed
- `httpUpdate` did not reset the socket file descriptor when the TLS
negotiation failed
- The IPP backend now retries Validate-Job requests
- Now show better error messages when a driver interface program fails to
provide a PPD file
- Added dark mode support to the CUPS web interface
- Added a workaround for Solaris in `httpAddrConnect2`
- Fixed an interaction between `--remote-admin` and `--remote-any` for the
`cupsctl` command
- Now use a 60 second timeout for reading USB backchannel data
- The USB backend now tries harder to find a serial number
- Fixed `@IF(name)` handling in `cupsd.conf`
- Fixed documentation and added examples for CUPS' limited CGI support
- Fixed the `lpc` command prompt
- Now always pass "localhost" in the `Host:` header when talking over a domain
socket or the loopback interface
- Fixed a job history update issue in the scheduler
- Fixed `job-pages-per-set` value for duplex print jobs.
- Fixed an edge case in `ippReadIO` to make sure that only complete attributes
and values are retained on an error
- Hardened `ippReadIO` to prevent invalid IPP messages from being propagated
- The scheduler now supports the "everywhere" model directly
- Fixed some IPP Everywhere option mapping problems
- Fixed support for "job-hold-until" with the Restart-Job operation
- Fixed the default color/grayscale presets for IPP Everywhere PPDs
- Fixed support for the 'offline-report' state for all USB backends
- Documentation fixes
- Localization updates
- USB quirk updates
- Web interface updates
- The `ippeveprinter` tool now automatically uses an available port.
- Fixed several Windows TLS and hashing issues.
- Deprecated cups-config
- Deprecated Kerberos (`AuthType Negotiate`) authentication
- Removed support for the (long deprecated and unused) `FontPath`,
`ListenBackLog`, `LPDConfigFile`, `KeepAliveTimeout`, `RIPCache`, and
`SMBConfigFile` directives in `cupsd.conf` and `cups-files.conf`.
- Stubbed out deprecated `httpMD5` functions.
- Add test for undefined page ranges during printing.
Release 22.04.0:
core:
* Fix underline sometimes being drawn only partially
* Fix Adobe Reader not reading some of the contents we write correctly
* Fix code that workarounds some broken-ish files
* FoFiTrueType: Parse CFF2 fonts too
* FoFiTrueType: Support cmap types 2 and 13
* Fix a few small memory leaks
* code improvements
qt:
* Handle SaveAs named action
* Annotations: don't change the text color when changing the font
utils:
* pdftotext: print creation and modification date when using htmlmeta param
glib:
* Fix returning internal data of temporary strings
cpp:
* Fix code incompatibility with MSVC
build system:
* poppler internal library is no longer forced to static on MSVC
* Error out if iconv is not available and the cpp frontend is enabled
* Require FreeType 2.8
knitr 1.38
-------------------------------------------------------
NEW FEATURES
* The chunk option file can take a vector of file paths now, i.e., this
option can be used to read more than one file (e.g., file = c("foo.R",
"bar.R").
* Added a new engine named exec (#2073) to execute an arbitrary command on
the code chunk, e.g.,
```{exec, command='Rscript'}
1 + 1
```
The above code chunk executes the Rscript command with the chunk body as
its input (which basically means executing the R code in a new R session).
See the example #124 in the repo https://github.com/yihui/knitr-examples
for more info.
There exists several command-based engines in knitr, such as awk, bash,
perl, go, and dot, etc. This new exec engine provides a general mechanism
to execute any command that users provide. For example, the code chunk
```{bash}
echo 'Hello world!'
```
is equivalent to the chunk using the exec engine and the bash command:
```{exec, command='bash'}
echo 'Hello world!'
```
With this new engine, we no longer need to provide or maintain other simple
command-based engines. For example, to support TypeScript (#1833), we only
need to specify command = 'ts-node' with the exec engine.
If the command has significant side-effects (e.g., compile source code to
an executable and run the executable, or generate plots to be included in
the output), it is also possible to create a new engine based on the exec
engine. The example #124 in the knitr-examples repo has provided a gcc
example.
We'd like to thank @TianyiShi2001 for the inspiration (#1829#1823#1833).
* Added a new engine ditaa based on the exec engine to convert ASCII art
diagrams to bitmaps via the ditaa command (thanks, @kondziu, #2092).
* Added two new chunk options, class.chunk and attr.chunk, for R Markdown
output. These options can enclose the whole chunk output (source and
results) in a fenced Div. Their syntax follows other chunk options with the
similar names class.* and attr.* (e.g., class.source and attr.source). For
example, class.chunk = "foo" would wrap the chunk output inside ::: {.foo}
and ::: (thanks, @atusy, #2099).
* Added a new chunk option lang to set the language name of a code chunk. By
default, the language name is the engine name. This is primarily useful for
syntax highlighting the source chunks in Markdown-based output. Previously
the lang option was only available to a few engines such as verbatim and
embed. Now it is available to all engines.
* Added a new wrapper function rnw2pdf(). It allows users to specify an
arbitrary output file path, clean the intermediate files, and stop when any
error occurs in knitting (thanks, @shrektan, #2113).
* New calling.handlers option for opts_chunk$set() to register calling
handlers within chunks. See ?evaluate::new_output_handler for details.
MAJOR CHANGES
* The minimal required version of R was bumped from 3.2.3 to 3.3.0 (thanks,
@essemenoff, #2100).
* The working directory under which chunk options are evaluated has been
changed to the directory of the source document by default. If the package
option root.dir is set to a different directory, that directory will be
used as the working directory (#2081).
* include_graphics() will expand ~ in the image paths now and also warn
against absolute paths (thanks, @kcarnold, #2063).
* opts_chunk$set() returns values of old chunk options after setting new
chunk options now, instead of returning NULL, which can make it a little
simpler to reset chunk options, e.g., you can temporarily change a few
chunk options and save them with old = opts_chunk$set(error = FALSE,
fig.height = 3), and reset them later with opts_chunk$set(old). This works
for any other objects in knitr that have the $set() methods, such as
opts_knit, opts_hooks, knit_hooks, knit_engines, and so on.
MINOR CHANGES
* The chunk option fig.scap has been added to eval.after in opts_knit
(thanks, @knokknok, #2061).
BUG FIXES
* Chunk options defined in the #| style are not recognized when the code
chunk is indented or quoted (thanks, @mine-cetinkaya-rundel, #2086).
* Fixed a bug in Sweave2knitr() #2097 (thanks, @chroetz).
knitr 1.37
----------------------------------------------------------------
NEW FEATURES
* Added a new chunk option named file so that the chunk content can be read
from an external file. Setting the chunk option file = "test.R" is
equivalent to using the chunk option code = xfun::read_utf8("test.R").
* For R Markdown documents, code chunks can be embedded in a parent code
chunk with more backticks now. For example, a code chunk with four
backticks can contain code chunks with three backticks. One application is
to conditionally include some verbatim content that contains code chunks
via the asis engine, e.g.,
````{asis, echo=format(Sys.Date(), "%w") == 1}
Some conditional content only included when report is built on a Monday
```{r}
1 + 1
```
On another day, this content won't be included.
````
Note that the embedded child code chunks (e.g., in the asis chunk above)
are not parsed or evaluated by knitr, and only the top-level code chunk is
parsed and evaluated.
* Added a new engine named comment to comment out content, e.g.,
````{comment}
Arbitrary content to be commented out.
```{r}
1 + 1
```
The above code chunk will not be executed.
Inline code like `r pi * 5^2` will be ignored, too.
````
Note that if any line of the content to be commented out contains N
backticks, you will have to use at least N + 1 backticks in the chunk
header and footer of the comment chunk.
* Added a new engine named verbatim mainly for R Markdown documents to output
verbatim content that contains code chunks and/or inline expressions, e.g.,
````{verbatim}
We can output arbitrary content verbatim.
```{r}
1 + 1
```
The content can contain inline code like
`r pi * 5^2`, too.
````
By default, the verbatim content is placed in a fenced default code block:
````default
We can output arbitrary content verbatim.
```{r}
1 + 1
```
The content can contain inline code like
`r pi * 5^2`, too.
````
You can change the default language name of the block via the chunk option
lang, e.g., lang = 'markdown' will output a code block like this:
````markdown
We can output arbitrary content verbatim.
```{r}
1 + 1
```
The content can contain inline code like
`r pi * 5^2`, too.
````
To disable the language name on the block, use an empty string lang = ''.
The difference between the verbatim and asis engine is that the former will
put the content in a fenced code block, and the latter just output the
content as-is.
You can also display a file verbatim by using the chunk option file, e.g.,
```{verbatim, file="test.Rmd"}
```
This engine also works for other types of documents (e.g., Rnw) but it will
not allow for nested code chunks within the verbatim code chunk.
* Added a new engine named embed to embed external plain-text files. It is
essentially a simple wrapper based on the verbatim engine, with the chunk
content read from an external file and default language guessed from file
extension. That is,
```{embed, file="foo.R"}
```
is equivalent to
```{verbatim, file="foo.R", lang="r"}
```
If you provide the chunk option file to the embed engine, it will read the
file and show its content verbatim in the output document. Alternatively,
you can specify the file path in the chunk body, e.g.,
```{embed}
"foo.txt"
```
The quotes are optional but can be helpful for editors (e.g., RStudio IDE)
to autocomplete the file paths.
The syntax highlighting language name is from the filename extension by
default, and you can override it with the chunk option lang (e.g., file =
"foo.sh", lang = "bash") which is then identical to the verbatim engine.
BUG FIXES
* The chunk option child also respects the package option root.dir now
(thanks, @salim-b, https://community.rstudio.com/t/117563).
* Fixed a LaTeX error "Package xcolor Error: Undefined color `fgcolor'" with
.Rnw documents (thanks, Kurt Hornik).
MINOR CHANGES
* Improved the (warning) message when unbalanced chunk delimiters are
detected in R Markdown documents, to make it easier for users to fix the
problem. The message now contains the line numbers of the opening fence and
closing fence, as well as the opening and closing backticks. For example,
the opening fence may be "````{r}" (four backticks) but the closing fence
is "```" (three backticks---should also be four to match the opening
fence), or the opening fence is indented " ```{r}" but the closing fence is
not "```". Note that this warning message may become an error in the
future, i.e., unbalanced chunk delimiters will no longer be allowed.
knitr 1.36
-----------------------------------------------
MAJOR CHANGES
* In knitr 1.35, if the indentation of the closing backticks does not match
the indentation of the chunk header in an Rmd document, the closing
backticks would not be treated as closing fence of a code chunk. This
behavior has been reverted because we have discovered several cases in
which the indentation was accidental. A warning message will be issued
instead, and you are still recommended to fix the improper indentation if
discovered.
BUG FIXES
* Fixed a regression in knitr 1.31 that caused package vignettes to generate
(tangle) invalid R scripts (thanks, @t-kalinowski @halldc, #2052).
knitr 1.35
-------------------------------------------------
NEW FEATURES
* Chunk options can also be written inside a code chunk now after the special
comment #|, e.g.,
```{r}
#| echo = FALSE, fig.width = 10,
#| fig.cap = "This is a long caption."
plot(cars)
```
The main differences between this new syntax and traditional syntax (i.e.,
chunk options in the chunk header) are: 1) the chunk options can be freely
wrapped, i.e., you can write them on as many lines as you prefer; 2) you
can also use the YAML syntax instead of the comma-separated syntax if you
like, e.g.,
```{r}
#| echo: false
#| fig.width: 10
```
Chunk options provided inside a code chunk will override options with the
same names in the chunk header if chunk options are provided in both
places, e.g.,
```{r, echo = TRUE}
#| echo = FALSE, fig.width = 10
```
The effective chunk options for the above chunk are echo = FALSE and
fig.width = 10.
MAJOR CHANGES
* For R Markdown documents, if the chunk header is indented, the closing
backticks (usually ```) of the chunk must be indented with the same amount
of spaces (thanks, @atusy, #2047). For example, the following is no longer
a valid code chunk because the chunk header is indented but the closing
backticks are not:
```{r}
1 + 1
```
If you see an error "attempt to use zero-length variable name" when
knitting an Rmd document, it may be because of this change, and you may
have indented the chunk header by accident. If that is the case, you need
to remove the extra white spaces before the chunk header.
The same problem applies to blockquotes, i.e., > before ```. If you quote
the chunk header, you have to quote the footer as well, e.g.,
> ```{r}
1 + 1
```
The above unbalanced code chunk needs to be corrected to:
> ```{r}
> 1 + 1
> ```
Quoting the chunk body is optional but recommended.
BUG FIXES
* Fixed a regression in v1.34: now blank lines in code chunks are stripped
only when collapse = FALSE but no longer stripped by default when collapse
= TRUE. If you prefer blank lines to be always stripped, set strip.white =
TRUE globally or on the per chunk basis (thanks, @IndrajeetPatil, rstudio/
rmarkdown#2220, #2046).
* In knitr::combine_words(), when words is length 2 and and = "", sep will
now be used (thanks, @eitsupi, #2044).
* For R Markdown documents, if the chunk output contains N backticks, the
output hook will use N + 1 backticks to wrap the output, so that the N
verbatim backticks can be correctly preserved (thanks, @atusy, #2047).
This package provides a German localization to the termcal
package written by Bill Mitchell, which is intended to print a
term calendar for use in planning a class.
This package is intended to print a term calendar for use in
planning a class. It has a flexible mechanism for specifying
which days of the week are to be included and for inserting
text either regularly on the same day each week, or on selected
days, or for a series of consecutive days. It also has a
flexible mechanism for specifing class and nonclass days. Text
may be inserted into consecutive days so that it automatically
flows around nonclass days.
This package offers the user an easy way to typeset The Holy
Quran. It has been inspired by the lipsum and ptext packages
and provides several macros for typesetting the whole or any
part of the Quran based on its popular division, including
surah, ayah, juz, hizb, quarter, and page. Besides the Arabic
original, translations to English, German, French, and Persian
are provided, as well as an English transliteration.
A convenient interface for typesetting bidirectional texts with
plain TeX and LaTeX. The package includes adaptations for use
with many other commonly-used packages.
This package provides a Hangul transliteration input method
that allows to typeset Korean letters (Hangul) using the proper
fonts. The name is derived from "Poor man's Hangul Jamo Input
Method". The use of XeLaTeX is recommended. pdfTeX is not
supported.
This is a polish version of the classic pseudo-Latin "lorem
ipsum dolor sit amet...". It provides access to several
paragraphs of pseudo-Polish generated with Hidden Markov Models
and Recurrent Neural Networks trained on a corpus of Polish.
Draws a representation of the layout of the current page and
displays the sizes of the widths and heights of the margins,
header, footer and text body.
The module parses an ini-file and prints the contents with a
user-defined layout. The entries of the file may be sorted by
up to three sort keys. The format of a simple ini-file would
be: [key1] symbol1 = value1 symbol2 = value2 [key2] symbol1 =
value3 symbol2 = value4 The module only works with ConTeXt
MkIV, and uses Lua to help process the input.
This package provides an elegant layout designed in homage to
Bringhurst's "The Elements of Typographic Style". It makes use
of a range of techniques to get the best results achievable
using TeX. Included in the bundle are templates to make thesis
writing easier.