<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
<p>Hi Christian,</p>
<p><br>
</p>
<p>that sounds really exciting! I filed <a href="https://github.com/PortingPDFtalk/SqueakPDFtalk/blob/52a7585b2cc2f2e64f8cd4172e44b13a123586a5/PDFtalk.Squeak60.st" class="OWAAutoLink" id="LPlnk729727" previewremoved="true">https://github.com/PortingPDFtalk/SqueakPDFtalk/blob/52a7585b2cc2f2e64f8cd4172e44b13a123586a5/PDFtalk.Squeak60.st</a> into
 a fresh Squeak 6.0beta image, but I was not yet able to find any running demo - could you give me a few pointers? :-)</p>
<p><br>
</p>
<p>Starting with "<span>PtPDF demo01_HelloWorld", I investigated the following issues (in order):</span></p>
<p><span><br>
</span></p>
<p></p>
<ul style="margin-bottom: 0px; margin-top: 0px;">
<li><span>The do-its in the method comments in these demonstration categories do not work as they are written. Instead of "PDF demo01_HelloWorld", the comment should be </span>"PtPDF demo01_HelloWorld".</li><li>Debugger in <span>PtAttributeType class>>#allInMethod:: <span>MessageNotUnderstood: Pragma class>>allInMethod: - this needs to be replaced with "aCompiledMethod pragmas".</span></span></li><li><span><span>Debugger in <span>PtName class(Object class)>>pdfType: <span>MessageNotUnderstood: Metaclass>>instanceBehavior - #<span>instanceBehavior needs to be replaced with #theNonMetaClass.</span></span></span></span></span></li><li><span><span><span><span><span>Debugger in <span>PtRectangle class(PDFArray class)>>on:: <span>MessageNotUnderstood: Array>>doWithIndex: - #doWithIndex: needs to be replaced with #withIndexDo:.</span></span></span></span></span></span></span></li><li><span><span><span><span><span><span><span>Debugger in <span>String class>>decodeASCII85Group: <span>Error: ByteString called #basicNew: with invalid argument -1 - I fixed this by replacing the last line with "<span>^wst contents reverse first: (inputString
 size - 1 max: 0)"</span></span></span></span></span></span></span></span></span></span></li><li><span><span><span><span><span><span><span><span><span><span>Furthermore, <span>String class>>#decodeASCII85Group: depends on the undeclared class StreamError - I fixed this by adding a new PtStreamError subclass of Error.</span></span></span></span></span></span></span></span></span></span></span></li><li><span><span><span><span><span><span><span><span><span><span><span>Debugger in <span>PtFAdobeFontMetric>>fontBBox:: <span>MessageNotUnderstood: ByteString>>tokensBasedOn: --</span></span></span></span></span></span></span></span></span></span></span></span></span></li></ul>
<p></p>
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
<br>
</div>
At this point, I have no further time left, unfortunately. :-) But tl;dr: Is there already some nice example that you can actually run in Squeak?</div>
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
<br>
</div>
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
And furthermore, I would be interested in hearing some of your thoughts about how you are planning to maintain and involve a project like this for multiple Smalltalk dialects in parallel. That transformation technique sounds very powerful, but as far as I understand,
 there are still several other concerns related to porting and maintenance - for instance, if you want to use the original VW code base as the single source of truth and create the Squeak code by code generation only, how do you want to write Squeak-specific code?
 And how will the Transformations approach detect dialect-specific dependencies that go beyond explicit bindings (such as the extension method in the last debugger I mentioned)? Please keep blogging when you are solving questions like these ones! :-)</div>
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
<br>
</div>
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
Best,</div>
<div id="divtagdefaultwrapper" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;" dir="ltr">
Christoph<br>
<br>
<div style="color: rgb(0, 0, 0);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von John-Reed Maffeo <jrmaffeo@gmail.com><br>
<b>Gesendet:</b> Mittwoch, 18. Mai 2022 23:18 Uhr<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] PDFtalk for Squeak - first fileOut</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div class="gmail_default" style="font-size:small">Christian,</div>
<div class="gmail_default" style="font-size:small"><br>
</div>
<div class="gmail_default" style="font-size:small">I don't know if my Squeak skills are upto the task, but I am willing to do what I can. I have a particular interest in geospatial PDF and did some development in Squeak utilizing USGS SDTS geodata many years
 ago.</div>
<div class="gmail_default" style="font-size:small"><br>
</div>
<div class="gmail_default" style="font-size:small">I am self taught and never collaborated on a Smalltalk project before. My strength is in analysis and design of data oriented applications: find data, download date, extract interesting data and use the data
 in interesting ways.</div>
<div class="gmail_default" style="font-size:small">My hardware is older i.e. Mac, Windows, and Android are not running current OS but they meet my needs.
<br>
</div>
<div class="gmail_default" style="font-size:small"><br>
</div>
<div class="gmail_default" style="font-size:small">I will help where I can,</div>
<div class="gmail_default" style="font-size:small">John-Reed<br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, May 17, 2022 at 10:27 AM Christian Haider <<a href="mailto:mail@christianhaider.de" target="_blank">mail@christianhaider.de</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex; border-left:1px solid rgb(204,204,204); padding-left:1ex">
<div lang="DE">
<div>
<p class="MsoNormal"><span lang="EN-CA">Hi Squeakers,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA">as some of you know, there is a project on the way for porting the PDFtalk library from VisualWorks to Squeak and other non-namespaced Smalltalks [1]. Now I can report a first significant achievement: the new version
 of the transformation tool was used successfully to produce the first fileOut of the full PDF library including tests [2].<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA">Some simple massaging was needed, but now the fileOut should load into Squeak 6.0 without errors. The file is about 6 MB in size and takes around 8 minutes to load on my machine. There are lots of load warnings in the
 Transcript and many tests have errors, but all code loads and can be browsed and examined.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA">The tool automatically rewrites namespaced names with prefixed globally unique names. This seems to work well and automates away much of the usual porting work.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA">Now I am looking for a Squeaker with an interest in PDF and/or the transformation tool and some time at hand to pair up for some coding. This is an exiting project… Heads up – who wants to be part of this?<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA">Happy hacking,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA">                Christian<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA">[1] <a href="https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout" target="_blank">
https://wiki.pdftalk.de/doku.php?id=pdftalknonnamespacefileout</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA">[2] <a href="https://wiki.pdftalk.de/doku.php?id=portingblog#first_fileout_of_the_full_pdftalk_for_squeak_60" target="_blank">
https://wiki.pdftalk.de/doku.php?id=portingblog#first_fileout_of_the_full_pdftalk_for_squeak_60</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-CA">P.S. I hope that I am writing to the right list – apologies, if this is spam for you<u></u><u></u></span></p>
</div>
</div>
<br>
</blockquote>
</div>
<br clear="all">
<br>
-- <br>
<div dir="ltr">
<div dir="ltr">John-Reed Maffeo<br>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>