Glossary of terms
Created Date: 14 May, 2023 22:31
Last Modifed Date: 30 May, 2023 13:52
Application Programming Interface
An application programming interface is simply the way in which two or more computer programs communicate with one another to accomplish a specific task.
In the case of Mako, its APIs, which can be called from C++, C#, Java and Python programs, operate on the iDOM (Intelligent Document Model), an abstraction that offers a consistent approach to working with the text, vector graphics, images, fonts and color content of a digital document, irrespective of its source.
Color Management System
A color management system converts color values from one device, such as a scanner, to color values from a different device, such as a printer, so that the colors reproduced by the printer correspond to those scanned. Where an exact match cannot be achieved, the color management system calculates color values that reproduce the colors of the original as accurately as possible.
The entire range of colors available on a particular device, such as a monitor or printer. A monitor, which displays RGB signals, typically has a greater color gamut than a printer, which uses CMYK inks.
Page Description Language
A page description language (PDL) specifies the arrangement of a printed page through commands from a computer that the printer carries out. Hewlett Packard's Printer Control Language (PCL) Adobe's PostScript® are the two most commonly used PDLs.
PDLs describe page elements as geometrical objects, such as lines, arcs, and so on. PDLs define page elements independently of printer technology, so that a page's appearance should be consistent regardless of the specific printer used.
Typically, PDLs define the 'final form' of a document, i.e. one that is paginated and ready to be printed, in contrast to authoring formats where elements can be moved or changed and text is reflowed accordingly. Thus, the term PDL is also applied to so-called "fixed format" document types such as PDF and XPS.
Software Development Kit
A software development kit (SDK) is a package of software tools specific to a particular development platform, coding language or application framework.
In the case of Mako, the SDK consists of ready-built libraries for numerous computing platforms (Windows, macOS, Linux etc.), API documentation and sample code.