Jump to content

Photo

Some basic SVG...


4 replies to this topic

#1 iKarith OFFLINE  

iKarith

    Moonsweeper

  • 271 posts
  • Location:Portland OR

Posted Sun May 14, 2017 10:57 PM

As one of my goals, I have the preservation of documentation for retrocomputers and the TI-99/4A among them.  We have scans of most of them available on archive.org and elsewhere, but they're low resolution/quality scans, have poor OCRing with lots of errors, poor accessibility due to these two factors, and they just don't look very nice with things like moire patterns on the cover scans, etc.
 
The bad news: Probably these manuals predate an electronic publishing format we could just convert to something modern.  Even if they were in some format like Quark, someone from TI would likely have dumped them into the community and SOMEONE would have the means to convert it.  That means a lot of work.
 
I started with Beginner's BASIC from archive.org.  There's a lot of illustrations in here, but they're mostly line art.  That means HTML is probably ideal.  The illustrations can be done as SVG files.  With a suitably high-resolution scan, the drawings would take up very little space.  If the text were done in a fairly light templating language like one of the more featureful Markdown implementations, it'd be easy to generate a PDF with page layout and a good index.
 
But how realistic is this?  Let's find out!
 
Attached File  ti-beginners-basic-cover.jpg   64.37KB   14 downloads
 
Dimensions of this manual appear to be around 8.5x10.5, but since we don't care about print, I'm just gonna use px and estimate 1px = 1twip.  Twip is a Microsoft/Word/RTF thing, 144/inch (1/2 point) for a size of 1224x1524.  That means a 1pt line should be visible if the thing is scaled down to 612x762.  Fine business for technical drawings.  Oh and those colors on archive.org are wrong since multiple images suggests this is more correct:
 
0ab96e7ff319fe85d1cafa07a9b8bf22.jpg
 
Okay, let's see what we can do with that in a skeleton SVG file:

<?xml version="1.0" encoding="UTF-8"?>
<!-- vim: set tabstop=2 shiftwidth=2 filetype=svg: -->
<svg version="1.1" viewBox="0 0 1224 1524" xmlns="http://www.w3.org/2000/svg">
  <title>TI-99/4A Beginner's Basic cover</title>
  <rect x="0" y="152" width="1224" height="1372" fill="#4aa4fa"/>
  <rect x="0" y="80" width="1224" height="72" fill="#c2c3c5"/>
  <rect x="0" y="224" width="1224" height="72" fill="#3990f1"/>
  <rect x="0" y="296" width="1224" height="72"/>
</svg>

Attached File  ti-beginners-basic-colors.png   1.4KB   11 downloads

I'm happy with that!  (Someone correct me if my colors are too far off?)
 
The 4x4 grid appears to be just over 4/5's of the width, and the grid's contents are square.  Black border is cut off on the right.  Guesstimating 248 for the squares and 2 for the borders.  That means 1000x1002, right-justified.
 
Let's add the grid, then comment out the inverse boxes.
 

  <rect x="224" y="462" width="1000" height="1002"/>
  <g fill="#fff">
    <rect x="226" y="464" width="248" height="248"/>
    <!--<rect x="476" y="464" width="248" height="248"/>-->
    <rect x="726" y="464" width="248" height="248"/>
    <rect x="976" y="464" width="248" height="248"/>

    <!--<rect x="226" y="714" width="248" height="248"/>-->
    <rect x="476" y="714" width="248" height="248"/>
    <rect x="726" y="714" width="248" height="248"/>
    <rect x="976" y="714" width="248" height="248"/>

    <rect x="226" y="964" width="248" height="248"/>
    <rect x="476" y="964" width="248" height="248"/>
    <!--<rect x="726" y="964" width="248" height="248"/>-->
    <rect x="976" y="964" width="248" height="248"/>
 
    <!--<rect x="226" y="1214" width="248" height="248"/>-->
    <rect x="476" y="1214" width="248" height="248"/>
    <rect x="726" y="1214" width="248" height="248"/>
    <!--<rect x="976" y="1214" width="248" height="248"/>-->
  </g>

I'll remove those comments going forward, but you can see how I basically generated these values once only.  ;)  That gives us:

 

Attached File  ti-beginners-basic-grid.png   1.63KB   10 downloads

 

Hopefully this is inspiring others to want to play too!  ;)  I'll come back after I have filled in the grid.



#2 matthew180 OFFLINE  

matthew180

    River Patroller

  • 2,408 posts
  • Location:Castaic, California

Posted Mon May 15, 2017 12:22 AM

I started going down this road once, then realized there was not enough time in a life to preserve everything by reproducing it using modern tools.  That's when I discovered the huge amount of open source software and hardware available for high resolution book scanning.  Do some Internet searching on "diy book scanning".

 

I also discovered that someone had already scanned the book I had stated reproducing!  Even though mine would have been better quality (i.e. reproduced in digital using modern tools), in reality the scanned version was better simply by virtue of being done and available to people, while mine (after months of work in my spare time) was not even half complete.



#3 iKarith OFFLINE  

iKarith

    Moonsweeper

  • Topic Starter
  • 271 posts
  • Location:Portland OR

Posted Mon May 15, 2017 1:08 AM

The grid contents appear to be 15x16 bitmap characters.  I'll need the letters in BASIC, 2, =, and two arrows as well as a line for arrow continuation.  I'll do these as SVG paths, which are made of commands like m(oveto x y), l(ineto x y), v(ertical lineto y), h(horizontal lineto x), c(urveto ...complicated :lolblue: ), and z for render.  You move somewhere and then start drawing the outline of a shape.  If you end somewhere other than where you started drawing, a line segment is drawn from finish to start.  It's possible to turn off the fill and turn on a stroke (edge line) which allows you to test your hand-written paths, but OMG nobody does these things by hand.  Inkscape isn't 100% trivial, but a blind guy can figure it out with some Internet reading.  Of course, the blind guy is doing these all by hand because in THIS case, it'll be faster.

 

Faster?

 

I said above the squares are 248px.  The font in them appears to be a 15x16 pixel font.  I work out the best way to get what I see in the scan is for pixels to be a hair taller than they are wide and figure about 10x11 looks right (I did this by making 150x176 blocks in the middle of one of the grid spaces.  It looks right so we'll use it.

 

I think you can just draw your object's outline, then moveto an inner coordinate and draw the holes (for letters like B), but I don't try to do things like that because I'm always afraid I'm going to screw it up.  Like I said, people don't do this by hand unless they're nuts.  ;)

 

SVG path commands come in absolute and relative forms.  I've saved myself some pain doing relative (lowercase) commands since it allowed me to draw characters like arrows and = only once and then just copy and tweak.  (That's how I got it done so fast!)  You can see my code for the = characters here:

  <!-- = -->
  <path d="m976,464 m49,36 v55 h150 v22 h-150 m0,22 h150 v22 h-150 z"/>
  <path d="m476,714 m49,36 v55 h150 v22 h-150 m0,22 h150 v22 h-150 z"/>
  <path d="m226,964 m49,36 v55 h150 v22 h-150 m0,22 h150 v22 h-150 z"/>
  <path d="m976,1214 m49,36 v55 h150 v22 h-150 m0,22 h150 v22 h-150 z" fill="#fff"/>

You can see how I used the relative moveto to simplify my life a bit.  Move to the offset of the grid square (the first moveto of a path is always absolute), then move again to the character cell, then move again to the top left edge of the character.  Yes, you can just add those coordinates all up, and I will.  But I assume y'all know more about the TI-99/4A than I do.  I don't assume y'all know SVG because it's basically freakin' encapsulated-PDF-commands-as-XML!  With CSS because why not?  Although, I'm not using that here.

 

Next I did the arrows.  While the pointy bit behaves like one of the 15x16 characters, the line of the arrows extends beyond the cell and spans a second.  Also, half of the arrow is always in an inverted square, and the arrow's line crosses the grid boundary as white.  Some slight adjustments to geometry were necessary for this:

  <!-- right arrows -->
  <path d="m226,464 m49,36 m-49,55 h248 v66 h-248 z"/>
  <path d="m476,464 m49,36 m60,11 h20 v11 h10 v11 h10 v11 h10 v11 h10 v11 h10 v44 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-20 v-44 h-111 v-66 h111 z" fill="#fff"/>
  <path d="m226,1214 m49,36 m-49,55 h250 v66 h-250 z" fill="#fff"/>
  <path d="m476,1214 m49,36 m60,11 h20 v11 h10 v11 h10 v11 h10 v11 h10 v11 h10 v44 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-20 v-44 h-109 v-66 h109 z"/>

  <!-- left arrow -->
  <path d="m726,964 m49,36 m70,11 h20 v44 h111 v66 h-111 v44 h-20 v-11 h-10 v-11 h-10 v-11 h-10 v-11 h-10 v-11 h-10 v-44 h10 v-11 h10v-11 h10v-11 h10v-11 h10 z" fill="#fff"/>
  <path d="m976,964 m49,36 m-49,55 h248 v66 h-248 z"/>

You can see that paths get complicated quickly.  When composing, I tend to include whitespace.  I collapse it when I'm done, and have done so here for message brevity.  Again, I haven't collapsed the movetos yet.

 

All right, no putting it off anymore.  These are just long: 2 and the letters of BASIC.  You have to take your time and preview often, that's all.

  <!-- BASIC -->
  <path d="m226,714 m49,36 m10,0 h110 v11 h10 v11 h10 v44 h-10 v11 h-10 v22 h10 v11 h10 v44 h-10 v11 h-10 v11 h-110 v-22 h100 v-11 h10 v-22 h-10 v-11 h-10 v-22 h-70 v-20 h80 v-11 h10 v-22 h-10 v-11 h-80 v132 h-20 z" fill="#fff"/>
  <path d="m726,464 m49,36 m70,0 h10 v11 h10 v11 h10 v22 h10 v22 h10 v22 h10 v22 h10 v22 h10 v44 h-20 v-33 h-10 v-22 h-90 v22 h-10 v33 h-20 v-44 h10 v-22 h10 v-22 h10 v-22 h10 v-22 h10 v-22 h10 v-11 h10 v44 h-10 v22 h-10 v22 h50 v-22 h-10 v-22 h-10 v-11 h-10 z"/>
  <path d="m976,714 m49,36 m40,0 h80 v11 h10 v11 h10 v22 h-20 v-11 h-10 v-11 h-60 v11 h-10 v11 h-10 v44 h-30 h120 v11 h10 v11 h10 v44 h-10 v11 h-10 v11 h-90 v-11 h-10 v-11 h-10 v-22 h20 v11 h10 v11 h70 v-11 h10 v-22 h-10 v-11 h-90 v-11 h-10 v-66 h10 v-11 h10 v-11 h10 z"/>
  <path d="m476,964 m49,36 m30,0 h80 v22 h-30 v132 h30 v22 h-80 v-22 h30 v-132 h-30 z"/>
  <path d="m726,1214 m49,36 m40,0 h80 v11 h10 v11 h10 v22 h-20 v-11 h-10 v-11 h-60 v11 h-10 v11 h-10 v88 h10 v11 h10 v11 h60 v-11 h10 v-11 h20 v22 h-10 v11 h-10 v11 h-80 v-11 h-10 v-11 h-10 v-11 h-10 v-110 h10 v-11 h10 v-11 h10 z"/>

  <!-- 2 -->
  <path d="m726,714 m49,36 m50,0 h60 v11 h10 v11 h10 v44 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h80 v22 h-120 v-22 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-22 h-10 v-11 h-40 v11 h-10 v11 h-10 v11 h-20 v-22 h10 v-11 h10 v-11 h10 z"/>

So what do I get for my trouble?

 

Attached File  ti-beginners-basic-textless.png   4.19KB   6 downloads

 

That's not bad.  Now I need some text and a TI logo for the corner.  Text I did by hand.  The font used is similar to Helvetica, but wider than that.  I don't have Helvetica Neue Exp which is probably a better fit here, and it's not important to get this EXACTLY right, so I'm just gonna leave it at Helvetica.  I should change these font specifications to CSS styles so that I can more easily specify fallbacks to Arial, Vera, FreeSans, sans-serif, etc.

    <text font-size="32" font-family="Helvetica">
        <tspan x="60" y="48">Texas Instruments TI-99/4A Computer</tspan>
    </text>
  <text font-size="60" font-family="Helvetica" font-style="italic" font-weight="bold" fill="#fff">
    <tspan x="692" y="204">Beginner&apos;s</tspan>
  </text>
  <text font-size="60" font-family="Helvetica" font-style="italic" font-weight="bold" fill="#fff">
    <tspan x="692" y="280">BASIC</tspan>
  </text>
  <text font-size="18" font-family="Helvetica" font-style="italic">
    <tspan x="692" y="396">Step-by-step hands-on approach to learning</tspan>
    <tspan x="692" y="418">the fun and power of programming</tspan>
    <tspan x="692" y="440">in the Tl BASIC language.</tspan>
  </text>

Looks like this:

 

Attached File  ti-beginners-basic-text.png   12.36KB   6 downloads

 

That just leaves the TI logo.  I've decided NOT to use an outline as is correct here, mostly because using a solid logo makes it easier to see when scaled.  This I've just traced in Inkscape which created a crazy long af path.  We don't need it, it's too long, etc.  Select object, lock aspect, resize to 32 height (eh, close enough), and then simplify not so simply.

 

Inkscape's simplify command has a problem: It wants to replace everything with curveto.  If you have nice sharp lines, it assumes you don't want those.  And you don't get control over that.  Literally how I did this was to duplicate the tracing, and change color of the duplicate.  I put the original in black at a specific location, covered it with mostly transparent white rectangle much bigger than the TI logo (as a guard against accidentally clicking the original logo's "nodes"), and then cut the "ti" part of the path out, leaving the Texas with a big chunk missing and a new path object containing the "ti" part.

 

I moved the "ti" below the big safety rectangle--I didn't need it yet and repeated this process with the square part of the Texas.  I selected the rest and did a simplify on it.  Looked good except for one or two nodes I had to drag into shape myself.  Helps if you understand Bezier curves for this.  Fortunately, I do!  :)

 

I grabbed the square corners object and unioned it with the Texas.  The aftermath left a couple of wonky spots and a node or two that didn't need to be there.  Select and delete, which broke two nodes.  Select one and hit the "make corner" button (which turned one of my preserved line segments into a wonky curve), then select the two endpoints of that and hit the line segment button to fix it.  The other broken node needed to be selected and hit the smooth button.

 

That left the "ti" part.  I honestly just redid that using the draw path tool.  I traced the outline of the t in line segments, turned the ones that needed to be curvy into curves, and unioned the result with the Texas.  Another quick path for the "i" and an ellipse for the dot, select all three and union.

 

That's what "simplify" looks like if you don't want to simplify the whole thing and turn straight lines into arcs and curves.  Gah.  That said, once you're used to doing it it takes longer to describe than to do.  If it sounds complex, it is.  I'll just show the code.

  <!-- TI logo -->
  <path d="
    m  1152     , 25
    v    12.83
    h    -8.7
    c    -0.6   ,  2.18    3  , 2.9   3.7, 4.69
          0.7   ,  1.78    1.2, 3.99  3.2, 4.84
          2.1   ,  0.94    3.5,-2.37  5.7,-1.47
          1.7   ,  1.13    2.4, 3.2   3.4, 4.95
          1.2   ,  2.58    3  , 5.48  6  , 5.97
          0.3   ,  0       0.5, 0.1   0.8, 0.1
          2.2   ,  0.1     2  , 0     2.3,-0.37
          0.4   , -0.36   -0.3,-1.2  -0.5,-2.28
         -0.5   , -2.86    1.3,-5.57  3.7,-6.96
          2.1   , -1.3     3.9,-1.85  5.3,-2.75
          0.9   , -1.85    0.6,-5.01  0.1,-5.68
         -1.2   , -0.19   -1  ,-1.67 -1.1,-2.31
         -0.3   , -1.45    0.1,-3.12 -0.8,-4.36
         -0.8   , -0.12   -1.8,-0.31 -2.6,-0.31
    h    -3.4
    c    -0.1   ,  0      -0.1, 0.23 -0.1, 0.33
    l    -0.5   ,  2.81
    h     2.8
    c     0     ,  1.01   -0.6, 2.29 -0.7, 3.31
         -1     ,  0      -2  , 0.1  -2.9, 0.1
    l    -1.4   ,  6.53
    c    -0.1   ,  0.24   -0.1, 0.46 -0.1, 0.49
    v     0.18
    c     0     ,  0.1     0.1, 0.14  0.2, 0.17
          0.2   ,  0       1  , 0     1.3,-0.15
          0.2   ,  0       0.3,-0.1   0.3, 0
    l    -0.2   ,  1.06
    c    -0.3   ,  1.74   -0.3, 1.59 -0.6, 1.7
         -0.9   ,  0.26   -2  , 0.41 -3.1, 0.41
         -0.7   ,  0      -1.7,-0.11 -2.1,-0.23
         -1     , -0.28   -1.7,-0.71 -2.2,-1.61
         -0.5   , -0.93   -0.3,-2.1  -0.1,-3.13
    l     1.1   , -5.41
    h    -3
    l     0.9   , -3.33
          2.9   , -0.1
          0.6   , -3.09
    h    -0.6
    c    -0.5   ,  0      -0.9,-0.26 -1.2,-0.62
         -1.1   , -1.53   -0.1,-4.18 -0.5,-6.33
    z

    m    13.5   ,  3.76
    a     1.6489,  1.6574  0  0  0   -1.6, 1.66
          1.6489,  1.6574  0  0  0    1.6, 1.65
          1.6489,  1.6574  0  0  0    1.7,-1.65
          1.6489,  1.6574  0  0  0   -1.7,-1.66
    z

    m   -2     ,  4.27
         -2.5   , 11.65
    h     3.7
    l     2.4   ,-11.65
    z"/>

Yeah.  Thankfully I have a very nice little thingy that expands out the spacing like that.  You can see the three pieces of the TI logo here.  The Texas (with t cutout where you start seeing lineto commands in the middle), the lines at the end making the body of the i, and the thing between them which is the a(rcto) command which ... also complicated.  :lolblue:

 

Attached File  ti-beginners-basic-finished.png   12.52KB   4 downloads

 

Only thing now missing are some XML namespaces and a metadata block.  I'll just grab those from my "complete" template (as opposed to "bare" that I started from for this) and ...

 

 



#4 iKarith OFFLINE  

iKarith

    Moonsweeper

  • Topic Starter
  • 271 posts
  • Location:Portland OR

Posted Mon May 15, 2017 1:20 AM

...and it doesn't let you attach .svg files, so here's the code:

<?xml version="1.0" encoding="UTF-8"?>
<!-- vim: set tabstop=2 shiftwidth=2 filetype=svg: -->
<svg version="1.1" viewBox="0 0 1224 1524" xmlns="http://www.w3.org/2000/svg" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <title>TI-99/4A Beginner's Basic cover</title>

    <rect x="0" y="152" width="1224" height="1372" fill="#4aa4fa"/>
    <rect x="0" y="0" width="1224" height="80" fill="#fff"/>
    <rect x="0" y="80" width="1224" height="72" fill="#c2c3c5"/>
    <rect x="0" y="224" width="1224" height="72" fill="#3990f1"/>
    <rect x="0" y="296" width="1224" height="72"/>

    <rect x="224" y="462" width="1000" height="1002"/>
    <g fill="#fff">
        <rect x="226" y="464" width="248" height="248"/>
        <rect x="726" y="464" width="248" height="248"/>
        <rect x="976" y="464" width="248" height="248"/>

        <rect x="476" y="714" width="248" height="248"/>
        <rect x="726" y="714" width="248" height="248"/>
        <rect x="976" y="714" width="248" height="248"/>

        <rect x="226" y="964" width="248" height="248"/>
        <rect x="476" y="964" width="248" height="248"/>
        <rect x="976" y="964" width="248" height="248"/>

        <rect x="476" y="1214" width="248" height="248"/>
        <rect x="726" y="1214" width="248" height="248"/>
    </g>

    <!-- = -->
    <path d="m976,464 m49,36 v55 h150 v22 h-150 m0,22 h150 v22 h-150 z"/>
    <path d="m476,714 m49,36 v55 h150 v22 h-150 m0,22 h150 v22 h-150 z"/>
    <path d="m226,964 m49,36 v55 h150 v22 h-150 m0,22 h150 v22 h-150 z"/>
    <path d="m976,1214 m49,36 v55 h150 v22 h-150 m0,22 h150 v22 h-150 z" fill="#fff"/>

    <!-- right arrows -->
    <path d="m226,464 m49,36 m-49,55 h248 v66 h-248 z"/>
    <path d="m476,464 m49,36 m60,11 h20 v11 h10 v11 h10 v11 h10 v11 h10 v11 h10 v44 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-20 v-44 h-111 v-66 h111 z" fill="#fff"/>
    <path d="m226,1214 m49,36 m-49,55 h250 v66 h-250 z" fill="#fff"/>
    <path d="m476,1214 m49,36 m60,11 h20 v11 h10 v11 h10 v11 h10 v11 h10 v11 h10 v44 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-20 v-44 h-109 v-66 h109 z"/>

    <!-- left arrow -->
    <path d="m726,964 m49,36 m70,11 h20 v44 h111 v66 h-111 v44 h-20 v-11 h-10 v-11 h-10 v-11 h-10 v-11 h-10 v-11 h-10 v-44 h10 v-11 h10v-11 h10v-11 h10v-11 h10 z" fill="#fff"/>
    <path d="m976,964 m49,36 m-49,55 h248 v66 h-248 z"/>

    <!-- BASIC -->
    <path d="m226,714 m49,36 m10,0 h110 v11 h10 v11 h10 v44 h-10 v11 h-10 v22 h10 v11 h10 v44 h-10 v11 h-10 v11 h-110 v-22 h100 v-11 h10 v-22 h-10 v-11 h-10 v-22 h-70 v-20 h80 v-11 h10 v-22 h-10 v-11 h-80 v132 h-20 z" fill="#fff"/>
    <path d="m726,464 m49,36 m70,0 h10 v11 h10 v11 h10 v22 h10 v22 h10 v22 h10 v22 h10 v22 h10 v44 h-20 v-33 h-10 v-22 h-90 v22 h-10 v33 h-20 v-44 h10 v-22 h10 v-22 h10 v-22 h10 v-22 h10 v-22 h10 v-11 h10 v44 h-10 v22 h-10 v22 h50 v-22 h-10 v-22 h-10 v-11 h-10 z"/>
    <path d="m976,714 m49,36 m40,0 h80 v11 h10 v11 h10 v22 h-20 v-11 h-10 v-11 h-60 v11 h-10 v11 h-10 v44 h-30 h120 v11 h10 v11 h10 v44 h-10 v11 h-10 v11 h-90 v-11 h-10 v-11 h-10 v-22 h20 v11 h10 v11 h70 v-11 h10 v-22 h-10 v-11 h-90 v-11 h-10 v-66 h10 v-11 h10 v-11 h10 z"/>
    <path d="m476,964 m49,36 m30,0 h80 v22 h-30 v132 h30 v22 h-80 v-22 h30 v-132 h-30 z"/>
    <path d="m726,1214 m49,36 m40,0 h80 v11 h10 v11 h10 v22 h-20 v-11 h-10 v-11 h-60 v11 h-10 v11 h-10 v88 h10 v11 h10 v11 h60 v-11 h10 v-11 h20 v22 h-10 v11 h-10 v11 h-80 v-11 h-10 v-11 h-10 v-11 h-10 v-110 h10 v-11 h10 v-11 h10 z"/>

    <!-- 2 -->
    <path d="m726,714 m49,36 m50,0 h60 v11 h10 v11 h10 v44 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h-10 v11 h80 v22 h-120 v-22 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-11 h10 v-22 h-10 v-11 h-40 v11 h-10 v11 h-10 v11 h-20 v-22 h10 v-11 h10 v-11 h10 z"/>

    <!-- TEXT -->
    <text font-size="32" font-family="Helvetica">
        <tspan x="60" y="48">Texas Instruments TI-99/4A Computer</tspan>
    </text>
    <text font-size="60" font-family="Helvetica" font-style="italic" font-weight="bold" fill="#fff">
        <tspan x="692" y="204">Beginner&apos;s</tspan>
    </text>
    <text font-size="60" font-family="Helvetica" font-style="italic" font-weight="bold" fill="#fff">
        <tspan x="692" y="280">BASIC</tspan>
    </text>
    <text font-size="18" font-family="Helvetica" font-style="italic">
        <tspan x="692" y="396">Step-by-step hands-on approach to learning</tspan>
        <tspan x="692" y="418">the fun and power of programming</tspan>
        <tspan x="692" y="440">in the Tl BASIC language.</tspan>
    </text>

    <!-- TI logo -->
    <path d="m 1152,25 v 12.83 h -8.7 c -0.6,2.18 3,2.9 3.7,4.69 0.7,1.78 1.2,3.99 3.2,4.84 2.1,0.94 3.5,-2.37 5.7,-1.47 1.7,1.13 2.4,3.2 3.4,4.95 1.2,2.58 3,5.48 6,5.97 0.3,0 0.5,0.1 0.8,0.1 2.2,0.1 2,0 2.3,-0.37 0.4,-0.36 -0.3,-1.2 -0.5,-2.28 -0.5,-2.86 1.3,-5.57 3.7,-6.96 2.1,-1.3 3.9,-1.85 5.3,-2.75 0.9,-1.85 0.6,-5.01 0.1,-5.68 -1.2,-0.19 -1,-1.67 -1.1,-2.31 -0.3,-1.45 0.1,-3.12 -0.8,-4.36 -0.8,-0.12 -1.8,-0.31 -2.6,-0.31 h -3.4 c -0.1,0 -0.1,0.23 -0.1,0.33 l -0.5,2.81 h 2.8 c 0,1.01 -0.6,2.29 -0.7,3.31 -1,0 -2,0.1 -2.9,0.1 l -1.4,6.53 c -0.1,0.24 -0.1,0.46 -0.1,0.49 v 0.18 c 0,0.1 0.1,0.14 0.2,0.17 0.2,0 1,0 1.3,-0.15 0.2,0 0.3,-0.1 0.3,0 l -0.2,1.06 c -0.3,1.74 -0.3,1.59 -0.6,1.7 -0.9,0.26 -2,0.41 -3.1,0.41 -0.7,0 -1.7,-0.11 -2.1,-0.23 -1,-0.28 -1.7,-0.71 -2.2,-1.61 -0.5,-0.93 -0.3,-2.1 -0.1,-3.13 l 1.1,-5.41 h -3 l 0.9,-3.33 2.9,-0.1 0.6,-3.09 h -0.6 c -0.5,0 -0.9,-0.26 -1.2,-0.62 -1.1,-1.53 -0.1,-4.18 -0.5,-6.33 z m 13.5,3.76 a 1.6489,1.6574 0 0 0 -1.6,1.66 1.6489,1.6574 0 0 0 1.6,1.65 1.6489,1.6574 0 0 0 1.7,-1.65 1.6489,1.6574 0 0 0 -1.7,-1.66 z m -2,4.27 -2.5,11.65 h 3.7 l 2.4,-11.65 z"/>

  <metadata>
    <rdf:RDF>
      <cc:Work rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
        <dc:title/>
      </cc:Work>
    </rdf:RDF>
  </metadata>
</svg>

Just select it and save as something like ti-beginners-basic-cover.svg and you're good to go.



#5 iKarith OFFLINE  

iKarith

    Moonsweeper

  • Topic Starter
  • 271 posts
  • Location:Portland OR

Posted Mon May 15, 2017 1:32 AM

I started going down this road once, then realized there was not enough time in a life to preserve everything by reproducing it using modern tools.  That's when I discovered the huge amount of open source software and hardware available for high resolution book scanning.  Do some Internet searching on "diy book scanning".

 

I also discovered that someone had already scanned the book I had stated reproducing!  Even though mine would have been better quality (i.e. reproduced in digital using modern tools), in reality the scanned version was better simply by virtue of being done and available to people, while mine (after months of work in my spare time) was not even half complete.

 

It's only "available" if you can use it.  I generally can't.  Fuzzy text, hard to read, can't be read by computer to put it into a better format.  :(  Though there's no reason why you couldn't just make chapter PDFs out of the already scanned book, then chop up sections into a series of page images, and go through and gradually turn these into test and PNG, then ultimately text and SVG.

 

Ultimately though what's needed is a better scan.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users