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