summaryrefslogtreecommitdiff
path: root/core/fpdfdoc/cpdf_interform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfdoc/cpdf_interform.cpp')
-rw-r--r--core/fpdfdoc/cpdf_interform.cpp83
1 files changed, 0 insertions, 83 deletions
diff --git a/core/fpdfdoc/cpdf_interform.cpp b/core/fpdfdoc/cpdf_interform.cpp
index ea408ec0df..c743e2b0a6 100644
--- a/core/fpdfdoc/cpdf_interform.cpp
+++ b/core/fpdfdoc/cpdf_interform.cpp
@@ -32,30 +32,6 @@ namespace {
const int nMaxRecursion = 32;
-const struct SupportFieldEncoding {
- const char* m_name;
- uint16_t m_codePage;
-} g_fieldEncoding[] = {
- {"BigFive", 950},
- {"GBK", 936},
- {"Shift-JIS", 932},
- {"UHC", 949},
-};
-
-WideString GetFieldValue(const CPDF_Dictionary& pFieldDict,
- const ByteString& bsEncoding) {
- const ByteString csBValue = pFieldDict.GetStringFor("V");
- for (const auto& encoding : g_fieldEncoding) {
- if (bsEncoding == encoding.m_name)
- return WideString::FromCodePage(csBValue.AsStringView(),
- encoding.m_codePage);
- }
- ByteString csTemp = csBValue.Left(2);
- if (csTemp == "\xFF\xFE" || csTemp == "\xFE\xFF")
- return PDF_DecodeText(csBValue);
- return WideString::FromLocal(csBValue.AsStringView());
-}
-
void AddFont(CPDF_Dictionary*& pFormDict,
CPDF_Document* pDocument,
const CPDF_Font* pFont,
@@ -1114,65 +1090,6 @@ std::unique_ptr<CFDF_Document> CPDF_InterForm::ExportToFDF(
return pDoc;
}
-void CPDF_InterForm::FDF_ImportField(CPDF_Dictionary* pFieldDict,
- const WideString& parent_name,
- bool bNotify,
- int nLevel) {
- WideString name;
- if (!parent_name.IsEmpty())
- name = parent_name + L".";
-
- name += pFieldDict->GetUnicodeTextFor("T");
- CPDF_Array* pKids = pFieldDict->GetArrayFor("Kids");
- if (pKids) {
- for (size_t i = 0; i < pKids->GetCount(); i++) {
- CPDF_Dictionary* pKid = pKids->GetDictAt(i);
- if (!pKid)
- continue;
- if (nLevel <= nMaxRecursion)
- FDF_ImportField(pKid, name, bNotify, nLevel + 1);
- }
- return;
- }
- if (!pFieldDict->KeyExist("V"))
- return;
-
- CPDF_FormField* pField = m_pFieldTree->GetField(name);
- if (!pField)
- return;
-
- WideString csWValue = GetFieldValue(*pFieldDict, m_bsEncoding);
- FormFieldType fieldType = pField->GetFieldType();
- if (bNotify && m_pFormNotify) {
- if (fieldType == FormFieldType::kListBox) {
- if (!m_pFormNotify->BeforeSelectionChange(pField, csWValue))
- return;
- } else if (fieldType == FormFieldType::kComboBox ||
- fieldType == FormFieldType::kTextField) {
- if (!m_pFormNotify->BeforeValueChange(pField, csWValue))
- return;
- }
- }
- pField->SetValue(csWValue);
- CPDF_FormField::Type eType = pField->GetType();
- if ((eType == CPDF_FormField::ListBox || eType == CPDF_FormField::ComboBox) &&
- pFieldDict->KeyExist("Opt")) {
- pField->SetOpt(pFieldDict->GetDirectObjectFor("Opt")->CloneDirectObject());
- }
-
- if (bNotify && m_pFormNotify) {
- if (fieldType == FormFieldType::kCheckBox ||
- fieldType == FormFieldType::kRadioButton) {
- m_pFormNotify->AfterCheckedStatusChange(pField);
- } else if (fieldType == FormFieldType::kListBox) {
- m_pFormNotify->AfterSelectionChange(pField);
- } else if (fieldType == FormFieldType::kComboBox ||
- fieldType == FormFieldType::kTextField) {
- m_pFormNotify->AfterValueChange(pField);
- }
- }
-}
-
void CPDF_InterForm::SetFormNotify(IPDF_FormNotify* pNotify) {
m_pFormNotify = pNotify;
}