From 796ba944c1867c49f3adf8eaf6251d82606097ef Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sun, 12 Dec 2004 19:10:56 +0000 Subject: [PATCH] * scm/framework-ps.scm (ps-embed-cff): new function. * lily/lily-guile.cc (LY_DEFINE): make ly:gulp-file binary proof. --- ChangeLog | 6 ++++++ lily/lily-guile.cc | 10 +++++++--- mf/bigcheese.pe.in | 2 ++ scm/font.scm | 6 +++--- scm/framework-ps.scm | 36 ++++++++++++++++++++++++++++++++---- 5 files changed, 50 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 00ce65aded..64fffb33f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-12-12 Han-Wen Nienhuys + + * scm/framework-ps.scm (ps-embed-cff): new function. + + * lily/lily-guile.cc (LY_DEFINE): make ly:gulp-file binary proof. + 2004-12-12 Werner Lemberg * mf/bigcheese.pe.in: Add PUA mapping. diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index ad54d7f664..0a7c8362d6 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -126,9 +126,13 @@ LY_DEFINE (ly_gulp_file, "ly:gulp-file", "The file is looked up using the search path.") { SCM_ASSERT_TYPE (scm_is_string (name), name, SCM_ARG1, __FUNCTION__, "string"); - return scm_makfrom0str (gulp_file_to_string (ly_scm2string (name), - true).to_str0 ()); - + String contents = gulp_file_to_string (ly_scm2string (name), true); + + char * data ; + SCM scm_str = scm_i_make_string (contents.length(), &data); + memcpy (data, contents.get_bytes(), contents.length()); + + return scm_str; } diff --git a/mf/bigcheese.pe.in b/mf/bigcheese.pe.in index be85c9891b..e8222070f4 100644 --- a/mf/bigcheese.pe.in +++ b/mf/bigcheese.pe.in @@ -10,6 +10,7 @@ MergeFonts("parmesan20.pfa"); MergeFonts("feta-nummer10.pfa"); MergeFonts("feta-din14.pfa"); MergeKern("feta-din14.tfm"); + LoadTableFromFile("LILC", "feta20.otf-table") i = 0; while (i < CharCnt()) @@ -17,5 +18,6 @@ while (i < CharCnt()) SetUnicodeValue(i + 0xF000, 0); ++i; endloop + Generate("bigcheese20.otf"); Generate("bigcheese20.cff"); diff --git a/scm/font.scm b/scm/font.scm index ed52fb0613..d114f910f9 100644 --- a/scm/font.scm +++ b/scm/font.scm @@ -179,9 +179,9 @@ ,(delay (ly:make-virtual-font (ly:font-load "feta18") (ly:font-load "parmesan18"))) - ,(delay (ly:make-virtual-font - (ly:font-load "feta20") - (ly:font-load "parmesan20"))) +; ,(delay (ly:make-virtual-font +; (ly:font-load "feta20") +; (ly:font-load "parmesan20"))) ,(delay (ly:make-virtual-font (ly:font-load "bigcheese20"))) ,(delay (ly:make-virtual-font (ly:font-load "feta23") diff --git a/scm/framework-ps.scm b/scm/framework-ps.scm index fa0ba97114..5fbc6828ed 100644 --- a/scm/framework-ps.scm +++ b/scm/framework-ps.scm @@ -45,20 +45,48 @@ (equal? (substring fontname 0 2) "cm") (equal? (substring fontname 0 2) "ec"))) +(define (ps-embed-cff body font-set-name version) + (string-append + (format + "%!PS-Adobe-3.0 Resource-FontSet +%%DocumentNeededResources: ProcSet (FontSetInit) +%%EndComments +%%IncludeResource: ProcSet (FontSetInit) +%%BeginResource: FontSet (~a) +%%Title: (FontSet/~a) +%%Version: ~s +/FontSetInit /ProcSet findresource begin +%%BeginData: ~s Binary Bytes +/~a ~s StartData " + font-set-name font-set-name version 0 font-set-name (string-length body) + ) + + body + + "%%EndData +%%EndResource +%%EOF +" + + )) + +(display (ly:gulp-file "/home/hanwen/usr/src/lilypond/mf/out/bigcheese20.cff")) + + (define (load-fonts paper) (let* ((fonts (ly:paper-fonts paper)) (font-names (uniq-list (sort (map ly:font-file-name fonts) stringpfa bpath)) (else -- 2.39.2