deferred class
	EV_FONT_I

General
	cluster: implementation_mswin
	description: "Eiffel Vision font. Implementation interface."
	keywords: "character, face, height, family, weight, shape, bold, italic"

Ancestors
	EV_ANY_I*
	EV_FONT_CONSTANTS

Queries
	ascent: INTEGER_32
	char_set: INTEGER_32
	descent: INTEGER_32
	family: INTEGER_32
	Family_modern: INTEGER_32
	Family_roman: INTEGER_32
	Family_sans: INTEGER_32
	Family_screen: INTEGER_32
	Family_typewriter: INTEGER_32
	height: INTEGER_32
	height_in_points: INTEGER_32
	horizontal_resolution: INTEGER_32
	is_proportional: BOOLEAN
	maximum_width: INTEGER_32
	minimum_width: INTEGER_32
	name: STRING_32
	preferred_families: EV_ACTIVE_LIST [STRING_32]
	shape: INTEGER_32
	Shape_italic: INTEGER_32
	Shape_regular: INTEGER_32
	string_size (a_string: STRING_GENERAL): TUPLE [INTEGER_32, INTEGER_32, INTEGER_32, INTEGER_32]
	string_width (a_string: STRING_GENERAL): INTEGER_32
	valid_family (a_family: INTEGER_32): BOOLEAN
	valid_shape (a_shape: INTEGER_32): BOOLEAN
	valid_weight (a_weight: INTEGER_32): BOOLEAN
	vertical_resolution: INTEGER_32
	weight: INTEGER_32
	Weight_black: INTEGER_32
	Weight_bold: INTEGER_32
	Weight_regular: INTEGER_32
	Weight_thin: INTEGER_32
	width: INTEGER_32

Commands
	set_family (a_family: INTEGER_32)
	set_height (a_height: INTEGER_32)
	set_height_in_points (a_height: INTEGER_32)
	set_shape (a_shape: INTEGER_32)
	set_values (a_family, a_weight, a_shape, a_height: INTEGER_32; a_preferred_families: [like preferred_families] EV_ACTIVE_LIST [STRING_32])
	set_weight (a_weight: INTEGER_32)

Constraints
	family valid
	weight valid
	shape valid
	height bigger than zero
	ascent not negative
	descent not negative
	width of empty string equals zero