I have now downloaded fop-2.7 and used it successfully to build the rexxref PDF. Here <https://www.dropbox.com/s/loiqhtfnlc2edth/rexxref.pdf?dl=0> is the result.  I have done some work on the entities file as well as you will see 😁

Gil

On 7/6/2022 4:38 AM, Rony G Flatscher wrote:
Gil,

thank you very much fir your detailed explanations, very much appreciated!

Best regards

—-rony

Rony G. Flatscher (mobil/e)

Am 06.07.2022 um 02:48 schrieb Gilbert Barmwater <gi...@bellsouth.net>:



OK, I have some time now so here are the details (see below).

Gil

On 7/5/2022 8:54 AM, Gilbert Barmwater wrote:

Thanks, Rony, for taking a look at the document build package I recently uploaded and for your initial feedback.  I hope to be able to provide a detailed response later today or tomorrow.

Gil

On 7/5/2022 6:10 AM, Rony G. Flatscher wrote:

Hi Gil,

thank you for providing the ooRexx set of scripts! Nice that you now use a property file for the configuration instead of environment variables!

I believe this was your suggestion way back when and it has proved to be beneficial in multiple ways, like being able to resume work on a document in the step you left off without having to re specify the path or the document, even across command prompts or terminal windows.

A question ad the name "bldoc_orx": what does it stand for?

The original package was bldoc_win indicating a package to build documents on Windows.  I expected a similar name for the Mac and *nix packages but that never happened.  The name here is indicative of a package to build documents using ooRexx, regardless of platform.

One suggestion: a readme.txt file that briefly explains the sequence of scripts to use (and what they do) would be very helpful for newcomers who try to use the scripts to create the documentation on their own.

Indeed.  As I stated earlier on this subject (different thread), "The coding was complete but the documentation wasn't ...".  I also indicated that in the commit message: "Documentation is not complete."  The original package has a file named "read1st.txt" that gives an overview of the package and the process to install it and then to build documents.  It is in need of a major rewrite which has not been started.  The file "sources.txt" was almost complete so I "finished" it and included it.  For those who have used the previous package(s), the script names have remained the same so the old file may be of some help until a new one can be created.

---

Just ran "setup.rex" on Windows to get the necessary programs downloaded. At the end the following error came up:

    Making Apache FOP package available. (5/5)
            Downloading fop-2.6-bin.zip
    Start-BitsTransfer : HTTP-Status 404: Die angeforderte URL ist
    auf diesem Server nicht vorhanden.
    At line:1 char:1
    + Start-BitsTransfer
    https://mirror.nodesdirect.com/apache/xmlgraphics/ ...
    +
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation: (:)
    [Start-BitsTransfer], Exception
        + FullyQualifiedErrorId :
    
StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.Management.NewBits
       TransferCommand

            Error retrieving fop-2.6-bin.zip; RC was 1.

The reason being that the package name has changed on that location to "fop-2.7-bin.zip".

Changed the name and it is nice to see that setup.rex will pick up right there, great!

We have encountered this problem before.  The original package used fop-2.4 but Jean-Louis reported the same error when he tried it.  The level had jumped to 2.6 by then.  I updated the package and the ooRexx version at the time and that solved the problem.  The fo2pdf step has code to determine the (newest) level of fop installed so it did not require changes (although I may have added that code at that point in time).  There has been no activity on these packages for 2 years (see the copyright dates!) so I'm surprised that fop is only at 2.7 now.

The larger problem is we are subject to this breakage every time fop releases a new level.  It should be possible to determine the "current" level dynamically before attempting the download but there is no guarantee that the newest level will work with our other tools without other changes so that might not be advisable.

---

Ran:

    docpath.rex path to oorexx\docs\trunk
    docprep.rex rexxref
    doc2pdf.rex

Noticed that docprep.rex copies the book's en-US files into work_folder, however the subdirectory "en-US\images" and its subfolders are missing, so not sure, whether the raildiagrams can make it.

I believe that I needed to copy them when creating the HTML version of the document but the PDFs I create on my system all have the syntax diagrams in them.  I do not remember the reason for this as it has been too long since I actively worked on it.

The fo file got created (fo_files\rexxref.fo):

      Directory of G:\oorexx.tmp\gilDocs\bldoc_orx\fo_files

    05.07.2022  11:53    <DIR>          .
    05.07.2022  11:53    <DIR>          ..
    05.07.2022  11:24                56 info.txt
    05.07.2022  11:54        11 533 942 rexxref.fo

However the pdf file was not created.

Looking up the logfile:

    G:\oorexx.tmp\gilDocs\bldoc_orx>type log_files\rexxref.log
    Juli 05, 2022 11:54:27 AM org.apache.fop.apps.FopConfParser configure
    INFO: Default page-height set to: 297mm
    Juli 05, 2022 11:54:27 AM org.apache.fop.apps.FopConfParser configure
    INFO: Default page-width set to: 210mm
    Juli 05, 2022 11:54:27 AM org.apache.fop.cli.Main startFOP
    SEVERE: Exception
    org.apache.fop.apps.FOPException: java.net.MalformedURLException: unknown 
protocol: f
    java.net.MalformedURLException: unknown protocol: f
             at org.apache.fop.util.LogUtil.handleException(LogUtil.java:57)
             at 
org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:113)
             at 
org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229)
             at 
org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82)
             at 
org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147)
             at 
org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127)
             at 
org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170)
             at 
org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187)
             at 
org.apache.fop.area.RenderPagesModel.<init>(RenderPagesModel.java:75)
             at 
org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135)
             at 
org.apache.fop.area.AreaTreeHandler.<init>(AreaTreeHandler.java:105)
             at 
org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:363)
             at org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:109)
             at org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:104)
             at org.apache.fop.apps.Fop.<init>(Fop.java:78)
             at org.apache.fop.apps.FOUserAgent.newFop(FOUserAgent.java:184)
             at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:108)
             at org.apache.fop.cli.Main.startFOP(Main.java:183)
             at org.apache.fop.cli.Main.main(Main.java:214)
    Caused by: java.net.MalformedURLException: unknown protocol: f
             at java.base/java.net.URL.<init>(URL.java:681)
             at java.base/java.net.URL.fromURI(URL.java:748)
             at java.base/java.net.URI.toURL(URI.java:1139)
             at 
org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:94)
             ... 17 more

    ---------

    java.net.MalformedURLException: unknown protocol: f
             at java.base/java.net.URL.<init>(URL.java:681)
             at java.base/java.net.URL.fromURI(URL.java:748)
             at java.base/java.net.URI.toURL(URI.java:1139)
             at 
org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:94)
             at 
org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229)
             at 
org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82)
             at 
org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147)
             at 
org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127)
             at 
org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170)
             at 
org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187)
             at 
org.apache.fop.area.RenderPagesModel.<init>(RenderPagesModel.java:75)
             at 
org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135)
             at 
org.apache.fop.area.AreaTreeHandler.<init>(AreaTreeHandler.java:105)
             at 
org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:363)
             at org.apache.fop.fo.FOTreeBuilder.<init>(FOTreeBuilder.java:109)
             at org.apache.fop.apps.Fop.createDefaultHandler(Fop.java:104)
             at org.apache.fop.apps.Fop.<init>(Fop.java:78)
             at org.apache.fop.apps.FOUserAgent.newFop(FOUserAgent.java:184)
             at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:108)
             at org.apache.fop.cli.Main.startFOP(Main.java:183)
             at org.apache.fop.cli.Main.main(Main.java:214)

So something seems to be wrong with detecting the fonts, which got downloaded by setup.rex to:

    G:\oorexx.tmp\gilDocs\bldoc_orx>dir "Liberation Fonts"
      Volume in drive G is root_g
      Volume Serial Number is 2F1A-EC34

      Directory of G:\oorexx.tmp\gilDocs\bldoc_orx\Liberation Fonts

    05.07.2022  11:41    <DIR>          .
    05.07.2022  11:41    <DIR>          ..
    05.07.2022  05:41           301 684 LiberationMono-Bold.ttf
    05.07.2022  05:41           277 912 LiberationMono-BoldItalic.ttf
    05.07.2022  05:41           274 984 LiberationMono-Italic.ttf
    05.07.2022  05:41           313 408 LiberationMono-Regular.ttf
    05.07.2022  05:41           353 936 LiberationSans-Bold.ttf
    05.07.2022  05:41           349 724 LiberationSans-BoldItalic.ttf
    05.07.2022  05:41           355 608 LiberationSans-Italic.ttf
    05.07.2022  05:41           350 200 LiberationSans-Regular.ttf
    05.07.2022  05:41             4 469 SIL Open Font License.txt

Note that this package, just like the previous ones, does NOT install the fonts.  That must be done by the user should they wish to use them.  This was a conscious decision on my part and one I continue to believe is correct.  Anyone wishing to develop a script to do it is welcome but it should remains optional IMHO.

Now I have not tried fop-2.7 so that may be the root cause of the errors you are experiencing.  If time permits, I will do that and report back either way.  If you have access to fop-2.6, you might try replacing 2.7 (just adding 2.6 will not work as the code will use 2.7 I believe if they are both present) and see if the JAVA errors go away.

---

You are using powershell in setup.rex to download and unzip the archives. If you were to use curl (it became part of Windows 10 and is usually available on Unix systems) for downloading, then setup.rex might be used to also download resources for Unix as well (ad unzipping: that should be possible by default on Unix systems with unzip).

I choose to use Powershell, although I despise it's syntax and usability, because it was one tool that could both download AND unzip the various external packages.  Using curl to download would then require a different program to unzip the files which seemed unnecessarily complicated. BTW, Powershell is supposedly available for non-Windows systems as well although I have no experience with it in those environments.

Best regards

---rony

P.S.: <https://wi.wu.ac.at/rgf/wu/lehre/slides/BusinessProgramming/060_ooRexx_commands_V14.pdf> contains a couple of curl examples that can be used on any operating system.



_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to