blob: ca3293f86228faacfda6c750236f8864338b95b6 [file] [log] [blame]
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#ifndef XFA_FGAS_LAYOUT_CFX_LINEBREAK_H_
#define XFA_FGAS_LAYOUT_CFX_LINEBREAK_H_
#include "core/fxcrt/fx_system.h"
#include "core/fxcrt/fx_unicode.h"
enum FX_LINEBREAKTYPE : uint8_t {
FX_LBT_UNKNOWN = 0x00,
FX_LBT_DIRECT_BRK = 0x1A,
FX_LBT_INDIRECT_BRK = 0x2B,
FX_LBT_COM_INDIRECT_BRK = 0x3C,
FX_LBT_COM_PROHIBITED_BRK = 0x4D,
FX_LBT_PROHIBITED_BRK = 0x5E,
FX_LBT_HANGUL_SPACE_BRK = 0x6F,
};
// TODO(tsepez): the dimensions of this table are wrong, should be 38x38.
extern const FX_LINEBREAKTYPE gs_FX_LineBreak_PairTable[64][32];
inline FX_LINEBREAKTYPE GetLineBreakTypeFromPair(uint32_t curr_char_break,
uint32_t next_char_break) {
ASSERT(curr_char_break <= kBreakPropertyTB);
ASSERT(next_char_break <= kBreakPropertyTB);
return gs_FX_LineBreak_PairTable[curr_char_break][next_char_break];
}
#endif // XFA_FGAS_LAYOUT_CFX_LINEBREAK_H_