]> git.donarmstrong.com Git - lilypond.git/commitdiff
* scm/framework-ps.scm (ps-embed-cff): new function.
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 12 Dec 2004 19:10:56 +0000 (19:10 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sun, 12 Dec 2004 19:10:56 +0000 (19:10 +0000)
* lily/lily-guile.cc (LY_DEFINE): make ly:gulp-file binary proof.

ChangeLog
lily/lily-guile.cc
mf/bigcheese.pe.in
scm/font.scm
scm/framework-ps.scm

index 00ce65adedf1096051bd8b90dd1da14f5995ba90..64fffb33f5a799bda578b96a249bd7433aab963a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-12-12  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * 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  <wl@gnu.org>
 
        * mf/bigcheese.pe.in: Add PUA mapping.
index ad54d7f664f88e0665aa9c89174a53e7fc3b4bfb..0a7c8362d6a2c139e5efd95bd862faff7574a052 100644 (file)
@@ -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;
 }
 
 
index be85c9891b18c8bf72cacee6a83c4424ff0ae0b9..e8222070f4a084abde40a16ffe66671c7af53ffd 100644 (file)
@@ -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");
index ed52fb06136f2c45cdc3a97dd3ee019722e041d4..d114f910f9f39b26440d98b47b5976a9cf8ca537 100644 (file)
                  ,(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")
index fa0ba97114752aac859ff7671b6b374905eec978..5fbc6828ed9329bbc2b2ee225e98503e673b99ff 100644 (file)
    (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) string<?)))
         (pfas (map
                (lambda (x)
-
-                 (let* ((t42name (string-append x ".t42"))
+                 (let* ((cffname (string-append x ".cff"))
                         (aname (string-append x ".pfa"))
                         (bname (string-append x ".pfb"))
-                        (t42path (ly:find-file t42name))
+                        (cffpath (ly:find-file cffname))
                         (apath (ly:kpathsea-find-file aname))
                         (bpath (ly:kpathsea-find-file bname)))
+                 (display (list x cffpath))
                    (cond
-                    (t42path (ly:gulp-file t42path))
+                    (cffpath (ps-embed-cff (ly:gulp-file cffpath) x 0))
                     (apath (ly:gulp-file apath))
                     (bpath (ly:pfb->pfa bpath))
                     (else