%&luatex
\pdfoutput1

\directlua0{\unexpanded{
	function load_otf_font(filename,size)
		local f = { }
		local font = fontforge.open(filename) 
		if font then 
			local otffont = fontforge.to_table(font) 
			f.name = otffont.fontname
			f.fullname = otffont.names[1].names.fullname
			f.parameters = { }
			otffont.design_size = otffont.design_size or 100
			f.designsize = 65536 * otffont.design_size / 10
			if size < 0 then size = f.designsize * (-size / 1000) end
			f.size = size
			f.parameters.slant = 0
			f.parameters.space = size * 0.25
			f.parameters.space_stretch = 0.3 * size
			f.parameters.space_shrink = 0.1 * size
			f.parameters.x_height = 0.4 * size
			f.parameters.quad = 1.0 * size
			f.parameters.extra_space = 0
			f.characters = { }
			local scaling = size / otffont.units_per_em
			local names_of_char = { }
			for char, glyph in pairs(otffont.map.map) do
				names_of_char[otffont.glyphs[glyph].name] =
					otffont.map.backmap[glyph]
			end

			for char, glyph in pairs(otffont.map.map) do
				local glyph_table = otffont.glyphs[glyph]

				f.characters[char] = {
					index = glyph,
					width = glyph_table.width * scaling,
					name = glyph_table.name,
				}
				if glyph_table.kerns then
					local kerns = { }
					for _, kern in pairs(glyph_table.kerns) do
						kerns[names_of_char[kern.char]] = kern.off * scaling
					end
					f.characters[char].kerns = kerns
				end
			end
			f.filename = filename
			f.type = 'real'
			f.format = 'opentype'
			f.embedding = 'subset'
			f.cidinfo = {
				registry = "Adobe",
				ordering = "Identity",
				supplement = 0,
				version = 1
			}
			
			fontforge.close(font) 
		end
		return f 
	end
	
	function define_font_callback(name,size,id)
		local filename = kpse.find_file(name .. '.otf','opentype fonts')
		texio.write('\nLoading font ' .. filename .. '\n')
		local r = load_otf_font(filename,size)
		texio.write('done\n')
		return r
	end 
	
	callback.register('define_font',define_font_callback)
}}


\baselineskip=12pt
\font\textfont=lmroman10-regular at 10pt
\textfont

adventure game in the cyberpunk genre. It featured comedy elements and
was developed by Revolution Software and published by Virgin
Interactive Entertainment. It was initially released for DOS and
Amiga. Underworld was its working title.

The game was the second to use Revolution Software's Virtual Theatre
engine, the first being Lure of the Temptress.

The game's backgrounds and introduction sequence were designed by Dave
Gibbons. The introduction sequence was also included as a separate
promotional comic book in some releases of the game.

The game is considered to be among the true classics in the early era
of graphic adventure games for the early 1990s. This, in part, is
related to the mature science fiction theme that was chosen for this
game as compared to other games of the same era where fantasy themes
(a la King's Quest) had been dominant. Some critics have attributed
this difference to the different visions of the adventure game genre
between American and European developers.


\bye


