{
  "_id": "6aec47dd818c9e3ef6dc2026",
  "Package": "textshaping",
  "Title": "Bindings to the 'HarfBuzz' and 'Fribidi' Libraries for Text\nShaping",
  "Version": "1.0.5",
  "Authors@R": "c(\nperson(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"cre\", \"aut\"),\ncomment = c(ORCID = \"0000-0002-5147-4711\")),\nperson(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"),\ncomment = c(ROR = \"03wc8by49\"))\n)",
  "Description": "Provides access to the text shaping functionality in the\n'HarfBuzz' library and the bidirectional algorithm in the\n'Fribidi' library. 'textshaping' is a low-level utility package\nmainly for graphic devices that expands upon the font tool-set\nprovided by the 'systemfonts' package.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/r-lib/textshaping",
  "BugReports": "https://github.com/r-lib/textshaping/issues",
  "VignetteBuilder": "knitr",
  "Config/build/compilation-database": "true",
  "Config/testthat/edition": "3",
  "Config/usethis/last-upkeep": "2025-04-23",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "SystemRequirements": "freetype2, harfbuzz, fribidi",
  "Config/pak/sysreqs": "libfontconfig1-dev libfreetype6-dev libfribidi-dev\nlibharfbuzz-dev libicu-dev",
  "Repository": "https://carpentries.r-universe.dev",
  "Date/Publication": "2026-03-06 09:57:16 UTC",
  "RemoteUrl": "https://github.com/r-lib/textshaping",
  "RemoteRef": "v1.0.5",
  "RemoteSha": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-11-05 09:02:58 UTC",
    "User": "root"
  },
  "Author": "Thomas Lin Pedersen [cre, aut] (ORCID:\n<https://orcid.org/0000-0002-5147-4711>),\nPosit Software, PBC [cph, fnd] (ROR: <https://ror.org/03wc8by49>)",
  "Maintainer": "Thomas Lin Pedersen <thomas.pedersen@posit.co>",
  "_user": "carpentries",
  "_type": "src",
  "_file": "textshaping_1.0.5.tar.gz",
  "_fileid": "https://r2.ropensci.org/d205b824d533abe35934168623f116486e8f036d2ab91f0629cb8700d6fae093",
  "_filesize": 175480,
  "_sha256": "d205b824d533abe35934168623f116486e8f036d2ab91f0629cb8700d6fae093",
  "_expires": "2027-02-13T09:09:47.000Z",
  "_created": "2026-11-05T09:02:58.000Z",
  "_published": "2026-11-05T09:09:49.344Z",
  "_upstream": "https://github.com/r-lib/textshaping",
  "_status": "success",
  "_maintainer": {
    "name": "Thomas Lin Pedersen",
    "email": "thomas.pedersen@posit.co",
    "login": "thomasp85",
    "mastodon": "@thomasp85@fosstodon.org",
    "linkedin": "in/thomasp85",
    "orcid": "0000-0002-5147-4711",
    "twitter": "@thomasp85",
    "description": "Maker of tools focusing on data science and data visualisation",
    "uuid": 1775316
  },
  "_jobs": [
    {
      "job": 127150386555,
      "time": 109,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13401353950"
    },
    {
      "job": 127150386356,
      "time": 131,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13401872407"
    },
    {
      "job": 127150386381,
      "time": 99,
      "config": "linux-release-arm64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13401568255"
    },
    {
      "job": 127150386524,
      "time": 121,
      "config": "linux-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13401991263"
    },
    {
      "job": 127150386262,
      "time": 146,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "13402375537"
    },
    {
      "job": 127150386298,
      "time": 226,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "13401239668"
    },
    {
      "job": 127150386459,
      "time": 149,
      "config": "macos-release-arm64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13401921488"
    },
    {
      "job": 127150386226,
      "time": 311,
      "config": "macos-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13402341058"
    },
    {
      "job": 127148449075,
      "time": 257,
      "config": "source",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13402645513"
    },
    {
      "job": 127150386354,
      "time": 111,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "13402156058"
    },
    {
      "job": 127150386285,
      "time": 253,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13402805034"
    },
    {
      "job": 127150386415,
      "time": 140,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13401392899"
    },
    {
      "job": 127150386477,
      "time": 155,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "13401113795"
    },
    {
      "job": 127150386347,
      "time": 246,
      "config": "windows-release-arm64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13402311001"
    },
    {
      "job": 127150386484,
      "time": 100,
      "config": "windows-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13402061312"
    }
  ],
  "_buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003",
  "_commit": {
    "id": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
    "author": "Thomas Lin Pedersen <thomasp85@gmail.com>",
    "committer": "Thomas Lin Pedersen <thomasp85@gmail.com>",
    "message": "Increment version number to 1.0.5\n",
    "time": 1772791036
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.2.0",
      "role": "Depends"
    },
    {
      "package": "cpp11",
      "version": ">= 0.2.1",
      "role": "LinkingTo"
    },
    {
      "package": "systemfonts",
      "version": ">= 1.0.0",
      "role": "LinkingTo"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "stringi",
      "role": "Imports"
    },
    {
      "package": "systemfonts",
      "version": ">= 1.3.0",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "grDevices",
      "role": "Suggests"
    },
    {
      "package": "grid",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "r-lib",
  "_selfowned": false,
  "_usedby": 785,
  "_updates": [
    {
      "week": "2026-10",
      "n": 7
    }
  ],
  "_tags": [
    {
      "name": "v1.0.5",
      "date": "2026-03-06"
    }
  ],
  "_stars": 20,
  "_contributors": [
    {
      "user": "thomasp85",
      "count": 200,
      "uuid": 1775316
    },
    {
      "user": "jeroen",
      "count": 23,
      "uuid": 216319
    },
    {
      "user": "michaelchirico",
      "count": 3,
      "uuid": 7606389
    },
    {
      "user": "jimhester",
      "count": 2,
      "uuid": 205275
    },
    {
      "user": "gaborcsardi",
      "count": 1,
      "uuid": 660288
    },
    {
      "user": "bisaloo",
      "count": 1,
      "uuid": 10783929
    },
    {
      "user": "musvaage",
      "count": 1,
      "uuid": 112724366
    }
  ],
  "_userbio": {
    "uuid": 19267758,
    "type": "organization",
    "name": "The Carpentries",
    "followers": 398,
    "description": "The Carpentries teaches foundational coding, and data science skills to researchers worldwide."
  },
  "_downloads": {
    "count": 622951,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/textshaping"
  },
  "_devurl": "https://github.com/r-lib/textshaping",
  "_searchresults": 262,
  "_topics": [
    "harfbuzz",
    "freetype",
    "fribidi",
    "cpp"
  ],
  "_abi": {
    "exports": [
      {
        "key": "textshaping/include",
        "hash": "d551ff63e2c7df09"
      },
      {
        "key": "textshaping::ts_string_shape()",
        "hash": "3ec67735c4233d2f"
      },
      {
        "key": "textshaping::ts_string_shape_new()",
        "hash": "8e9faab606801845"
      },
      {
        "key": "textshaping::ts_string_width()",
        "hash": "938858385d84d870"
      }
    ],
    "imports": [
      {
        "key": "systemfonts::check_ft_version()",
        "hash": "202e53b34f9837f5"
      },
      {
        "key": "systemfonts::detect_emoji_embedding()",
        "hash": "6b21368051738ebc"
      },
      {
        "key": "systemfonts::get_cached_face()",
        "hash": "5c576f237eea1df3"
      },
      {
        "key": "systemfonts::get_fallback()",
        "hash": "a9ff855c40cdbee4"
      },
      {
        "key": "systemfonts::locate_font_with_features()",
        "hash": "5e163d2cee41d3e9"
      }
    ]
  },
  "_rbuild": "4.6.2",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/textshaping.html",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/r-lib/textshaping",
  "_realowner": "r-lib",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2020-09-17"
    },
    {
      "version": "0.1.1",
      "date": "2020-09-29"
    },
    {
      "version": "0.1.2",
      "date": "2020-10-08"
    },
    {
      "version": "0.2.0",
      "date": "2020-11-12"
    },
    {
      "version": "0.2.1",
      "date": "2020-11-13"
    },
    {
      "version": "0.3.0",
      "date": "2021-02-10"
    },
    {
      "version": "0.3.1",
      "date": "2021-02-22"
    },
    {
      "version": "0.3.2",
      "date": "2021-03-10"
    },
    {
      "version": "0.3.3",
      "date": "2021-03-16"
    },
    {
      "version": "0.3.4",
      "date": "2021-05-11"
    },
    {
      "version": "0.3.5",
      "date": "2021-06-09"
    },
    {
      "version": "0.3.6",
      "date": "2021-10-13"
    },
    {
      "version": "0.3.7",
      "date": "2023-10-09"
    },
    {
      "version": "0.4.0",
      "date": "2024-05-24"
    },
    {
      "version": "0.4.1",
      "date": "2024-12-06"
    },
    {
      "version": "1.0.0",
      "date": "2025-01-20"
    },
    {
      "version": "1.0.1",
      "date": "2025-05-01"
    },
    {
      "version": "1.0.2",
      "date": "2025-09-01"
    },
    {
      "version": "1.0.3",
      "date": "2025-09-02"
    },
    {
      "version": "1.0.4",
      "date": "2025-10-10"
    },
    {
      "version": "1.0.5",
      "date": "2026-03-06"
    }
  ],
  "_exports": [
    "get_font_features",
    "lorem_bidi",
    "lorem_text",
    "plot_shape",
    "shape_text",
    "text_width"
  ],
  "_help": [
    {
      "page": "get_font_features",
      "title": "Get available OpenType features in a font",
      "topics": [
        "get_font_features"
      ]
    },
    {
      "page": "lorem_text",
      "title": "Get gibberish text in various scripts",
      "topics": [
        "lorem_bidi",
        "lorem_text"
      ]
    },
    {
      "page": "plot_shape",
      "title": "Preview shaped text and the metrics for the text box",
      "topics": [
        "plot_shape"
      ]
    },
    {
      "page": "shape_text",
      "title": "Calculate glyph positions for strings",
      "topics": [
        "shape_text"
      ]
    },
    {
      "page": "text_width",
      "title": "Calculate the width of a string, ignoring new-lines",
      "topics": [
        "text_width"
      ]
    }
  ],
  "_rundeps": [
    "base64enc",
    "cli",
    "cpp11",
    "jsonlite",
    "lifecycle",
    "rlang",
    "stringi",
    "systemfonts"
  ],
  "_sysdeps": [
    {
      "shlib": "libharfbuzz",
      "package": "libharfbuzz0b",
      "headers": "libharfbuzz-dev",
      "source": "harfbuzz",
      "version": "12.3.2-2",
      "name": "harfbuzz",
      "homepage": "https://harfbuzz.github.io/",
      "description": "OpenType text shaping engine (shared library)"
    },
    {
      "shlib": "libfreetype",
      "package": "libfreetype6",
      "headers": "libfreetype-dev",
      "source": "freetype",
      "version": "2.14.2+dfsg-1ubuntu0.2",
      "name": "freetype",
      "homepage": "https://freetype.org",
      "description": "Freetype 2 font engine, shared library files"
    },
    {
      "shlib": "libfribidi",
      "package": "libfribidi0",
      "headers": "libfribidi-dev",
      "source": "fribidi",
      "version": "1.0.16-5",
      "name": "fribidi",
      "homepage": "http://www.fribidi.org/",
      "description": "Free Implementation of the Unicode BiDi algorithm"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "c_interface.Rmd",
      "filename": "c_interface.html",
      "title": "textshaping C interface",
      "engine": "knitr::rmarkdown",
      "headings": [
        "String width",
        "String shape"
      ],
      "created": "2020-08-27 10:11:53",
      "modified": "2025-06-11 06:28:09",
      "commits": 5
    }
  ],
  "_score": 12.663927336155133,
  "_indexed": false,
  "_nocasepkg": "textshaping",
  "_universes": [
    "carpentries"
  ],
  "_indexurl": "https://r-lib.r-universe.dev/textshaping",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.5",
      "date": "2026-11-05T09:05:42.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/73fc2a56b9619cac684b7913ffb07744f7c14ad0a9a6639fc2a7c829e6e29e30",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.5",
      "date": "2026-11-05T09:05:57.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/74a700c7e53f34c3a7813fedb5e0ca17b094dff0ac55d6fa5b3455c9d22a4bcf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.6.2",
      "os": "linux",
      "version": "1.0.5",
      "date": "2026-11-05T09:05:36.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/3dfa3c076ea568f08221924e0d2399bed70627ed1f703e7f69b2afeb94978123",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.6.2",
      "os": "linux",
      "version": "1.0.5",
      "date": "2026-11-05T09:05:51.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/66e5b4ca9b83617a61eb6936ae44468ccafee9318e7937cd7c9e4aba253d30cb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.5",
      "date": "2026-11-05T09:06:11.000Z",
      "arch": "aarch64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/ccbc637dd8a9d493db5fbdb41ed259713afa02dc8671673eacfc194ff1abfec7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.5",
      "date": "2026-11-05T09:07:07.000Z",
      "arch": "x86_64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/8b9be98e4cc58a94e537a2835867979783970f5c9ad3be8c608f5bcb9b9e1e25",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.6.2",
      "os": "mac",
      "version": "1.0.5",
      "date": "2026-11-05T09:06:18.000Z",
      "arch": "aarch64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/a12a7e1f668de94d48e017f52e4e2ae8cbce686d8174c6de821acf41d4f906a4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.6.2",
      "os": "mac",
      "version": "1.0.5",
      "date": "2026-11-05T09:08:12.000Z",
      "arch": "x86_64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/2cf7019608704d3a33266d650d260adf9a1e31510621fc3fc376c2820405c21a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.5",
      "date": "2026-11-05T09:05:55.000Z",
      "arch": "emscripten",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/84706678be67936efa62a53fbd6a1a784816759b6aba4258569e8151c0d84c2c",
      "status": "success",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.5",
      "date": "2026-11-05T09:07:41.000Z",
      "arch": "aarch64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/5621d1b8bfa7a6db15975897c4e4d7a9835c31fda59dcc9522b19f4d0480c28f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.5",
      "date": "2026-11-05T09:05:03.000Z",
      "arch": "x86_64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/221f80983f68b9e2c9ff590fadd4b3a9fafafbf105c5e208782336b7985a78e7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.5",
      "date": "2026-11-05T09:05:08.000Z",
      "arch": "x86_64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/966f223d8a6be280446ad35e86bcbbd7126aaec6609da3d629c72b7478fd1d89",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.6.2",
      "os": "win",
      "version": "1.0.5",
      "date": "2026-11-05T09:07:37.000Z",
      "arch": "aarch64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/3681116eb348c725e8d7539c92756f89c6449e7d7503a72f860b661fb1586572",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    },
    {
      "r": "4.6.2",
      "os": "win",
      "version": "1.0.5",
      "date": "2026-11-05T09:04:58.000Z",
      "arch": "x86_64",
      "commit": "dcf087151cca9fca491f2aba8b29fc44948fa23c",
      "fileid": "https://r2.ropensci.org/e5ec6c35d5ea2df08b54c93489015eb247b8654447c8ecf4f7126c00f128ec8b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/carpentries/actions/runs/41998731003"
    }
  ]
}