[comp.sys.amiga.programmer] Here's an EASY one for you

dac@prolix.pub.uu.oz.au (Andrew Clayton) (04/05/91)

The story so far;

Dac [that's me] has this really, like, y'know, lame idea of putting big
letters in messages, like this:

           ____   _____   ___    ____  _   _   ___   ____    _____  
          |****\ |*****| /***\  /****||*| |*| /***\ |****\  /****/  
          |*|_)*)  |*|  |*| ~~ |*|    |*|_|*||*|_|*||*|_|*)<*<__    
          |****<   |*|  |*| __ |*|    |*****||*****||****/  \***\   
          |*|_)*) _|*|_ |*||**||*|___ |*| |*||*| |*||*|\*\ ____>*>  
          |****/ |*****| \***/  \****||*| |*||*| |*||*| \*\\****/

So I did it, in Arexx, with a lookup table approach to the problem, and
although it works [and is decidedly lame :-)], I've been thinking how much
nicer it would be if I could have things like lower case, punctuation, and the
special characters [)(*&^%$#@!  etc.]. I could put all 95 characters in the
lookup table, but heck, it's as slow as a wet week already, and the
information I need is ALREADY there, in the bitmap for the font!

So, I got this idea that I could sneak up on the font currently in use, and
rip it's living soul out whilst it wasn't looking [for each character], and
for every pixel defined in the bitmap, put up a '*' or something [go on, call
me lame, I can take it :-/].

Now, in Modula 2, this would be pretty simple [he sez, hoping to bluff some of
the more easily led], but I happen to like Arexx a great deal, and thought it
would be a neat project.

Well, it's not a neat project at all.  It sucks the big one, and because I am
a totally lazy reprobate, I thought to myself "heck, there are all these
people out there, with nothing to do with their time except post flames [Got
yer ears on, Kent?], who claim to be able to do all sorts of things.  Perhaps
if I fobbed off my problem to the net, I'd get a result without having to
expend any real effort, [said result being a lame program to print big
renditions of characters out to screen, file, a lurking BBS, whatever]."

                                So here it is!

Specifications: {May be subjected to any change you so desire}

Must be in Arexx. No horrid little assembler calls, or C calls, or Modula 2
calls [Jforth, Amigabasic, ADA, Draco, also excluded, get the drift?]

Program can ue the default font, extra points will be given to people who suss
out what font is currently being used.  Italicization would be really neat,
and underlining and inverse, but that's double secret extra points material,
and not part of the basic spec.

Program will parse inputted text, and for each character encountered, produce
a bitmap image on the screen of each character.  For instance, 'Lame' would
come out something like

			 ###
			  #
			  #      ##   ## ##  ##
			  #        #  ## ## #  #
			  #   #  ###  # # # ####
			  #  ## #  #  #   # #
			 ######  ## # #   #  ##


[or something like that]

I haven't got the foggiest notion about how to follow pointers to things,
using Arexx, and I figger that such an ability _must_ be there, somewhere, I'm
just too damned lazy to find it.

So, if you're no too offended by the incredible tweeness of it all, I'd
appreciate your code [fragments will do], either here [if you're into
incredible wastes of bandwidth] or via my mailbox in Melbourne, Oz, which
fills up quite nicely, but has this horrid habit of [apparently] not
successfully sending any of my nicely formatted replies out.

I'll summarise if I get more than one mail on the subject.:-)

Thankyou for your attention.
Dac
--
{Send your flames to =Marc Barrett=, he's used to 'em}
David Andrew Clayton. // _l _  _ dac@prolix.pub.uu.oz.au    *or*|I post.I am.
Canberra, Australia.\X/ (_](_l(_ ccadfa.cc.adfa.oz.au!prolix!dac@munnari.oz

peterk@cbmger.UUCP (Peter Kittel GERMANY) (04/08/91)

In article <18f0bf14.ARN1771@prolix.pub.uu.oz.au> dac@prolix.pub.uu.oz.au writes:
>
> I could put all 95 characters in the
              ^^^^^^^^^^^^^^^^^
>lookup table
>--
>{Send your flames to =Marc Barrett=, he's used to 'em}

Ehm, I think here's a flame necessary: WHY THE H*LL DO YOU ONLY RECOGNIZE
95 CHARACTERS??? From my counting, the Amiga character set holds excatly
double as many chars!!! And when I'm on my way: Why the h*ll are those
quite normal characters always represented as dots (== non-chars) in
hex dumps? Why?

Let's take this to .advocacy, but let also all programmers know, that
there are more things than simply considering PAL or NTSC!

(You know what I really hate? Commercial fonts that cost big money and
only provide those "all 95 characters". Insulting.)

-- 
Best regards, Dr. Peter Kittel  // E-Mail to  \\  Only my personal opinions... 
Commodore Frankfurt, Germany  \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk

urjlew@uncecs.edu (Rostyk Lewyckyj) (04/21/91)

In article <1080@cbmger.UUCP>, peterk@cbmger.UUCP (Peter Kittel GERMANY) writes:
> In article <18f0bf14.ARN1771@prolix.pub.uu.oz.au> dac@prolix.pub.uu.oz.au writes:
> >
> > I could put all 95 characters in the
>               ^^^^^^^^^^^^^^^^^
> >lookup table
> >--
> 
> Ehm, I think here's a flame necessary: WHY THE H*LL DO YOU ONLY RECOGNIZE
> 95 CHARACTERS??? From my counting, the Amiga character set holds excatly
> double as many chars!!! And when I'm on my way: Why the h*ll are those
> quite normal characters always represented as dots (== non-chars) in
> hex dumps? Why?
> 
> 
> (You know what I really hate? Commercial fonts that cost big money and
> only provide those "all 95 characters". Insulting.)
> 
Well as we all know almost the whole world except for IBM decided
some 30 years ago to go with the ASCII-7bit character set. IBM had
proposed an 8 bit extended character set based on the 7 bit ASCII
character set to USASI (later renamed to ASCII). It was not accepted.
IBM itself was forced by its major customers to introduce the 8 bit
EBCDIC exension of the old 6 bit BCD code. The reason being that
there was no easy conversion path from BCD to ASCII, and the customers
had a large investment in existing data files. 
Anyways IBM went EBCDIC and the rest went 7 bit ASCII.
Well 7 bits is 128 characters which is divied up to 32 control chars.,
X'7F' the rub-out character (for paper tape), and 95 characters for
remaining uses. After all - who would ever need more :-) :-).
All those eight bit combination are not really valid characters.
The valid characters are embedded in the low order 7 bit positions
of each 8 bit byte, with a 0 high order bit.
Perhaps it's time to standardize on a larger character set, hopefully
with an extension escape hatch, hopefully more useable than the
shift in SI and shift out SO characters provided in ASCII.
 
Now does that dowse your flames? 
  
Please excuse the long tirade.
I would have left it at the one line quip about 7 bit ASCII
But I need to satisfy the posting software restrictions for
folllowups.
-----------------------------------------------
  Reply-To:  Rostyslaw Jarema Lewyckyj
             urjlew@uncmvs.acs.unc.edu    (ARPA,SURA,NSF etc. internet)
          or urjlew@unc.bitnet
          or urjlew@ecsvax.UUCP 
       tel.  (919)-962-6501