Thursday, August 30, 2012

ochre

Copperbox revision 2833.

I've eliminated the bug discovered yesterday where constants (pfields) were getting replaced by unassigned var-ids. I don't really understand why this was happening, but changing the compiler runs so it resets the var counter for each instrument eliminates the error.

Wednesday, August 29, 2012

ochre

Copperbox revision 2832.

I've added pfields to the phantom syntax.

This seems to have revealed a bug in the translation from K-normal form to Csound where the (pure) binding of the pfield to a variable gets discarded. I'll have to fix the bug tomorrow...

Tuesday, August 28, 2012

ochre

Copperbox revision 2831.

I've added sequencing to the the top level syntax and to the K-normal form syntax.

Monday, August 27, 2012

ochre

Copperbox revision 2830.

I've redesigned the phantom type layer in Ochre so it works the same as Wumpus-Expr.

As a side-effect I've coined my own alternative to the do-notation for handling effects. Ideally I would have used the do-notation but I need to reify pure let-binding as well as monadic binding. Interestingly Csound instruments more-or-less have their own do-notation separating pure expressions and effects - pure expressions bind with equals, effects bind with calls to opcodes which are just missing (<-)  in the syntax.

Sunday, August 19, 2012

wumpus-afm-loader

Copperbox revision 2829.

Work on a font metrics loader to eventually replace the one in Wumpus-Basic.

I was hoping to use a Perm parser to parse global font information, but unfortunately whilst Perm parsers accept "any order" they (seemingly) need to be able to recognize all attributes. This doesn't fit my purpose - I only want a small subset of the attributes - so I have to use a pre-processing step instead. The current implementation messes up line numbers.

wumpus

Copperbox revision 2828.

Updates to wumpus-basic and wumpus-drawing to accommodate the change in wumpus-core to AfmUnit.

Saturday, August 18, 2012

wumpus-core

Copperbox revision 2827.

I've changed AfmUnit to wrap Int rather than Double. AFM files don't have fractional values so AfmUnit should be an integer type.


Friday, August 17, 2012

wumpus-core

Copperbox revision 2826.

I've added primitive move-to operations for building paths. This means path building can now automatically exploit PostScript's non-zero winding number drawing rule to produce complex path fills.

Sunday, August 12, 2012

krayola

Copperbox revision 2825.

Initial work on a Haskell based glyph drawer - ft_props.

For some reason, certain characters in the system Arial font draws poorly with ft_outline (lower case 's' is one). So I can visually debug what is going wrong I'm writing a Haskell based glyph renderer where I can use Wumpus for the drawing. This should help me make more illustrative pictures of the outline than I could by generating PostScript from C as Wumpus has built-ins for illustrating Bezier curves etc.

Tuesday, August 7, 2012

krayola

Copperbox revision 2824.

Using the advance vector to print a string of multiple glyphs in the ft_outline doodle.


Sunday, August 5, 2012

krayola

Copperbox revision 2823.

Work on a FreeType doodle that draws the outlines of glyphs in PostScript.

I've been thinking that OpenVG is a better fit for Krayola than OpenGL, but OpenVG has no support for text. This is a show stopper, but potentially FreeType is capable - after all it is used by FTGL and oglft to render text to texture maps.

For the time being, whilst I get familiar with FreeType, generating PostScript is more convenient than working with OpenVG.

Thursday, August 2, 2012

OpenVG binding

Copperbox revision 2822.

I've updated the OpenVG binding - both "Raw" and the high level layer - to build without errors.

Blog Archive

About Me

My photo
Disambiguating biog as there are a few Stephen Tetley's in the world. I'm neither a cage fighter or yachtsman. I studied Fine Art in the nineties (foundation Bradford 1992, degree Cheltenham 1992 - 95) then Computing part-time at Leeds Met graduating in 2003. I'm the Stephen Tetley on Haskell Cafe and Stackoverflow.