| Index: xfa/fgas/layout/fgas_unicode.cpp
 | 
| diff --git a/xfa/fgas/layout/fgas_unicode.cpp b/xfa/fgas/layout/fgas_unicode.cpp
 | 
| index 94f06253ac6ef0175e491359b1087ba18344c2fb..10fdbf08101e5f883c366d742d8e7b962e338b08 100644
 | 
| --- a/xfa/fgas/layout/fgas_unicode.cpp
 | 
| +++ b/xfa/fgas/layout/fgas_unicode.cpp
 | 
| @@ -47,71 +47,3 @@ void FX_TEXTLAYOUT_PieceSort(CFX_TPOArray& tpos, int32_t iStart, int32_t iEnd) {
 | 
|      FX_TEXTLAYOUT_PieceSort(tpos, j, iEnd);
 | 
|    }
 | 
|  }
 | 
| -static const FX_JAPCHARPROPERTYEX gs_FX_JapCharPropertysEx[] = {
 | 
| -    {0x3001, 0x13}, {0x3002, 0x13}, {0x3041, 0x23}, {0x3043, 0x23},
 | 
| -    {0x3045, 0x23}, {0x3047, 0x23}, {0x3049, 0x23}, {0x3063, 0x23},
 | 
| -    {0x3083, 0x23}, {0x3085, 0x23}, {0x3087, 0x23}, {0x308E, 0x23},
 | 
| -    {0x3095, 0x23}, {0x3096, 0x23}, {0x30A1, 0x23}, {0x30A3, 0x23},
 | 
| -    {0x30A5, 0x23}, {0x30A7, 0x23}, {0x30A9, 0x23}, {0x30C3, 0x23},
 | 
| -    {0x30E3, 0x23}, {0x30E5, 0x23}, {0x30E7, 0x23}, {0x30EE, 0x23},
 | 
| -    {0x30F5, 0x23}, {0x30F6, 0x23}, {0x30FB, 0x22}, {0x31F0, 0x23},
 | 
| -    {0x31F1, 0x23}, {0x31F2, 0x23}, {0x31F3, 0x23}, {0x31F4, 0x23},
 | 
| -    {0x31F5, 0x23}, {0x31F6, 0x23}, {0x31F7, 0x23}, {0x31F8, 0x23},
 | 
| -    {0x31F9, 0x23}, {0x31FA, 0x23}, {0x31FB, 0x23}, {0x31FC, 0x23},
 | 
| -    {0x31FD, 0x23}, {0x31FE, 0x23}, {0x31FF, 0x23},
 | 
| -};
 | 
| -const FX_JAPCHARPROPERTYEX* FX_GetJapCharPropertyEx(FX_WCHAR wch) {
 | 
| -  int32_t iStart = 0;
 | 
| -  int32_t iEnd =
 | 
| -      sizeof(gs_FX_JapCharPropertysEx) / sizeof(FX_JAPCHARPROPERTYEX);
 | 
| -  while (iStart <= iEnd) {
 | 
| -    int32_t iMid = (iStart + iEnd) / 2;
 | 
| -    FX_WCHAR wJapChar = gs_FX_JapCharPropertysEx[iMid].wChar;
 | 
| -    if (wch == wJapChar) {
 | 
| -      return gs_FX_JapCharPropertysEx + iMid;
 | 
| -    } else if (wch < wJapChar) {
 | 
| -      iEnd = iMid - 1;
 | 
| -    } else {
 | 
| -      iStart = iMid + 1;
 | 
| -    }
 | 
| -  }
 | 
| -  return NULL;
 | 
| -}
 | 
| -FX_BOOL FX_AdjustJapCharDisplayPos(FX_WCHAR wch,
 | 
| -                                   FX_BOOL bMBCSCode,
 | 
| -                                   IFX_Font* pFont,
 | 
| -                                   FX_FLOAT fFontSize,
 | 
| -                                   FX_BOOL bVertical,
 | 
| -                                   CFX_PointF& ptOffset) {
 | 
| -  if (pFont == NULL || !bVertical) {
 | 
| -    return FALSE;
 | 
| -  }
 | 
| -  if (wch < 0x3001 || wch > 0x31FF) {
 | 
| -    return FALSE;
 | 
| -  }
 | 
| -  const FX_JAPCHARPROPERTYEX* pJapChar = FX_GetJapCharPropertyEx(wch);
 | 
| -  if (pJapChar == NULL) {
 | 
| -    return FALSE;
 | 
| -  }
 | 
| -  CFX_Rect rtBBox;
 | 
| -  rtBBox.Reset();
 | 
| -  if (pFont->GetCharBBox(wch, rtBBox, bMBCSCode)) {
 | 
| -    switch (pJapChar->uAlign & 0xF0) {
 | 
| -      case FX_JAPCHARPROPERTYEX_Top:
 | 
| -        ptOffset.y = fFontSize * (1000 - rtBBox.height) / 1200.0f;
 | 
| -        break;
 | 
| -      case FX_JAPCHARPROPERTYEX_Middle:
 | 
| -        ptOffset.y = fFontSize * (1000 - rtBBox.height) / 6000.0f;
 | 
| -        break;
 | 
| -    }
 | 
| -    switch (pJapChar->uAlign & 0x0F) {
 | 
| -      case FX_JAPCHARPROPERTYEX_Center:
 | 
| -        ptOffset.x = fFontSize * (600 - rtBBox.right()) / 1000.0f;
 | 
| -        break;
 | 
| -      case FX_JAPCHARPROPERTYEX_Right:
 | 
| -        ptOffset.x = fFontSize * (950 - rtBBox.right()) / 1000.0f;
 | 
| -        break;
 | 
| -    }
 | 
| -  }
 | 
| -  return TRUE;
 | 
| -}
 | 
| 
 |