Update of /project/closure/cvsroot/closure/src/renderer In directory common-lisp.net:/tmp/cvs-serv15903/renderer
Modified Files: hyphenation.lisp Log Message: The hyphenation table can be referenced using an URL, rather than by an absolute filename.
Date: Sun Jul 17 11:30:51 2005 Author: emarsden
Index: closure/src/renderer/hyphenation.lisp diff -u closure/src/renderer/hyphenation.lisp:1.3 closure/src/renderer/hyphenation.lisp:1.4 --- closure/src/renderer/hyphenation.lisp:1.3 Sun Mar 13 19:03:24 2005 +++ closure/src/renderer/hyphenation.lisp Sun Jul 17 11:30:51 2005 @@ -4,7 +4,7 @@ ;;; Created: 2003-03-07 ;;; Author: Gilbert Baumann gilbert@base-engineering.com ;;; License: MIT style (see below) -;;; $Id: hyphenation.lisp,v 1.3 2005/03/13 18:03:24 gbaumann Exp $ +;;; $Id: hyphenation.lisp,v 1.4 2005/07/17 09:30:51 emarsden Exp $ ;;; --------------------------------------------------------------------------- ;;; (c) copyright 1999-2003 by Gilbert Baumann
@@ -174,18 +174,18 @@
;;;; Reading Tables
-(defun read-hyphen-table-file (filename &key (class 'tree-hyphenation-table)) - (with-open-file (input filename) - (let ((res (make-instance class - :filename filename))) - (read-line input nil nil) - (do ((line (read-line input nil nil) (read-line input nil nil))) - ((null line)) - (let* ((j (position #\space line)) - (pattern (map 'vector #'digit-char-p (subseq line (+ j 1))))) - (insert-hyphenation-pattern res (subseq line 0 j) pattern))) - res))) - +(defun read-hyphen-table (url &key (class 'tree-hyphenation-table)) + (let ((url (if (url:url-p url) url (url:parse-url url)))) + (netlib:with-open-document ((input mime-type) url) + (declare (ignore mime-type)) + (let ((res (make-instance class :filename url))) + (g/read-line input nil nil) + (do ((line (g/read-line input nil nil) (g/read-line input nil nil))) + ((null line)) + (let* ((j (position #\space line)) + (pattern (map 'vector #'digit-char-p (subseq line (+ j 1))))) + (insert-hyphenation-pattern res (subseq line 0 j) pattern))) + res))))
;; 100,000x hyphenation of "argument": @@ -193,6 +193,10 @@ ;; new: .57s 2.400,000 bytes [technically zero]
;; $Log: hyphenation.lisp,v $ +;; Revision 1.4 2005/07/17 09:30:51 emarsden +;; The hyphenation table can be referenced using an URL, rather than by +;; an absolute filename. +;; ;; Revision 1.3 2005/03/13 18:03:24 gbaumann ;; Gross license change ;;