... |
... |
@@ -85,9 +85,20 @@ dense_line_to( const FT_Vector* to, dense_worker* worker ) |
85
|
85
|
return 0;
|
86
|
86
|
}
|
87
|
87
|
|
|
88
|
+static int
|
|
89
|
+dense_line_to2( const FT_Vector* from, const FT_Vector* to, dense_worker* worker )
|
|
90
|
+{
|
|
91
|
+ dense_move_to( from, worker );
|
|
92
|
+ dense_render_line( worker, UPSCALE( to->x ), UPSCALE( to->y ) );
|
|
93
|
+ dense_move_to( to, worker );
|
|
94
|
+ return 0;
|
|
95
|
+}
|
|
96
|
+
|
|
97
|
+
|
88
|
98
|
void
|
89
|
99
|
dense_render_line( dense_worker* worker, FT_Pos tox, FT_Pos toy )
|
90
|
100
|
{
|
|
101
|
+ printf("Line from %d, %d to %d, %d\n", worker->prev_x, worker->prev_y, tox, toy);
|
91
|
102
|
|
92
|
103
|
FT26D6 fx = worker->prev_x>>2;
|
93
|
104
|
FT26D6 fy = worker->prev_y>>2;
|
... |
... |
@@ -422,18 +433,24 @@ dense_render_glyph( dense_worker* worker, const FT_Bitmap* target, FT_PreLine pl |
422
|
433
|
{
|
423
|
434
|
// FT_Error error = FT_Outline_Decompose( &( worker->outline ),
|
424
|
435
|
// &dense_decompose_funcs, worker );
|
425
|
|
- FT_Vector point = {100, 100};
|
426
|
|
- FT_Error error = dense_move_to(&point, worker);
|
|
436
|
+ FT_Vector point1 = {100, 100};
|
|
437
|
+ FT_Vector point2 = {100, 100};
|
|
438
|
+
|
|
439
|
+ FT_Error error = dense_move_to(&point1, worker);
|
427
|
440
|
while (pl!=NULL)
|
428
|
441
|
{
|
429
|
|
- point.x = pl->x2/64;
|
430
|
|
- point.y = pl->y2/64;
|
431
|
|
- dense_line_to(&point, worker);
|
|
442
|
+ point1.x = pl->x1;
|
|
443
|
+ point1.y = pl->y1;
|
|
444
|
+ point2.x = pl->x2;
|
|
445
|
+ point2.y = pl->y2;
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+ dense_line_to2(&point1, &point2, worker);
|
432
|
449
|
pl= pl->next;
|
433
|
450
|
}
|
434
|
|
- point.x = 100;
|
435
|
|
- point.y = 100;
|
436
|
|
- dense_move_to(&point, worker);
|
|
451
|
+ // point.x = 100;
|
|
452
|
+ // point.y = 100;
|
|
453
|
+ // dense_move_to(&point, worker);
|
437
|
454
|
|
438
|
455
|
// Render into bitmap
|
439
|
456
|
const FT20D12* source = worker->m_a;
|
... |
... |
@@ -523,6 +540,9 @@ dense_raster_render( FT_Raster raster, const FT_Raster_Params* params ) |
523
|
540
|
|
524
|
541
|
worker->outline = *outline;
|
525
|
542
|
|
|
543
|
+
|
|
544
|
+
|
|
545
|
+
|
526
|
546
|
if ( !target_map )
|
527
|
547
|
return FT_THROW( Invalid_Argument );
|
528
|
548
|
|