<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font size="-1"><font face="Helvetica, Arial, sans-serif">Hi Dave,<br>
        <br>
        <font size="-1">I committed this to the github cl-pdf repos. <font
            size="-1">Thanks!</font><br>
          <br>
          <font size="-1">Marc<br>
            <br>
          </font></font></font></font>
    <div class="moz-cite-prefix">On 28/3/13 15:15 , Dave Cooper wrote:<br>
    </div>
    <blockquote
cite="mid:CAHBe5XiN+YECggbng1xPAuY8q=a07=XocfQ1TPUeYh2JiSJn9Q@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div><br>
        </div>
        <div><br>
        </div>
        <div>To follow up, here is a subsequent patch for cl-pdf which
          smooths things out a bit more (I'm attaching both the 0001
          patch and the 0002 patch).<br>
        </div>
        <div><br>
        </div>
        <div>Soon I will send a patch to the cl-typesetting list also,
          which implements a similar fix for cl-typesetting. </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div style="">On Wed, Mar 27, 2013 at 12:45 AM, Dave Cooper <span
            dir="ltr"><<a moz-do-not-send="true"
              href="mailto:david.cooper@genworks.com" target="_blank">david.cooper@genworks.com</a>></span>
          wrote:<br>
        </div>
        <div>
          <div class="gmail_extra">
            <div class="gmail_quote">
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div dir="ltr">
                  <div><br>
                  </div>
                  Hi Marc,
                  <div><br>
                  </div>
                  <div>
                    Thank you for the feedback. </div>
                  <div><br>
                    <div>Ok, here is my proposed patch for this issue.
                      It defers the loading of fonts in chart.lisp until
                      runtime, and adds a file zzinit.lisp which
                      contains an initialize! function as well as a
                      confirmation (with warning) if any of the
                      *afm-files-directories* do not exist. This
                      confirmation is invoked at the toplevel so you
                      will see a warning during compile and/or load if
                      the afm directories are not existing, with
                      suggestion to run the initialize! function at
                      runtime before trying to use cl-pdf functions. </div>
                    <div><br>
                    </div>
                    <div>This patch was made with </div>
                    <div><br>
                    </div>
                    <div> git format-patch</div>
                    <div><br>
                    </div>
                    <div>so you should be able to apply it to a local
                      clone of the master branch with </div>
                    <div><br>
                    </div>
                    <div> git apply
                      0001-Make-it-so-cl-pdf-can-load-without-afm-directory-the.patch</div>
                    <div><br>
                    </div>
                    <div><br>
                    </div>
                  </div>
                </div>
                <div class="gmail_extra"><br>
                  <br>
                  <div class="gmail_quote">
                    On Tue, Mar 26, 2013 at 11:04 PM, Marc Battyani <span
                      dir="ltr"><<a moz-do-not-send="true"
                        href="mailto:marc.battyani@fractalconcept.com"
                        target="_blank">marc.battyani@fractalconcept.com</a>></span>
                    wrote:<br>
                    <blockquote class="gmail_quote" style="margin:0 0 0
                      .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <div bgcolor="#FFFFFF" text="#000000"> Hi Dave,
                        <div class="im">
                          <div><br>
                            <br>
                            On 26/3/13 21:49 , Dave Cooper wrote:<br>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div>Hi All,</div>
                                <div><br>
                                </div>
                                <div> I'm not sure if I should put this
                                  on this mailing list or as an Issue on
                                  the new Github site (where I could
                                  claim "First!" : )</div>
                              </div>
                            </blockquote>
                          </div>
                        </div>
                        Well I have no idea either and I have to look at
                        how this works on github. Anyway this mailing
                        list on <a moz-do-not-send="true"
                          href="http://common-lisp.net" target="_blank">common-lisp.net</a>
                        works well and is really low volume so probably
                        it's not useful to change for now. That said I
                        would be interested to here if people have more
                        informed opinions on that.
                        <div class="im">
                          <div><br>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div>How many of you have seen this
                                  error at some point during your time
                                  using cl-pdf:</div>
                                <div><br>
                                </div>
                                <div> "Error: Font Helvetica not Found" </div>
                                <div><br>
                                </div>
                                <div>As you probably know, one of the
                                  things which can cause this is when
                                  cl-pdf is being loaded from a compiled
                                  fasl which is not in the location of
                                  the source codebase, and the source
                                  codebase is no longer available at the
                                  location where it was during
                                  compiling.</div>
                                <div><br>
                                </div>
                                <div>So my basic question is: does
                                  anyone have suggestions what to do
                                  about *cl-pdf-base-directory* and
                                  *cl-typesetting-base-directory* so
                                  that a fasl or built runtime can be
                                  used without the depending on the
                                  original absolute pathname to afm/
                                  directory, etc. still existing as they
                                  were during compilation? As it is
                                  currently, the full hardcoded pathname
                                  of the *cl-pdf-base-directory* and
                                  *cl-typesetting-base-directory* are
                                  baked into a compiled fasl. I
                                  understand this used to work from
                                  *load-truename* instead of
                                  *compile-file-truename*, and the
                                  hardcoding of compile-time source
                                  location was introduced as a "fix" for
                                  the fact that ASDF started using
                                  output-translations which resulted in
                                  the fasl being loaded not being in the
                                  source location. But this "fix" still
                                  assumes that the sources are always
                                  going to be available in their
                                  original location every time a fasl is
                                  loaded, which I consider to be a
                                  fragile assumption. <br>
                                </div>
                                <div><br>
                                </div>
                                <div>For me, the ideal solution would
                                  be: </div>
                                <div><br>
                                </div>
                                <div> 1. First of all, don't have any
                                  compile-time or load-time dependencies
                                  on these variables at all. As it is
                                  now, only chart.lisp in cl-pdf appears
                                  to depend on *afm-files-directories*
                                  -- couldn't this stuff be deferred to
                                  runtime? For cl-typesetting I'm not
                                  sure what are the dependencies at
                                  compile and load time, but I speculate
                                  that they are few. </div>
                                <div><br>
                                </div>
                                <div> 2. Provide an "initialize!"
                                  function for use at runtime startup,
                                  which is supposed to establish base
                                  directory locations for afm/ directory
                                  etc. <br>
                                </div>
                              </div>
                            </blockquote>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div> Then it would be (as it rightfully
                                  should be) the responsibility of any
                                  runtime application which is using
                                  cl-pdf to set the *-base-directory*
                                  variables and call the initialize!
                                  function as part of its "restart"
                                  function, much the same way as many
                                  applications normally have to
                                  initialize themselves at startup to
                                  find the location of outside resources
                                  (e.g. webserver applications have to
                                  be set with the location of static
                                  files for publishing, etc). </div>
                                <div><br>
                                </div>
                                <div>Before I go any deeper into this
                                  direction I just wanted to get any
                                  feedback that current users have about
                                  this issue. And let me know if it
                                  should be opened as an Issue on the
                                  github project or stay on this mailing
                                  list. <br>
                                </div>
                              </div>
                            </blockquote>
                          </div>
                        </div>
                        Seems good for me. Anyway as you mentioned,
                        probably everybody had to integrate that into
                        some initialization function.
                        <div class="im">
                          <div><br>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div>Best Regards</div>
                                <div><br>
                                </div>
                                <div> Dave</div>
                                <div><br>
                                </div>
                                <div>P.S. Are there plans to bring
                                  cl-typesetting to github as well,
                                  side-by-side with cl-pdf?</div>
                              </div>
                            </blockquote>
                          </div>
                        </div>
                        Sure! I wanted to clean them up somewhat like I
                        have done with cl-pdf but maybe I should move
                        all this to github and clean it later. <br>
                        I'm also planning to modernize my web framework
                        and put it on github too but this will take some
                        time.<br>
                        <br>
                        Cheers,<br>
                        <br>
                        Marc
                        <div class="im">
                          <div><br>
                            <blockquote type="cite">
                              <div dir="ltr">
                                <div class="gmail_extra"><br>
                                </div>
                              </div>
                            </blockquote>
                          </div>
                        </div>
                      </div>
                    </blockquote>
                  </div>
                </div>
              </blockquote>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>