)]}'
{
  "commit": "d5960c8270a7d06203316c2d6f0ba606547fdb07",
  "tree": "756adfada1d83e997fc6956d1c64baae87a62487",
  "parents": [
    "55d86a5a9564021fcc85d9e8219f4588f80835f0"
  ],
  "author": {
    "name": "Lei Zhang",
    "email": "thestig@chromium.org",
    "time": "Thu Apr 30 10:42:46 2026 -0700"
  },
  "committer": {
    "name": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "pdfium-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Apr 30 10:42:46 2026 -0700"
  },
  "message": "Add experimental FPDFText_SetPositions() API\n\nAdd a new API so embedders can adjust the individual glyph positioning\nin a text object. The API uses absolute positions to avoid precision\nissues with float math that can happen with relative positions.\n\nBug: 491191097\nChange-Id: I7e79df5a60e6f615ec7836ff873f20997886369c\nReviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/144892\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "09fb12d77d6d8e5f27843179224580c1ae468227",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/page/cpdf_textobject.cpp",
      "new_id": "68f4216540e88192d0c3e4b14c5671d79ad2959b",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/page/cpdf_textobject.cpp"
    },
    {
      "type": "modify",
      "old_id": "768bc758b92da76355a70e58d1dbe6289e71d18e",
      "old_mode": 33188,
      "old_path": "core/fpdfapi/page/cpdf_textobject.h",
      "new_id": "af9d854d5d59bd4cc6b4ad670d966483dc4bce86",
      "new_mode": 33188,
      "new_path": "core/fpdfapi/page/cpdf_textobject.h"
    },
    {
      "type": "modify",
      "old_id": "9907a7c9bde9def2cb3d582f9ea61a6fac168ec3",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_edit_embeddertest.cpp",
      "new_id": "63c7ecd494c06095ee9a476f51827eb5b07b1bcd",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_edit_embeddertest.cpp"
    },
    {
      "type": "modify",
      "old_id": "053a25295d52d3e3b0a3a3db01eea9dcc8c06681",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_edittext.cpp",
      "new_id": "eb06dd7ff6c815dbd0ed8141b5ac165ca9ba274e",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_edittext.cpp"
    },
    {
      "type": "modify",
      "old_id": "10a7057c0a4db227c06508f53a40004fd7af8a0a",
      "old_mode": 33188,
      "old_path": "fpdfsdk/fpdf_view_c_api_test.c",
      "new_id": "282512d136041255fad7f5f7140a19248ee718a8",
      "new_mode": 33188,
      "new_path": "fpdfsdk/fpdf_view_c_api_test.c"
    },
    {
      "type": "modify",
      "old_id": "7c1f32472e5a96dff90eb42f914aa7e1318bfd35",
      "old_mode": 33188,
      "old_path": "public/fpdf_edit.h",
      "new_id": "d723b81a53735611bcb2c0a33d6bd54802d14a4f",
      "new_mode": 33188,
      "new_path": "public/fpdf_edit.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "36b42b75f3a42d64cb75c20617d9cc5741b0bc93",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/set_positions_bengali2.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0adb5bed642090e9c1f83a6e483aae8230ee8c61",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/set_positions_bengali2_skia.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "36b42b75f3a42d64cb75c20617d9cc5741b0bc93",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/set_positions_bengali2_skia_mac.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e00a15fcecbffb2edcd6576c921ed98bbec8bb64",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/set_positions_bengali2_skia_win.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "49a70e8eec10742fafa37510b59e487e97e83e3c",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/set_positions_bengali3.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "55beb2b4d00ffd9e1636be3be0946d2fcf7cdaeb",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/set_positions_bengali3_skia.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b07d1d62001bcb4cd3dbb2c069c7840ce68e62e6",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/set_positions_bengali3_skia_mac.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f3620cd8b16c85d9b7eebec7900409c41e83d5d2",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/set_positions_bengali3_skia_mac_x86.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c517861ab49cb13e2023616a1405fc984d30f556",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/set_positions_bengali3_skia_win.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1d356fc48d860a919c62c005296b89816e3ad0ad",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/vertical_text_positioned.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "db6af7b0cf8dff3e1746231b4ad9b4465cca52a4",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/vertical_text_positioned_skia.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "40853b503e405f0f301ef853919a48a7a0ce206b",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/vertical_text_positioned_skia_mac.png"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f9aa63f8918183c43573824aa6a2a4d1c15bd963",
      "new_mode": 33188,
      "new_path": "testing/resources/embedder_tests/vertical_text_positioned_skia_win.png"
    }
  ]
}
