Modernize FX_BIDICLASS, FX_BREAKPROPERTY, and FX_CHARTYPE names [pdfium : main]

1 view
Skip to first unread message

Nicolás Peña (Gerrit)

unread,
Jun 15, 2026, 10:55:49 AM (10 days ago) Jun 15
to Helmut Januschka, Lei Zhang, Tom Sepez, pdfium...@luci-project-accounts.iam.gserviceaccount.com, pdfium-...@googlegroups.com
Attention needed from Helmut Januschka, Lei Zhang and Tom Sepez

Nicolás Peña added 4 comments

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Nicolás Peña . resolved

Over to thestig@

File xfa/fgas/layout/cfgas_char.cpp
Line 228, Patchset 2 (Latest): return static_cast<BidiClass>((val >> 4) & 0x0F);
Nicolás Peña . unresolved

What's this magic number? Make it a constant with a clear name? Used elsewhere too, sometimes as 0xF

Line 372, Patchset 2 (Latest): if (eClsRun != static_cast<BidiClass>(0xF) && iNum > 0) {
Nicolás Peña . unresolved

Perhaps this is the same constant?

File xfa/fgas/layout/cfgas_rtfbreak.cpp
Line 75, Patchset 2 (Latest): CharType chartype = pdfium::unicode::GetCharType(wch);
Nicolás Peña . unresolved

char_type for consistency with char_type_?

Open in Gerrit

Related details

Attention is currently required from:
  • Helmut Januschka
  • Lei Zhang
  • Tom Sepez
Submit Requirements:
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: pdfium
Gerrit-Branch: main
Gerrit-Change-Id: I40f135616922922b8e1b30efbcd6ad5952be8db8
Gerrit-Change-Number: 148811
Gerrit-PatchSet: 2
Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
Gerrit-Reviewer: Nicolás Peña <n...@chromium.org>
Gerrit-Reviewer: Tom Sepez <tse...@chromium.org>
Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
Gerrit-Attention: Lei Zhang <the...@chromium.org>
Gerrit-Attention: Tom Sepez <tse...@chromium.org>
Gerrit-Comment-Date: Mon, 15 Jun 2026 14:55:34 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Helmut Januschka (Gerrit)

unread,
Jun 15, 2026, 3:21:37 PM (9 days ago) Jun 15
to Lei Zhang, Tom Sepez, Nicolás Peña, pdfium...@luci-project-accounts.iam.gserviceaccount.com, pdfium-...@googlegroups.com
Attention needed from Lei Zhang, Nicolás Peña and Tom Sepez

Helmut Januschka added 3 comments

File xfa/fgas/layout/cfgas_char.cpp
Line 228, Patchset 2 (Latest): return static_cast<BidiClass>((val >> 4) & 0x0F);
Nicolás Peña . resolved

What's this magic number? Make it a constant with a clear name? Used elsewhere too, sometimes as 0xF

Helmut Januschka

Done. Added named constants `kNibbleBits`/`kNibbleMask` for the nibble shift/mask, and `kBidiClassNone` for the `0xF` "no BidiClass" sentinel. Replaced the magic numbers

Line 372, Patchset 2 (Latest): if (eClsRun != static_cast<BidiClass>(0xF) && iNum > 0) {
Nicolás Peña . resolved

Perhaps this is the same constant?

Helmut Januschka

Acknowledged

File xfa/fgas/layout/cfgas_rtfbreak.cpp
Line 75, Patchset 2 (Latest): CharType chartype = pdfium::unicode::GetCharType(wch);
Nicolás Peña . resolved

char_type for consistency with char_type_?

Helmut Januschka

Acknowledged

Open in Gerrit

Related details

Attention is currently required from:
  • Lei Zhang
  • Nicolás Peña
  • Tom Sepez
Submit Requirements:
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: pdfium
    Gerrit-Branch: main
    Gerrit-Change-Id: I40f135616922922b8e1b30efbcd6ad5952be8db8
    Gerrit-Change-Number: 148811
    Gerrit-PatchSet: 2
    Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
    Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
    Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
    Gerrit-Reviewer: Nicolás Peña <n...@chromium.org>
    Gerrit-Reviewer: Tom Sepez <tse...@chromium.org>
    Gerrit-Attention: Lei Zhang <the...@chromium.org>
    Gerrit-Attention: Nicolás Peña <n...@chromium.org>
    Gerrit-Attention: Tom Sepez <tse...@chromium.org>
    Gerrit-Comment-Date: Mon, 15 Jun 2026 19:21:32 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Nicolás Peña <n...@chromium.org>
    unsatisfied_requirement
    open
    diffy

    Tom Sepez (Gerrit)

    unread,
    Jun 15, 2026, 3:31:17 PM (9 days ago) Jun 15
    to Helmut Januschka, Lei Zhang, Nicolás Peña, pdfium...@luci-project-accounts.iam.gserviceaccount.com, pdfium-...@googlegroups.com
    Attention needed from Helmut Januschka, Lei Zhang and Nicolás Peña

    Tom Sepez added 1 comment

    Patchset-level comments
    File-level comment, Patchset 3 (Latest):
    Tom Sepez . resolved

    Only concern is a loss of uniqueness in these names. It seems unlikely that any of these symbols would persist outside of compile phase, but one thing we've done in the past is in the header do ...
    ```
    namespace pdfium {
    enum class BidiClass { ... };
    } // namespace pdfium

    using pdfium::BidiClass;
    ```
    just to avoid some latent linker hassle.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Helmut Januschka
    • Lei Zhang
    • Nicolás Peña
    Submit Requirements:
    • requirement is not satisfiedCode-Owners
    • requirement is not satisfiedCode-Review
    • requirement is not satisfiedReview-Enforcement
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: pdfium
    Gerrit-Branch: main
    Gerrit-Change-Id: I40f135616922922b8e1b30efbcd6ad5952be8db8
    Gerrit-Change-Number: 148811
    Gerrit-PatchSet: 3
    Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
    Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
    Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
    Gerrit-Reviewer: Nicolás Peña <n...@chromium.org>
    Gerrit-Reviewer: Tom Sepez <tse...@chromium.org>
    Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
    Gerrit-Attention: Lei Zhang <the...@chromium.org>
    Gerrit-Attention: Nicolás Peña <n...@chromium.org>
    Gerrit-Comment-Date: Mon, 15 Jun 2026 19:31:13 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    unsatisfied_requirement
    open
    diffy

    Nicolás Peña (Gerrit)

    unread,
    Jun 16, 2026, 11:06:45 AM (9 days ago) Jun 16
    to Helmut Januschka, Lei Zhang, Tom Sepez, pdfium...@luci-project-accounts.iam.gserviceaccount.com, pdfium-...@googlegroups.com
    Attention needed from Helmut Januschka and Lei Zhang

    Nicolás Peña added 1 comment

    File xfa/fgas/layout/cfgas_char.cpp
    Line 29, Patchset 3 (Latest):constexpr BidiClass kBidiClassNone = static_cast<BidiClass>(kNibbleMask);
    Nicolás Peña . unresolved

    This definition doesn't seem quite right, or is at least confusing, because 0x0F is actually a valid BidiClass value (kRLE).

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Helmut Januschka
    • Lei Zhang
    Submit Requirements:
      • requirement is not satisfiedCode-Owners
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement is not satisfiedReview-Enforcement
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: pdfium
      Gerrit-Branch: main
      Gerrit-Change-Id: I40f135616922922b8e1b30efbcd6ad5952be8db8
      Gerrit-Change-Number: 148811
      Gerrit-PatchSet: 3
      Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
      Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
      Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
      Gerrit-Reviewer: Nicolás Peña <n...@chromium.org>
      Gerrit-Reviewer: Tom Sepez <tse...@chromium.org>
      Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
      Gerrit-Attention: Lei Zhang <the...@chromium.org>
      Gerrit-Comment-Date: Tue, 16 Jun 2026 15:06:39 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      unsatisfied_requirement
      open
      diffy

      Helmut Januschka (Gerrit)

      unread,
      Jun 18, 2026, 3:55:42 PM (6 days ago) Jun 18
      to Lei Zhang, Tom Sepez, Nicolás Peña, pdfium...@luci-project-accounts.iam.gserviceaccount.com, pdfium-...@googlegroups.com
      Attention needed from Lei Zhang and Nicolás Peña

      Helmut Januschka added 1 comment

      File xfa/fgas/layout/cfgas_char.cpp
      Line 29, Patchset 3 (Latest):constexpr BidiClass kBidiClassNone = static_cast<BidiClass>(kNibbleMask);
      Nicolás Peña . resolved

      This definition doesn't seem quite right, or is at least confusing, because 0x0F is actually a valid BidiClass value (kRLE).

      Helmut Januschka

      oh, messed it up

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Lei Zhang
      • Nicolás Peña
      Submit Requirements:
        • requirement is not satisfiedCode-Owners
        • requirement is not satisfiedCode-Review
        • requirement is not satisfiedReview-Enforcement
        Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
        Gerrit-MessageType: comment
        Gerrit-Project: pdfium
        Gerrit-Branch: main
        Gerrit-Change-Id: I40f135616922922b8e1b30efbcd6ad5952be8db8
        Gerrit-Change-Number: 148811
        Gerrit-PatchSet: 3
        Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
        Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
        Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
        Gerrit-Reviewer: Nicolás Peña <n...@chromium.org>
        Gerrit-Reviewer: Tom Sepez <tse...@chromium.org>
        Gerrit-Attention: Lei Zhang <the...@chromium.org>
        Gerrit-Attention: Nicolás Peña <n...@chromium.org>
        Gerrit-Comment-Date: Thu, 18 Jun 2026 19:55:35 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        Comment-In-Reply-To: Nicolás Peña <n...@chromium.org>
        unsatisfied_requirement
        open
        diffy

        Nicolás Peña (Gerrit)

        unread,
        Jun 18, 2026, 4:21:01 PM (6 days ago) Jun 18
        to Helmut Januschka, Lei Zhang, Tom Sepez, pdfium...@luci-project-accounts.iam.gserviceaccount.com, pdfium-...@googlegroups.com
        Attention needed from Helmut Januschka and Lei Zhang

        Nicolás Peña added 1 comment

        File xfa/fgas/layout/cfgas_char.cpp
        Line 29, Patchset 3 (Latest):constexpr BidiClass kBidiClassNone = static_cast<BidiClass>(kNibbleMask);
        Nicolás Peña . unresolved

        This definition doesn't seem quite right, or is at least confusing, because 0x0F is actually a valid BidiClass value (kRLE).

        Helmut Januschka

        oh, messed it up

        Nicolás Peña

        Did you mean to upload a new patchset?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Helmut Januschka
        • Lei Zhang
        Submit Requirements:
          • requirement is not satisfiedCode-Owners
          • requirement is not satisfiedCode-Review
          • requirement is not satisfiedNo-Unresolved-Comments
          • requirement is not satisfiedReview-Enforcement
          Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
          Gerrit-MessageType: comment
          Gerrit-Project: pdfium
          Gerrit-Branch: main
          Gerrit-Change-Id: I40f135616922922b8e1b30efbcd6ad5952be8db8
          Gerrit-Change-Number: 148811
          Gerrit-PatchSet: 3
          Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
          Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
          Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
          Gerrit-Reviewer: Nicolás Peña <n...@chromium.org>
          Gerrit-Reviewer: Tom Sepez <tse...@chromium.org>
          Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
          Gerrit-Attention: Lei Zhang <the...@chromium.org>
          Gerrit-Comment-Date: Thu, 18 Jun 2026 20:20:57 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          Comment-In-Reply-To: Helmut Januschka <hel...@januschka.com>
          Comment-In-Reply-To: Nicolás Peña <n...@chromium.org>
          unsatisfied_requirement
          open
          diffy

          Helmut Januschka (Gerrit)

          unread,
          Jun 19, 2026, 5:36:06 PM (5 days ago) Jun 19
          to Lei Zhang, Tom Sepez, Nicolás Peña, pdfium...@luci-project-accounts.iam.gserviceaccount.com, pdfium-...@googlegroups.com
          Attention needed from Lei Zhang and Nicolás Peña

          Helmut Januschka added 1 comment

          File xfa/fgas/layout/cfgas_char.cpp
          Line 29, Patchset 3:constexpr BidiClass kBidiClassNone = static_cast<BidiClass>(kNibbleMask);
          Nicolás Peña . resolved

          This definition doesn't seem quite right, or is at least confusing, because 0x0F is actually a valid BidiClass value (kRLE).

          Helmut Januschka

          oh, messed it up

          Nicolás Peña

          Did you mean to upload a new patchset?

          Helmut Januschka

          yes, should be correct now!
          Dropped the constant and inlined `0x0F` at the use sites. Kept the `kNibbleBits`/`kNibbleMask` cleanup.

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Lei Zhang
          • Nicolás Peña
          Submit Requirements:
            • requirement is not satisfiedCode-Owners
            • requirement is not satisfiedCode-Review
            • requirement is not satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: pdfium
            Gerrit-Branch: main
            Gerrit-Change-Id: I40f135616922922b8e1b30efbcd6ad5952be8db8
            Gerrit-Change-Number: 148811
            Gerrit-PatchSet: 4
            Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
            Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
            Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
            Gerrit-Reviewer: Nicolás Peña <n...@chromium.org>
            Gerrit-Reviewer: Tom Sepez <tse...@chromium.org>
            Gerrit-Attention: Lei Zhang <the...@chromium.org>
            Gerrit-Attention: Nicolás Peña <n...@chromium.org>
            Gerrit-Comment-Date: Fri, 19 Jun 2026 21:35:59 +0000
            unsatisfied_requirement
            open
            diffy

            Nicolás Peña (Gerrit)

            unread,
            Jun 23, 2026, 9:33:13 AM (2 days ago) Jun 23
            to Helmut Januschka, Lei Zhang, Tom Sepez, pdfium...@luci-project-accounts.iam.gserviceaccount.com, pdfium-...@googlegroups.com
            Attention needed from Helmut Januschka and Lei Zhang

            Nicolás Peña voted Code-Review+1

            Code-Review+1
            Open in Gerrit

            Related details

            Attention is currently required from:
            • Helmut Januschka
            • Lei Zhang
            Submit Requirements:
            • requirement satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement is not satisfiedReview-Enforcement
            Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
            Gerrit-MessageType: comment
            Gerrit-Project: pdfium
            Gerrit-Branch: main
            Gerrit-Change-Id: I40f135616922922b8e1b30efbcd6ad5952be8db8
            Gerrit-Change-Number: 148811
            Gerrit-PatchSet: 4
            Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
            Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
            Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
            Gerrit-Reviewer: Nicolás Peña <n...@chromium.org>
            Gerrit-Reviewer: Tom Sepez <tse...@chromium.org>
            Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
            Gerrit-Attention: Lei Zhang <the...@chromium.org>
            Gerrit-Comment-Date: Tue, 23 Jun 2026 13:33:07 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Lei Zhang (Gerrit)

            unread,
            Jun 23, 2026, 2:02:20 PM (2 days ago) Jun 23
            to Helmut Januschka, Nicolás Peña, Lei Zhang, Tom Sepez, pdfium...@luci-project-accounts.iam.gserviceaccount.com, pdfium-...@googlegroups.com
            Attention needed from Helmut Januschka

            Lei Zhang added 2 comments

            Patchset-level comments
            File-level comment, Patchset 3:
            Tom Sepez . unresolved

            Only concern is a loss of uniqueness in these names. It seems unlikely that any of these symbols would persist outside of compile phase, but one thing we've done in the past is in the header do ...
            ```
            namespace pdfium {
            enum class BidiClass { ... };
            } // namespace pdfium

            using pdfium::BidiClass;
            ```
            just to avoid some latent linker hassle.

            Lei Zhang

            Please try extending the namespace in fx_unicode.h to include these enums.

            Commit Message
            Line 19, Patchset 4 (Latest):Bug: 42270078
            Lei Zhang . unresolved

            This CL doesn't remove any #defines though.

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Helmut Januschka
            Submit Requirements:
              • requirement satisfiedCode-Owners
              • requirement satisfiedCode-Review
              • requirement is not satisfiedNo-Unresolved-Comments
              • requirement is not satisfiedReview-Enforcement
              Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
              Gerrit-MessageType: comment
              Gerrit-Project: pdfium
              Gerrit-Branch: main
              Gerrit-Change-Id: I40f135616922922b8e1b30efbcd6ad5952be8db8
              Gerrit-Change-Number: 148811
              Gerrit-PatchSet: 4
              Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
              Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
              Gerrit-Reviewer: Lei Zhang <the...@chromium.org>
              Gerrit-Reviewer: Nicolás Peña <n...@chromium.org>
              Gerrit-Reviewer: Tom Sepez <tse...@chromium.org>
              Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
              Gerrit-Comment-Date: Tue, 23 Jun 2026 18:02:13 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Tom Sepez <tse...@chromium.org>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy
              Reply all
              Reply to author
              Forward
              0 new messages