Hng Z: Technical details

You may have some basic questions:

Hng Z's basic working

Hng Z is built in three levels: A typical Hng Z character specification consists of a series of lines, each one passing parameters to a "radical" routine. Let us analyze, e.g., the code for the character "z" (character):

%% zi4, character
zi
Vdd(roof)(child)
iz

Line starting with % is just a remark. The true character definition is the line between the zi and iz. The radicals are that of roof and that of child. The command Vdd orders METAFONT to distribute them vertically, giving more space (dd) to the one below (down), and is defined in distributions.mf.

But roof and child are not METAFONT commands! They are defined in the radicals file, in terms of strokes. Let us see, e.g., the definition of roof:

def roof(expr cx, cy, lx, ly) =
  point_ne_sized(cx+.05lx,cy-.05ly,1f,.8ly);
  hook_h(cx+.1lx, cy-.6ly, .9lx);
  point_sized(cx+.45lx, cy,.1lx,1f);
enddef;

The commands point_ne_sized, hook_h and point_sized are real strokes, the true atoms in Hng Z.