1f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/***************************************************************************/
2f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*                                                                         */
3f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*  afdummy.c                                                              */
4f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*                                                                         */
5f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*    Auto-fitter dummy routines to be used if no hinting should be        */
6f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*    performed (body).                                                    */
7f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*                                                                         */
80a0c22569deab933df21127e75db5c81f724f292Werner Lemberg/*  Copyright 2003-2018 by                                                 */
9f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
10f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*                                                                         */
11f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*  This file is part of the FreeType project, and may only be used,       */
12f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*  modified, and distributed under the terms of the FreeType project      */
13f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
14f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*  this file you indicate that you have read the license and              */
15f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*  understand and accept it fully.                                        */
16f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/*                                                                         */
17f13516c8321b386227414be01e707563e852fc0dWerner Lemberg/***************************************************************************/
18f13516c8321b386227414be01e707563e852fc0dWerner Lemberg
19f13516c8321b386227414be01e707563e852fc0dWerner Lemberg
208bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg#include "afdummy.h"
218530a228889128adfd446514928f36663ed20f04David Turner#include "afhints.h"
22713faece86876e77da78b387c7d6ad6a10a45ed7Werner Lemberg#include "aferrors.h"
238bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg
248bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg
258bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg  static FT_Error
263f91cb338b860307b4db874e703bbdf96a8750c6Werner Lemberg  af_dummy_hints_init( AF_GlyphHints    hints,
273f91cb338b860307b4db874e703bbdf96a8750c6Werner Lemberg                       AF_StyleMetrics  metrics )
288bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg  {
2992f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg    af_glyph_hints_rescale( hints, metrics );
3092f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg
3192f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg    hints->x_scale = metrics->scaler.x_scale;
3292f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg    hints->y_scale = metrics->scaler.y_scale;
3392f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg    hints->x_delta = metrics->scaler.x_delta;
3492f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg    hints->y_delta = metrics->scaler.y_delta;
3592f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg
36e3c9301581a450fae5db73a3b94b10ed6a0aeb5eWerner Lemberg    return FT_Err_Ok;
378bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg  }
388bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg
39f13516c8321b386227414be01e707563e852fc0dWerner Lemberg
408bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg  static FT_Error
418cbbcf6b985895b0dc4ce6a43afca85b36e8de24Werner Lemberg  af_dummy_hints_apply( FT_UInt        glyph_index,
428cbbcf6b985895b0dc4ce6a43afca85b36e8de24Werner Lemberg                        AF_GlyphHints  hints,
438bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg                        FT_Outline*    outline )
448bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg  {
4592f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg    FT_Error  error;
46e664efadddc49bee32b337571e329f150006a84bDavid Turner
478cbbcf6b985895b0dc4ce6a43afca85b36e8de24Werner Lemberg    FT_UNUSED( glyph_index );
488cbbcf6b985895b0dc4ce6a43afca85b36e8de24Werner Lemberg
4992f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg
5092f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg    error = af_glyph_hints_reload( hints, outline );
5192f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg    if ( !error )
5292f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg      af_glyph_hints_save( hints, outline );
5392f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg
5492f5a047c9407f435f9e6f5a7370ae724aedea42Werner Lemberg    return error;
558bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg  }
568bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg
578bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg
5872f5ff5bbb6f3467baf13e4c014f3f50479e3b96Werner Lemberg  AF_DEFINE_WRITING_SYSTEM_CLASS(
5972f5ff5bbb6f3467baf13e4c014f3f50479e3b96Werner Lemberg    af_dummy_writing_system_class,
6072f5ff5bbb6f3467baf13e4c014f3f50479e3b96Werner Lemberg
6172f5ff5bbb6f3467baf13e4c014f3f50479e3b96Werner Lemberg    AF_WRITING_SYSTEM_DUMMY,
628bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg
633f91cb338b860307b4db874e703bbdf96a8750c6Werner Lemberg    sizeof ( AF_StyleMetricsRec ),
648bb07e6386ef47f9f9d2bd28a36dda8784530727Werner Lemberg
65c95b7652d8db19530c91e80d23c288bbf27f1b72Werner Lemberg    (AF_WritingSystem_InitMetricsFunc) NULL,                /* style_metrics_init    */
66c95b7652d8db19530c91e80d23c288bbf27f1b72Werner Lemberg    (AF_WritingSystem_ScaleMetricsFunc)NULL,                /* style_metrics_scale   */
67c95b7652d8db19530c91e80d23c288bbf27f1b72Werner Lemberg    (AF_WritingSystem_DoneMetricsFunc) NULL,                /* style_metrics_done    */
68c95b7652d8db19530c91e80d23c288bbf27f1b72Werner Lemberg    (AF_WritingSystem_GetStdWidthsFunc)NULL,                /* style_metrics_getstdw */
69f13516c8321b386227414be01e707563e852fc0dWerner Lemberg
70c95b7652d8db19530c91e80d23c288bbf27f1b72Werner Lemberg    (AF_WritingSystem_InitHintsFunc)   af_dummy_hints_init, /* style_hints_init      */
71c95b7652d8db19530c91e80d23c288bbf27f1b72Werner Lemberg    (AF_WritingSystem_ApplyHintsFunc)  af_dummy_hints_apply /* style_hints_apply     */
7259b4af8d593e7e940a84a39a6c7a06e7d935bfe5Oran Agra  )
73b19b0810cd887a4c1036121b0d3e9bb93278a0a9Werner Lemberg
74b19b0810cd887a4c1036121b0d3e9bb93278a0a9Werner Lemberg
75b19b0810cd887a4c1036121b0d3e9bb93278a0a9Werner Lemberg/* END */
76