View Issue Details

IDProjectCategoryView StatusLast Update
0000072luatexluatex bugpublic2008-09-30 11:49
ReporterTaco Assigned ToTaco  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version0.29.0 
Target Version0.30.0 
Summary0000072: Overlapping lines with OTF
DescriptionFrom Jonathan:

when using OpenType fonts with beta 0.29, all lines are typeset
at the same height, thus overlapping each other. This does not
happen with T1 fonts nor with beta 0.27.0.

I have attached the PlainTeX test file as well as the result in
0.27 and 0.29.
Steps To ReproduceSee attached file
Additional InformationThe problem is caused by the merge of pdftex 1.40.8.

At the beginning of append_to_vlist, there is a test

  begin if prev_depth>pdf_ignored_dimen then

but prev_depth is always zero there, so no \(base)lineskip is added, ever.

I've attached only Jonathan's source, that is sufficient to see the problem
TagsNo tags attached.

Activities

2008-07-27 15:09

 

OverlappingLines.tex (3,241 bytes)   
%&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,
                                        height = 800 * scaling,
					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.

\tracingall
\bye


OverlappingLines.tex (3,241 bytes)   

Taco

2008-07-28 15:20

administrator   ~0000042

Fixed by #1457

Issue History

Date Modified Username Field Change
2008-07-27 15:09 Taco New Issue
2008-07-27 15:09 Taco Status new => assigned
2008-07-27 15:09 Taco Assigned To => Taco
2008-07-27 15:09 Taco File Added: OverlappingLines.tex
2008-07-28 15:20 Taco Note Added: 0000042
2008-07-28 15:25 Taco Status assigned => resolved
2008-07-28 15:25 Taco Resolution open => fixed
2008-09-30 11:49 Taco Status resolved => closed