Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1599)

Delta Between Two Patch Sets: scm/framework-ps.scm

Issue 561810045: Prevent race condition in `-dfont-ps-resdir`
Left Patch Set: Created 4 years, 11 months ago
Right Patch Set: Improve messages Created 4 years, 11 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « scm/backend-library.scm ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 ;;;; This file is part of LilyPond, the GNU music typesetter. 1 ;;;; This file is part of LilyPond, the GNU music typesetter.
2 ;;;; 2 ;;;;
3 ;;;; Copyright (C) 2004--2020 Han-Wen Nienhuys <hanwen@xs4all.nl> 3 ;;;; Copyright (C) 2004--2020 Han-Wen Nienhuys <hanwen@xs4all.nl>
4 ;;;; 4 ;;;;
5 ;;;; LilyPond is free software: you can redistribute it and/or modify 5 ;;;; LilyPond is free software: you can redistribute it and/or modify
6 ;;;; it under the terms of the GNU General Public License as published by 6 ;;;; it under the terms of the GNU General Public License as published by
7 ;;;; the Free Software Foundation, either version 3 of the License, or 7 ;;;; the Free Software Foundation, either version 3 of the License, or
8 ;;;; (at your option) any later version. 8 ;;;; (at your option) any later version.
9 ;;;; 9 ;;;;
10 ;;;; LilyPond is distributed in the hope that it will be useful, 10 ;;;; LilyPond is distributed in the hope that it will be useful,
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 #t 274 #t
275 #f) 275 #f)
276 #f) 276 #f)
277 #f) 277 #f)
278 #f))) 278 #f)))
279 (close-port port) 279 (close-port port)
280 retval)) 280 retval))
281 281
282 (define (link-ps-resdir-font name file-name font-index) 282 (define (link-ps-resdir-font name file-name font-index)
283 (ly:debug (_ "Preparing font ~a in PostScript resource directory\ 283 (ly:debug (_ "Preparing font ~a in PostScript resource directory\
284 from file `~a' index ~a...") 284 for subfont ~a of file `~a'...")
lemzwerg 2020/05/09 13:30:15 Maybe for subfont ~a of file ~a") ?
trueroad 2020/05/09 14:19:20 Done.
285 name file-name font-index) 285 name font-index file-name)
286 (let* ((index (if (number? font-index) font-index 0)) 286 (let* ((index (if (number? font-index) font-index 0))
287 (font-format (ly:get-font-format file-name index))) 287 (font-format (ly:get-font-format file-name index)))
288 (cond 288 (cond
289 ((and (eq? font-format 'CFF) 289 ((and (eq? font-format 'CFF)
290 (is-collection-font? file-name)) 290 (is-collection-font? file-name))
291 ;; OpenType/CFF Collection (OTC) 291 ;; OpenType/CFF Collection (OTC)
292 (let* ((newpath (if (ly:has-glyph-names? file-name index) 292 (let* ((newpath (if (ly:has-glyph-names? file-name index)
293 (format #f "~a/Font/~a" 293 (format #f "~a/Font/~a"
294 (ly:get-option 'font-ps-resdir) name) 294 (ly:get-option 'font-ps-resdir) name)
295 (format #f "~a/CIDFont/~a" 295 (format #f "~a/CIDFont/~a"
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 pfas)) 534 pfas))
535 535
536 (define (font-export name body) 536 (define (font-export name body)
537 (let* ((filename (format #f "~a/~a.font.ps" 537 (let* ((filename (format #f "~a/~a.font.ps"
538 (ly:get-option 'font-export-dir) 538 (ly:get-option 'font-export-dir)
539 name)) 539 name))
540 (port-excl (create-file-exclusive filename))) 540 (port-excl (create-file-exclusive filename)))
541 (if (not port-excl) 541 (if (not port-excl)
542 (begin 542 (begin
543 (ly:debug 543 (ly:debug
544 (_ "Font file `~a' already exists, skipping.") 544 (_ "Font file `~a' already exists, skipping...")
lemzwerg 2020/05/09 13:30:16 s/\./.../ to be in sync with other, similar error
trueroad 2020/05/09 14:19:21 Done.
545 filename) 545 filename)
546 #f) 546 #f)
547 ;; MinGW hack: need to have "b"inary for fonts 547 ;; MinGW hack: need to have "b"inary for fonts
548 (let ((port (open-file filename "wb"))) 548 (let ((port (open-file filename "wb")))
549 (close port-excl) 549 (close port-excl)
550 (ly:debug (_ "Exporting font file `~a'.") filename) 550 (ly:debug (_ "Exporting font file `~a'.") filename)
551 (if (or (ly:get-option 'gs-load-fonts) 551 (if (or (ly:get-option 'gs-load-fonts)
552 (ly:get-option 'gs-load-lily-fonts)) 552 (ly:get-option 'gs-load-lily-fonts))
553 (begin 553 (begin
554 (display "%%BeginProlog\n" port) 554 (display "%%BeginProlog\n" port)
(...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 963
964 lilypond -dbackend=eps FILE 964 lilypond -dbackend=eps FILE
965 965
966 If you have cut & pasted a lilypond fragment from a webpage, be sure 966 If you have cut & pasted a lilypond fragment from a webpage, be sure
967 to only remove anything before 967 to only remove anything before
968 968
969 %% **************************************************************** 969 %% ****************************************************************
970 %% Start cut-&-pastable-section 970 %% Start cut-&-pastable-section
971 %% **************************************************************** 971 %% ****************************************************************
972 "))) 972 ")))
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b