Clean up CPDF_DefaultAppearance

- Disallow copy and assign.
- Make GetFont() do string operations more efficiently.

Change-Id: I193198bbc28ba2c9a0d3120a8ac7ec1ca014c657
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/131670
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfdoc/cpdf_defaultappearance.cpp b/core/fpdfdoc/cpdf_defaultappearance.cpp
index 382b75a..9c6c1f1 100644
--- a/core/fpdfdoc/cpdf_defaultappearance.cpp
+++ b/core/fpdfdoc/cpdf_defaultappearance.cpp
@@ -61,9 +61,6 @@
 CPDF_DefaultAppearance::CPDF_DefaultAppearance(const ByteString& csDA)
     : da_(csDA) {}
 
-CPDF_DefaultAppearance::CPDF_DefaultAppearance(
-    const CPDF_DefaultAppearance& cDA) = default;
-
 CPDF_DefaultAppearance::~CPDF_DefaultAppearance() = default;
 
 std::optional<ByteString> CPDF_DefaultAppearance::GetFont(
@@ -73,14 +70,14 @@
     return std::nullopt;
   }
 
-  ByteString csFontNameTag;
   CPDF_SimpleParser syntax(da_.AsStringView().unsigned_span());
-  if (FindTagParamFromStart(&syntax, "Tf", 2)) {
-    csFontNameTag = ByteString(syntax.GetWord());
-    csFontNameTag.Delete(0, 1);
-    *fFontSize = StringToFloat(syntax.GetWord());
+  if (!FindTagParamFromStart(&syntax, "Tf", 2)) {
+    return ByteString();
   }
-  return PDF_NameDecode(csFontNameTag.AsStringView());
+
+  ByteString name = PDF_NameDecode(syntax.GetWord().Substr(1));
+  *fFontSize = StringToFloat(syntax.GetWord());
+  return name;
 }
 
 std::optional<CFX_Color> CPDF_DefaultAppearance::GetColor() const {
diff --git a/core/fpdfdoc/cpdf_defaultappearance.h b/core/fpdfdoc/cpdf_defaultappearance.h
index d4d09df..147fab2 100644
--- a/core/fpdfdoc/cpdf_defaultappearance.h
+++ b/core/fpdfdoc/cpdf_defaultappearance.h
@@ -17,7 +17,8 @@
 class CPDF_DefaultAppearance {
  public:
   explicit CPDF_DefaultAppearance(const ByteString& csDA);
-  CPDF_DefaultAppearance(const CPDF_DefaultAppearance& cDA);
+  CPDF_DefaultAppearance(const CPDF_DefaultAppearance&) = delete;
+  CPDF_DefaultAppearance& operator=(const CPDF_DefaultAppearance&) = delete;
   ~CPDF_DefaultAppearance();
 
   std::optional<ByteString> GetFont(float* fFontSize) const;