{
  "_id": "6a44edc26ff6f2357551f6c0",
  "Package": "textshaping",
  "Title": "Bindings to the 'HarfBuzz' and 'Fribidi' Libraries for Text\nShaping",
  "Version": "1.0.5.9000",
  "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.3",
  "SystemRequirements": "freetype2, harfbuzz, fribidi",
  "Remotes": [
    "r-lib/systemfonts"
  ],
  "Config/pak/sysreqs": "libfontconfig1-dev libfreetype6-dev libfribidi-dev\nlibharfbuzz-dev libicu-dev",
  "Repository": "https://r-lib.r-universe.dev",
  "Date/Publication": "2026-03-18 10:34:44 UTC",
  "RemoteUrl": "https://github.com/r-lib/textshaping",
  "RemoteRef": "HEAD",
  "RemoteSha": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-07-01 10:15:34 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": "r-lib",
  "_type": "src",
  "_file": "textshaping_1.0.5.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/0518cf15b71228225fd0cc2937d42d71a676437a013cf96d9fbf2136cee87177",
  "_filesize": 237680,
  "_sha256": "0518cf15b71228225fd0cc2937d42d71a676437a013cf96d9fbf2136cee87177",
  "_expires": "2026-10-09T10:36:50.000Z",
  "_created": "2026-07-01T10:15:34.000Z",
  "_published": "2026-07-01T10:36:50.559Z",
  "_jobs": [
    {
      "job": 84508809733,
      "time": 160,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8006943500"
    },
    {
      "job": 84508809725,
      "time": 156,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8006942573"
    },
    {
      "job": 84508809760,
      "time": 160,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8006943171"
    },
    {
      "job": 84508809734,
      "time": 155,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8006943048"
    },
    {
      "job": 84508809747,
      "time": 99,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8007272590"
    },
    {
      "job": 84508809753,
      "time": 221,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8007321010"
    },
    {
      "job": 84508809752,
      "time": 255,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8007329847"
    },
    {
      "job": 84508809758,
      "time": 310,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8007351051"
    },
    {
      "job": 84508021637,
      "time": 260,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8006878302"
    },
    {
      "job": 84508809738,
      "time": 141,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8006937028"
    },
    {
      "job": 84508809721,
      "time": 123,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8006930092"
    },
    {
      "job": 84508809741,
      "time": 121,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "8006929585"
    },
    {
      "job": 84508809720,
      "time": 122,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8006929551"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107",
  "_status": "success",
  "_upstream": "https://github.com/r-lib/textshaping",
  "_commit": {
    "id": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
    "author": "Thomas Lin Pedersen <thomasp85@gmail.com>",
    "committer": "Thomas Lin Pedersen <thomasp85@gmail.com>",
    "message": "reformat\n",
    "time": 1773830084
  },
  "_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
  },
  "_distro": "resolute",
  "_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.2.9000",
      "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": true,
  "_usedby": 812,
  "_updates": [
    {
      "week": "2025-36",
      "n": 13
    },
    {
      "week": "2025-40",
      "n": 3
    },
    {
      "week": "2025-41",
      "n": 2
    },
    {
      "week": "2025-42",
      "n": 2
    },
    {
      "week": "2026-10",
      "n": 8
    },
    {
      "week": "2026-12",
      "n": 2
    }
  ],
  "_tags": [
    {
      "name": "v1.0.2",
      "date": "2025-09-01"
    },
    {
      "name": "v1.0.3",
      "date": "2025-09-02"
    },
    {
      "name": "v1.0.4",
      "date": "2025-10-10"
    },
    {
      "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": 22618716,
    "type": "organization",
    "name": "R infrastructure",
    "followers": 740
  },
  "_downloads": {
    "count": 875149,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/textshaping"
  },
  "_devurl": "https://github.com/r-lib/textshaping",
  "_searchresults": 277,
  "_topics": [
    "harfbuzz",
    "freetype",
    "fribidi",
    "cpp"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/textshaping.html",
    "LICENSE",
    "manual.pdf"
  ],
  "_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",
    "grid.math",
    "lorem_bidi",
    "lorem_text",
    "math_grob",
    "plot_math",
    "plot_shape",
    "shape_math",
    "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": "math_grob",
      "title": "Create a grid grob for a math expression",
      "topics": [
        "grid.math",
        "math_grob"
      ]
    },
    {
      "page": "plot_math",
      "title": "Preview shaped math expression",
      "topics": [
        "plot_math"
      ]
    },
    {
      "page": "plot_shape",
      "title": "Preview shaped text and the metrics for the text box",
      "topics": [
        "plot_shape"
      ]
    },
    {
      "page": "shape_math",
      "title": "Shape LaTeX math expression",
      "topics": [
        "shape_math"
      ]
    },
    {
      "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"
      ]
    }
  ],
  "_readme": "https://github.com/r-lib/textshaping/raw/HEAD/README.md",
  "_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-1",
      "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": 14.327541554664995,
  "_indexed": true,
  "_nocasepkg": "textshaping",
  "_universes": [
    "r-lib",
    "thomasp85"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:18:39.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/db844f4ed6fba1829c8be7ec30fb12d5f5ac79972b8323fda35047361303dec6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:18:32.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/77d2d8b5440c492e83b043e4925d5d2fbf177dd5b5b9da73a4fc26fe689b65a8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:18:39.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/71db2b1676bf6c94b7298462b8ef2e8b9be94e9d4e4571e6b301bff52e013808",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:18:32.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/9b49e66064f6ba7f25fc91fe57ac36f1da660a33d0db4b66a8c122f5fd8c2aa9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:32:33.000Z",
      "arch": "aarch64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/398967fcdb0ecf84c8527a083589995d56aec32442056d4c18c17229b00393f8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:34:10.000Z",
      "arch": "x86_64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/5c5446fa17828efa780d8840d044fed8ce4a984eae10bee77aecd4a0677ff14f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:34:04.000Z",
      "arch": "aarch64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/7bba4418eb7ac1e6519feb2b3d18c41463eb707310c1df5a0be8c75cc4bf9aeb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:34:18.000Z",
      "arch": "x86_64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/d2df68cd2dedc6f51be71c72bc3be065e50b7c818dbb7f63acc8fdcf03ad7525",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:18:31.000Z",
      "arch": "emscripten",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/c9a6ea585a9403f2f5d495bf3e6b1b97f65b296895e658c3698fb9eea41dff3c",
      "status": "success",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:17:23.000Z",
      "arch": "x86_64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/84615968721b85a9c49b6258271991daf4acd5fff336934414eed9676c9c3623",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:17:22.000Z",
      "arch": "x86_64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/bca98eca65d5e8ac7cb4b7942142d415757b2306d10e5f16af158261f42ff3c1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "1.0.5.9000",
      "date": "2026-07-01T10:17:23.000Z",
      "arch": "x86_64",
      "commit": "67c94db6939cd4ca9c2915d7ffb6858a79ce80cd",
      "fileid": "https://r2.ropensci.org/88fe62b71fe451c02faeb86f8b3f23c884f3734a935d2d7b4f8d8b6a847d59d6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-lib/actions/runs/28510074107"
    }
  ]
}