Fix more double-promotion errors
WHy do only some of the clang bots catch this I have no idea :(.
This commit is contained in:
parent
c2c9d204fa
commit
dfc5780245
|
@ -133,8 +133,8 @@ struct TrackData
|
||||||
if (size_table[size_index].to_float () >= csspx)
|
if (size_table[size_index].to_float () >= csspx)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
return round (interpolate_at (size_index ? size_index - 1 : 0, csspx,
|
return roundf (interpolate_at (size_index ? size_index - 1 : 0, csspx,
|
||||||
*trackTableEntry, base));
|
*trackTableEntry, base));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool sanitize (hb_sanitize_context_t *c, const void *base) const
|
bool sanitize (hb_sanitize_context_t *c, const void *base) const
|
||||||
|
|
|
@ -607,7 +607,7 @@ struct hb_font_t
|
||||||
return (hb_position_t) (scaled / upem);
|
return (hb_position_t) (scaled / upem);
|
||||||
}
|
}
|
||||||
hb_position_t em_scalef (float v, int scale)
|
hb_position_t em_scalef (float v, int scale)
|
||||||
{ return (hb_position_t) round (v * scale / face->get_upem ()); }
|
{ return (hb_position_t) roundf (v * scale / face->get_upem ()); }
|
||||||
float em_fscale (int16_t v, int scale)
|
float em_fscale (int16_t v, int scale)
|
||||||
{ return (float) v * scale / face->get_upem (); }
|
{ return (float) v * scale / face->get_upem (); }
|
||||||
};
|
};
|
||||||
|
|
|
@ -110,7 +110,7 @@ struct F2DOT14 : HBINT16
|
||||||
F2DOT14& operator = (uint16_t i ) { HBINT16::operator= (i); return *this; }
|
F2DOT14& operator = (uint16_t i ) { HBINT16::operator= (i); return *this; }
|
||||||
// 16384 means 1<<14
|
// 16384 means 1<<14
|
||||||
float to_float () const { return ((int32_t) v) / 16384.f; }
|
float to_float () const { return ((int32_t) v) / 16384.f; }
|
||||||
void set_float (float f) { v = round (f * 16384.f); }
|
void set_float (float f) { v = roundf (f * 16384.f); }
|
||||||
public:
|
public:
|
||||||
DEFINE_SIZE_STATIC (2);
|
DEFINE_SIZE_STATIC (2);
|
||||||
};
|
};
|
||||||
|
@ -121,7 +121,7 @@ struct Fixed : HBINT32
|
||||||
Fixed& operator = (uint32_t i) { HBINT32::operator= (i); return *this; }
|
Fixed& operator = (uint32_t i) { HBINT32::operator= (i); return *this; }
|
||||||
// 65536 means 1<<16
|
// 65536 means 1<<16
|
||||||
float to_float () const { return ((int32_t) v) / 65536.f; }
|
float to_float () const { return ((int32_t) v) / 65536.f; }
|
||||||
void set_float (float f) { v = round (f * 65536.f); }
|
void set_float (float f) { v = roundf (f * 65536.f); }
|
||||||
public:
|
public:
|
||||||
DEFINE_SIZE_STATIC (4);
|
DEFINE_SIZE_STATIC (4);
|
||||||
};
|
};
|
||||||
|
|
|
@ -442,12 +442,12 @@ struct CBDT
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert to font units. */
|
/* Convert to font units. */
|
||||||
double x_scale = upem / (double) strike.ppemX;
|
float x_scale = upem / (float) strike.ppemX;
|
||||||
double y_scale = upem / (double) strike.ppemY;
|
float y_scale = upem / (float) strike.ppemY;
|
||||||
extents->x_bearing = round (extents->x_bearing * x_scale);
|
extents->x_bearing = roundf (extents->x_bearing * x_scale);
|
||||||
extents->y_bearing = round (extents->y_bearing * y_scale);
|
extents->y_bearing = roundf (extents->y_bearing * y_scale);
|
||||||
extents->width = round (extents->width * x_scale);
|
extents->width = roundf (extents->width * x_scale);
|
||||||
extents->height = round (extents->height * y_scale);
|
extents->height = roundf (extents->height * y_scale);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -242,11 +242,11 @@ struct sbix
|
||||||
/* Convert to font units. */
|
/* Convert to font units. */
|
||||||
if (strike_ppem)
|
if (strike_ppem)
|
||||||
{
|
{
|
||||||
double scale = font->face->get_upem () / (double) strike_ppem;
|
float scale = font->face->get_upem () / (float) strike_ppem;
|
||||||
extents->x_bearing = round (extents->x_bearing * scale);
|
extents->x_bearing = roundf (extents->x_bearing * scale);
|
||||||
extents->y_bearing = round (extents->y_bearing * scale);
|
extents->y_bearing = roundf (extents->y_bearing * scale);
|
||||||
extents->width = round (extents->width * scale);
|
extents->width = roundf (extents->width * scale);
|
||||||
extents->height = round (extents->height * scale);
|
extents->height = roundf (extents->height * scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
hb_blob_destroy (blob);
|
hb_blob_destroy (blob);
|
||||||
|
|
|
@ -446,8 +446,8 @@ struct MarkArray : ArrayOf<MarkRecord> /* Array of MarkRecords--in Coverage orde
|
||||||
glyph_anchor.get_anchor (c, buffer->info[glyph_pos].codepoint, &base_x, &base_y);
|
glyph_anchor.get_anchor (c, buffer->info[glyph_pos].codepoint, &base_x, &base_y);
|
||||||
|
|
||||||
hb_glyph_position_t &o = buffer->cur_pos();
|
hb_glyph_position_t &o = buffer->cur_pos();
|
||||||
o.x_offset = round (base_x - mark_x);
|
o.x_offset = roundf (base_x - mark_x);
|
||||||
o.y_offset = round (base_y - mark_y);
|
o.y_offset = roundf (base_y - mark_y);
|
||||||
o.attach_type() = ATTACH_TYPE_MARK;
|
o.attach_type() = ATTACH_TYPE_MARK;
|
||||||
o.attach_chain() = (int) glyph_pos - (int) buffer->idx;
|
o.attach_chain() = (int) glyph_pos - (int) buffer->idx;
|
||||||
buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_GPOS_ATTACHMENT;
|
buffer->scratch_flags |= HB_BUFFER_SCRATCH_FLAG_HAS_GPOS_ATTACHMENT;
|
||||||
|
@ -993,32 +993,32 @@ struct CursivePosFormat1
|
||||||
/* Main-direction adjustment */
|
/* Main-direction adjustment */
|
||||||
switch (c->direction) {
|
switch (c->direction) {
|
||||||
case HB_DIRECTION_LTR:
|
case HB_DIRECTION_LTR:
|
||||||
pos[i].x_advance = round (exit_x) + pos[i].x_offset;
|
pos[i].x_advance = roundf (exit_x) + pos[i].x_offset;
|
||||||
|
|
||||||
d = round (entry_x) + pos[j].x_offset;
|
d = roundf (entry_x) + pos[j].x_offset;
|
||||||
pos[j].x_advance -= d;
|
pos[j].x_advance -= d;
|
||||||
pos[j].x_offset -= d;
|
pos[j].x_offset -= d;
|
||||||
break;
|
break;
|
||||||
case HB_DIRECTION_RTL:
|
case HB_DIRECTION_RTL:
|
||||||
d = round (exit_x) + pos[i].x_offset;
|
d = roundf (exit_x) + pos[i].x_offset;
|
||||||
pos[i].x_advance -= d;
|
pos[i].x_advance -= d;
|
||||||
pos[i].x_offset -= d;
|
pos[i].x_offset -= d;
|
||||||
|
|
||||||
pos[j].x_advance = round (entry_x) + pos[j].x_offset;
|
pos[j].x_advance = roundf (entry_x) + pos[j].x_offset;
|
||||||
break;
|
break;
|
||||||
case HB_DIRECTION_TTB:
|
case HB_DIRECTION_TTB:
|
||||||
pos[i].y_advance = round (exit_y) + pos[i].y_offset;
|
pos[i].y_advance = roundf (exit_y) + pos[i].y_offset;
|
||||||
|
|
||||||
d = round (entry_y) + pos[j].y_offset;
|
d = roundf (entry_y) + pos[j].y_offset;
|
||||||
pos[j].y_advance -= d;
|
pos[j].y_advance -= d;
|
||||||
pos[j].y_offset -= d;
|
pos[j].y_offset -= d;
|
||||||
break;
|
break;
|
||||||
case HB_DIRECTION_BTT:
|
case HB_DIRECTION_BTT:
|
||||||
d = round (exit_y) + pos[i].y_offset;
|
d = roundf (exit_y) + pos[i].y_offset;
|
||||||
pos[i].y_advance -= d;
|
pos[i].y_advance -= d;
|
||||||
pos[i].y_offset -= d;
|
pos[i].y_offset -= d;
|
||||||
|
|
||||||
pos[j].y_advance = round (entry_y);
|
pos[j].y_advance = roundf (entry_y);
|
||||||
break;
|
break;
|
||||||
case HB_DIRECTION_INVALID:
|
case HB_DIRECTION_INVALID:
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue