Home | History | Annotate | Download | only in core
      1 /*
      2  * Copyright 2018 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #ifndef SkFontTypes_DEFINED
      9 #define SkFontTypes_DEFINED
     10 
     11 #include "SkTypes.h"
     12 // remove me once google3 uses IWYU
     13 #include "SkTypeface.h"
     14 
     15 enum class SkTextEncoding {
     16     kUTF8,      //!< uses bytes to represent UTF-8 or ASCII
     17     kUTF16,     //!< uses two byte words to represent most of Unicode
     18     kUTF32,     //!< uses four byte words to represent all of Unicode
     19     kGlyphID,   //!< uses two byte words to represent glyph indices
     20 };
     21 
     22 #define kUTF8_SkTextEncoding    SkTextEncoding::kUTF8
     23 #define kUTF16_SkTextEncoding   SkTextEncoding::kUTF16
     24 #define kUTF32_SkTextEncoding   SkTextEncoding::kUTF32
     25 #define kGlyphID_SkTextEncoding SkTextEncoding::kGlyphID
     26 
     27 enum class SkFontHinting {
     28     kNone,      //!< glyph outlines unchanged
     29     kSlight,    //!< minimal modification to improve constrast
     30     kNormal,    //!< glyph outlines modified to improve constrast
     31     kFull,      //!< modifies glyph outlines for maximum constrast
     32 };
     33 
     34 #define kNo_SkFontHinting       SkFontHinting::kNone
     35 #define kSlight_SkFontHinting   SkFontHinting::kSlight
     36 #define kNormal_SkFontHinting   SkFontHinting::kNormal
     37 #define kFull_SkFontHinting     SkFontHinting::kFull
     38 
     39 #endif
     40