I'm looking for some advice here. I was thinking of using a raster font
(*.fon) with a subset of dedicated block graphics characters, and then
producing an animated graphics display on a form using the DrawString method
with appropriate pen colours and background colours. Most of the screen
would be fixed display with the rest being elements that display changes of
states by repainting those elements with DrawString and changes of
foreground or background colour. This seemed to me to be a very simple way
of dealing with the graphical display which could be updated at intervals of
a second without much processing overhead.
Unfortunately, it seems, as far as I can tell, that the appropriate methods
for loading a raster font are not implemented in dotNet 1.1 in that you can
only use TrueType or OpenType fonts in font families! I only need a raster
font of fixed width and fixed point size and then I can position the
DrawString in relation to the virtual row and column of a text page.
So I'm looking for alternatives:
1. If there is a way of using an existing raster font and loading it so that
I can associate it with the form and use the DrawString method, I'd like
someone to tell me how to do that -- I can't find anything in the MSDN
library about this, nor in the WROX books on GDIplus.
2. I could, if there was an easy and inexpensive set of tools available,
modify one of the TrueType fixed width fonts and add a set of block graphics
to it. Nothing fancy is required: mostly recti-linear shapes and lines (some
diagonal) which have to fit (align) together; only two curved shapes: one a
circle (outline and filled), the other a quadrant of a circle (outline and
filled). Font editors for TrueType and OpenType font families seem to rather
expensive, and I don't need any of the complexities of ensuring that the
graphics look equally good over a range of font sizes (nor do they need to
be displayed on a web page). The kind of help that would be useful here is
where to get suitable freeware utilities and access to articles that would
help me.
3. The third alternative, which to me is the least favourable, is to
construct a set of bit maps, either as 1-bit maps which could be drawn in
one of 3 or 4 colours according to the state they are representing, or
duplicating the bit maps (ie one for each colour state).
4. Finally, write to an ANSI graphics screen from the dotNet program, if
that is still possible, and use the old ANSI graphics control characters for
setting foreground and background colours (including the flashing attribute)
and an appropriate raster graphics font. Again, it would be helpful to be
pointed to any useful articles available anywhere on the net or in book
form.
I would prefer to use the dotNet package and C# as the development system,
particularly for the benefits gaint in using classes, properties and
methods, in modelling the system that I want to represent and also for
handling the user interface: mouse-clicks, hot-spots, etc.
Any help would be greatly appreciated, thanks in advance.
John Tempest