From 7533822f4cff54c8cb39ae96e0bff9f8b292c314 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Tue, 10 May 2005 18:40:44 +0000 Subject: [PATCH] * lily/pango-font.cc (pango_item_string_stencil): add support for CID keyed font. * scm/output-ps.scm (glyph-string): add support for CID keyed font. --- ChangeLog | 7 +++++++ lily/pango-font.cc | 14 +++++++++++++- scm/output-ps.scm | 6 ++++-- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 869bf4e406..7746df4016 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-05-10 Han-Wen Nienhuys + + * lily/pango-font.cc (pango_item_string_stencil): add support for + CID keyed font. + + * scm/output-ps.scm (glyph-string): add support for CID keyed font. + 2005-05-10 Graham Percival * Documentation/user/basic-notation.itely: add @ref. diff --git a/lily/pango-font.cc b/lily/pango-font.cc index 8af090c106..de7b835ab8 100644 --- a/lily/pango-font.cc +++ b/lily/pango-font.cc @@ -110,9 +110,21 @@ Pango_font::pango_item_string_stencil (PangoItem *item, String str, Real dx) con PangoGlyphGeometry ggeo = pgi->geometry; FT_Get_Glyph_Name (ftface, pg, glyph_name, GLYPH_NAME_LEN); + + + SCM char_id; + if (glyph_name[0] == '\0') + { + /* + CID entry + */ + char_id = scm_from_int (pg); + } + else + char_id = scm_makfrom0str (glyph_name); *tail = scm_cons (scm_list_3 (scm_from_double (ggeo.x_offset * scale_ + dx), scm_from_double (ggeo.y_offset * scale_), - scm_makfrom0str (glyph_name)), + char_id), SCM_EOL); dx = 0.0; tail = SCM_CDRLOC (*tail); diff --git a/scm/output-ps.scm b/scm/output-ps.scm index 7d5ed56e9a..aa6581adf4 100644 --- a/scm/output-ps.scm +++ b/scm/output-ps.scm @@ -190,8 +190,10 @@ (if (and (= 0.0 x) (= 0.0 y)) (format #f " /~a glyphshow\n" g) - (format #f " ~a ~a rmoveto /~a glyphshow\n" - x y g)))) + (format #f " ~a ~a rmoveto ~a~a glyphshow\n" + x y + (if (string? g) "/" "") + g)))) x-y-named-glyphs)))) (define (grob-cause offset grob) -- 2.39.2