summaryrefslogtreecommitdiff
path: root/paper.h
diff options
context:
space:
mode:
authorBen Harris <bjh21@bjh21.me.uk>2004-09-28 23:09:41 +0000
committerBen Harris <bjh21@bjh21.me.uk>2004-09-28 23:09:41 +0000
commitdea4028581b03223460e4fe5bf52be6235268490 (patch)
tree5c1d35da77eec6d8f284dfb77c296027e5a5bfad /paper.h
parent332be5bbc231f7139e6fc4cede37456225e590a7 (diff)
downloadhalibut-dea4028581b03223460e4fe5bf52be6235268490.zip
halibut-dea4028581b03223460e4fe5bf52be6235268490.tar.gz
halibut-dea4028581b03223460e4fe5bf52be6235268490.tar.bz2
halibut-dea4028581b03223460e4fe5bf52be6235268490.tar.xz
Add kerning support to paper backends, embedding the kerning tables from
the AFM files in psdata.c. Also fix a couple of bugs that this revealed. [originally from svn r4588]
Diffstat (limited to 'paper.h')
-rw-r--r--paper.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/paper.h b/paper.h
index 859f933..6813fe6 100644
--- a/paper.h
+++ b/paper.h
@@ -13,6 +13,7 @@
#define FUNITS_PER_PT 1000.0
typedef struct document_Tag document;
+typedef struct kern_pair_Tag kern_pair;
typedef struct font_data_Tag font_data;
typedef struct font_encoding_Tag font_encoding;
typedef struct font_list_Tag font_list;
@@ -39,6 +40,16 @@ struct document_Tag {
};
/*
+ * This data structure represents a kerning pair within a font.
+ */
+struct kern_pair_Tag {
+ /* Glyph indices, in font_data.glyphs. */
+ unsigned short left, right;
+ /* Kern amount, in internal units. */
+ int kern;
+};
+
+/*
* This data structure represents a particular font.
*/
struct font_data_Tag {
@@ -54,6 +65,7 @@ struct font_data_Tag {
int nglyphs;
const char *const *glyphs;
const int *widths;
+ tree234 *kerns;
/*
* For reasonably speedy lookup, we set up a 65536-element
* table representing the Unicode BMP (I can conveniently
@@ -311,5 +323,6 @@ struct outline_element_Tag {
wchar_t ps_glyph_to_unicode(char const *glyph);
extern const char *const ps_std_glyphs[];
const int *ps_std_font_widths(char const *fontname);
+const kern_pair *ps_std_font_kerns(char const *fontname);
#endif