class
	EV_FONT

General
	cluster: vision2.interface.kernel
	description: 
		"Representation of a typeface.
		Appearance is specified in terms of font family, height, shape and
		weight. The local system font closest to the specification will be
		displayed. A specific font name may optionally be specified. See `set_preferred_face'"
	keywords: "character, face, height, family, weight, shape, bold, italic"
	create: make_with_values, default_create

Ancestors
	EV_ANY
	EV_FONT_CONSTANTS

Queries
	ascent: INTEGER
	data: ANY
	descent: INTEGER
	family: INTEGER
	height: INTEGER
	horizontal_resolution: INTEGER
	is_destroyed: BOOLEAN
	is_equal (other: [like Current] EV_FONT): BOOLEAN
	is_proportional: BOOLEAN
	maximum_width: INTEGER
	minimum_width: INTEGER
	name: STRING
	preferred_families: ACTIVE_LIST [STRING]
	shape: INTEGER
	string_size (a_string: STRING): TUPLE [INTEGER, INTEGER]
	string_width (a_string: STRING): INTEGER
	valid_family (a_family: INTEGER): BOOLEAN
	valid_shape (a_shape: INTEGER): BOOLEAN
	valid_weight (a_weight: INTEGER): BOOLEAN
	vertical_resolution: INTEGER
	weight: INTEGER
	width: INTEGER

Commands
	copy (other: [like Current] EV_FONT)
	destroy
	set_data (some_data: [like data] ANY)
	set_family (a_family: INTEGER)
	set_height (a_height: INTEGER)
	set_shape (a_shape: INTEGER)
	set_weight (a_weight: INTEGER)

Constraints
	family valid
	weight valid
	shape valid
	height bigger than zero
	ascent bigger than zero
	descent bigger than zero
	height positive
	ascent positive
	descent positive
	width of empty string equals zero
	horizontal resolution non negative
	vertical resolution non negative