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