| Index: core/fpdfapi/font/cpdf_cidfont.cpp
|
| diff --git a/core/fpdfapi/font/cpdf_cidfont.cpp b/core/fpdfapi/font/cpdf_cidfont.cpp
|
| index 91df025e0ff2732654e8d994c1ef3c6b20dd50b6..c6c6992562a356e5cfcd8a16807e59ee41fc2eef 100644
|
| --- a/core/fpdfapi/font/cpdf_cidfont.cpp
|
| +++ b/core/fpdfapi/font/cpdf_cidfont.cpp
|
| @@ -391,7 +391,7 @@ bool CPDF_CIDFont::Load() {
|
| m_DefaultWidth = pCIDFontDict->GetIntegerFor("DW", 1000);
|
| CPDF_Array* pWidthArray = pCIDFontDict->GetArrayFor("W");
|
| if (pWidthArray)
|
| - LoadMetricsArray(pWidthArray, m_WidthList, 1);
|
| + LoadMetricsArray(pWidthArray, &m_WidthList, 1);
|
| if (!IsEmbedded())
|
| LoadSubstFont();
|
|
|
| @@ -416,7 +416,7 @@ bool CPDF_CIDFont::Load() {
|
| if (IsVertWriting()) {
|
| pWidthArray = pCIDFontDict->GetArrayFor("W2");
|
| if (pWidthArray)
|
| - LoadMetricsArray(pWidthArray, m_VertMetrics, 3);
|
| + LoadMetricsArray(pWidthArray, &m_VertMetrics, 3);
|
| CPDF_Array* pDefaultArray = pCIDFontDict->GetArrayFor("DW2");
|
| if (pDefaultArray) {
|
| m_DefaultVY = pDefaultArray->GetIntegerAt(0);
|
| @@ -505,9 +505,9 @@ int CPDF_CIDFont::GetCharWidthF(uint32_t charcode) {
|
| return (charcode >= 32 && charcode < 127) ? 500 : 0;
|
|
|
| uint16_t cid = CIDFromCharCode(charcode);
|
| - int size = m_WidthList.GetSize();
|
| - const uint32_t* pList = m_WidthList.GetData();
|
| - for (int i = 0; i < size; i += 3) {
|
| + size_t size = m_WidthList.size();
|
| + const uint32_t* pList = m_WidthList.data();
|
| + for (size_t i = 0; i < size; i += 3) {
|
| const uint32_t* pEntry = pList + i;
|
| if (IsMetricForCID(pEntry, cid))
|
| return static_cast<int>(pEntry[2]);
|
| @@ -516,10 +516,10 @@ int CPDF_CIDFont::GetCharWidthF(uint32_t charcode) {
|
| }
|
|
|
| short CPDF_CIDFont::GetVertWidth(uint16_t CID) const {
|
| - uint32_t vertsize = m_VertMetrics.GetSize() / 5;
|
| + size_t vertsize = m_VertMetrics.size() / 5;
|
| if (vertsize) {
|
| - const uint32_t* pTable = m_VertMetrics.GetData();
|
| - for (uint32_t i = 0; i < vertsize; i++) {
|
| + const uint32_t* pTable = m_VertMetrics.data();
|
| + for (size_t i = 0; i < vertsize; i++) {
|
| const uint32_t* pEntry = pTable + (i * 5);
|
| if (IsMetricForCID(pEntry, CID))
|
| return static_cast<short>(pEntry[2]);
|
| @@ -529,10 +529,10 @@ short CPDF_CIDFont::GetVertWidth(uint16_t CID) const {
|
| }
|
|
|
| void CPDF_CIDFont::GetVertOrigin(uint16_t CID, short& vx, short& vy) const {
|
| - uint32_t vertsize = m_VertMetrics.GetSize() / 5;
|
| + size_t vertsize = m_VertMetrics.size() / 5;
|
| if (vertsize) {
|
| - const uint32_t* pTable = m_VertMetrics.GetData();
|
| - for (uint32_t i = 0; i < vertsize; i++) {
|
| + const uint32_t* pTable = m_VertMetrics.data();
|
| + for (size_t i = 0; i < vertsize; i++) {
|
| const uint32_t* pEntry = pTable + (i * 5);
|
| if (IsMetricForCID(pEntry, CID)) {
|
| vx = static_cast<short>(pEntry[3]);
|
| @@ -542,9 +542,9 @@ void CPDF_CIDFont::GetVertOrigin(uint16_t CID, short& vx, short& vy) const {
|
| }
|
| }
|
| uint32_t dwWidth = m_DefaultWidth;
|
| - int size = m_WidthList.GetSize();
|
| - const uint32_t* pList = m_WidthList.GetData();
|
| - for (int i = 0; i < size; i += 3) {
|
| + size_t size = m_WidthList.size();
|
| + const uint32_t* pList = m_WidthList.data();
|
| + for (size_t i = 0; i < size; i += 3) {
|
| const uint32_t* pEntry = pList + i;
|
| if (IsMetricForCID(pEntry, CID)) {
|
| dwWidth = pEntry[2];
|
| @@ -771,7 +771,7 @@ void CPDF_CIDFont::LoadSubstFont() {
|
| }
|
|
|
| void CPDF_CIDFont::LoadMetricsArray(CPDF_Array* pArray,
|
| - CFX_ArrayTemplate<uint32_t>& result,
|
| + std::vector<uint32_t>* result,
|
| int nElements) {
|
| int width_status = 0;
|
| int iCurElement = 0;
|
| @@ -787,10 +787,10 @@ void CPDF_CIDFont::LoadMetricsArray(CPDF_Array* pArray,
|
| return;
|
|
|
| for (size_t j = 0; j < pObjArray->GetCount(); j += nElements) {
|
| - result.Add(first_code);
|
| - result.Add(first_code);
|
| + result->push_back(first_code);
|
| + result->push_back(first_code);
|
| for (int k = 0; k < nElements; k++)
|
| - result.Add(pObjArray->GetIntegerAt(j + k));
|
| + result->push_back(pObjArray->GetIntegerAt(j + k));
|
| first_code++;
|
| }
|
| width_status = 0;
|
| @@ -804,10 +804,10 @@ void CPDF_CIDFont::LoadMetricsArray(CPDF_Array* pArray,
|
| iCurElement = 0;
|
| } else {
|
| if (!iCurElement) {
|
| - result.Add(first_code);
|
| - result.Add(last_code);
|
| + result->push_back(first_code);
|
| + result->push_back(last_code);
|
| }
|
| - result.Add(pObj->GetInteger());
|
| + result->push_back(pObj->GetInteger());
|
| iCurElement++;
|
| if (iCurElement == nElements)
|
| width_status = 0;
|
|
|