{
  "_id": "6abc2a9c99f7aa8c6aa49f64",
  "Package": "gghalftone",
  "Title": "Halftone, Dither and Line-Screen Fills for 'ggplot2'",
  "Version": "0.1.0",
  "Date": "2026-09-29",
  "Authors@R": "person(\"Kinan\", \"El Husseini\", role = c(\"aut\", \"cre\"), email = \"kinelhu@gmail.com\",\ncomment = c(ORCID = \"0000-0001-9188-833X\"))",
  "Description": "Halftone screens as ggplot2 layers. Dots are placed at\ndraw time on a lattice with a physical pitch in millimetres, so\na figure gets the same screen at any output size. Provides\ngeom_halftone() for gridded fields, geom_spot() for per-point\ntone discs, with_halftone() to screen the fill of any layer\n(ribbons, areas, bars, polygons, sf), with_halo() and\nwith_relief() for lines over a screen, a screen aesthetic for\ncolour-free encodings, line screens, Bayer, blue-noise and\nFloyd-Steinberg dithering, overprinting of overlapping groups,\nwith_press() for press artefacts, and a theme modifier with\nexport helpers.",
  "URL": "https://github.com/kinelhu/gghalftone,\nhttps://kinelhu.github.io/gghalftone/",
  "BugReports": "https://github.com/kinelhu/gghalftone/issues",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Config/roxygen2/version": "8.0.0",
  "Repository": "https://kinelhu.r-universe.dev",
  "Date/Publication": "2026-09-29 16:09:30 UTC",
  "RemoteUrl": "https://github.com/kinelhu/gghalftone",
  "RemoteRef": "HEAD",
  "RemoteSha": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-09-29 21:05:41 UTC",
    "User": "root"
  },
  "Author": "Kinan El Husseini [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-9188-833X>)",
  "Maintainer": "Kinan El Husseini <kinelhu@gmail.com>",
  "_user": "kinelhu",
  "_type": "src",
  "_file": "gghalftone_0.1.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/21fa1316e2685c7619b48e41f6cb1363831488a9f1674a4816b60919d9f08c77",
  "_filesize": 4656966,
  "_sha256": "21fa1316e2685c7619b48e41f6cb1363831488a9f1674a4816b60919d9f08c77",
  "_expires": "2027-01-07T21:16:10.000Z",
  "_created": "2026-09-29T21:05:41.000Z",
  "_published": "2026-09-29T21:16:12.637Z",
  "_jobs": [
    {
      "job": 109619905601,
      "time": 188,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11062732679"
    },
    {
      "job": 109619905779,
      "time": 227,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11061649038"
    },
    {
      "job": 109619905659,
      "time": 220,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11061768927"
    },
    {
      "job": 109619905607,
      "time": 266,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11061359414"
    },
    {
      "job": 109619905675,
      "time": 173,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11061334463"
    },
    {
      "job": 109619905792,
      "time": 456,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11063050003"
    },
    {
      "job": 109619905724,
      "time": 175,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11062153998"
    },
    {
      "job": 109619905722,
      "time": 491,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11062945183"
    },
    {
      "job": 109618170832,
      "time": 260,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11061424018"
    },
    {
      "job": 109619905543,
      "time": 123,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11061628840"
    },
    {
      "job": 109619905694,
      "time": 308,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11062468987"
    },
    {
      "job": 109619905708,
      "time": 231,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11062593132"
    },
    {
      "job": 109619905709,
      "time": 187,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11061728967"
    },
    {
      "job": 109619905726,
      "time": 295,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11062533514"
    },
    {
      "job": 109619905642,
      "time": 220,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11061879327"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734",
  "_status": "success",
  "_upstream": "https://github.com/kinelhu/gghalftone",
  "_commit": {
    "id": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
    "author": "Kinan El Husseini <kinelhu@gmail.com>",
    "committer": "Kinan El Husseini <kinelhu@gmail.com>",
    "message": "Stop citing documents the reader does not have\n\nThree shipped files pointed at design_review.md, which is gitignored and\nnow lives in a private repository. A reader of the tarball or the site had\nno such file. Each citation is replaced by the finding it stood for: the\npitch ladder result at the default, the moire measurement behind the\none-lattice rule, and a NEWS line that simply went.\n\nCo-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01Ua4FdQJTt5VouxRtQGYtNP\n",
    "time": 1790698170
  },
  "_maintainer": {
    "name": "Kinan El Husseini",
    "email": "kinelhu@gmail.com",
    "login": "kinelhu",
    "description": "",
    "uuid": 83667798,
    "orcid": "0000-0001-9188-833X"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.4.0",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "ragg",
      "role": "Suggests"
    },
    {
      "package": "polyclip",
      "role": "Suggests"
    },
    {
      "package": "magick",
      "role": "Suggests"
    },
    {
      "package": "maps",
      "role": "Suggests"
    },
    {
      "package": "mapproj",
      "role": "Suggests"
    },
    {
      "package": "patchwork",
      "role": "Suggests"
    },
    {
      "package": "survival",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "png",
      "role": "Suggests"
    },
    {
      "package": "mgcv",
      "role": "Suggests"
    },
    {
      "package": "MASS",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "kinelhu",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-39",
      "n": 36
    },
    {
      "week": "2026-40",
      "n": 31
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-09-29"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "kinelhu",
      "count": 67,
      "uuid": 83667798
    }
  ],
  "_userbio": {
    "uuid": 83667798,
    "type": "user",
    "name": "kinelhu",
    "followers": 2
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/gghalftone"
  },
  "_devurl": "https://github.com/kinelhu/gghalftone",
  "_pkgdown": "https://kinelhu.github.io/gghalftone/",
  "_topics": [
    "cpp"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/gghalftone.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "bayer_matrix",
    "blue_noise_matrix",
    "dither_bayer",
    "dither_blue_noise",
    "draw_key_halftone",
    "draw_key_spot",
    "geom_halftone",
    "geom_halftone_cmyk",
    "geom_spot",
    "ggsave_journal",
    "halftone_band",
    "halftone_bars",
    "halftone_cmyk",
    "halftone_ink",
    "halftone_inks",
    "halftone_paper",
    "halftone_plot",
    "halftone_process",
    "halftone_proof",
    "halftone_ramp",
    "halftone_raster",
    "halftone_regions",
    "halftone_ridges",
    "halftone_widths",
    "km_censor",
    "km_risk",
    "km_steps",
    "scale_colour_halftone",
    "scale_fill_halftone",
    "scale_screen_discrete",
    "scale_screen_manual",
    "scale_tone",
    "scale_tone_continuous",
    "theme_halftone",
    "with_halftone",
    "with_halo",
    "with_press",
    "with_relief"
  ],
  "_help": [
    {
      "page": "cmyk",
      "title": "Four-colour process screens",
      "topics": [
        "cmyk",
        "geom_halftone_cmyk",
        "halftone_cmyk"
      ]
    },
    {
      "page": "dither",
      "title": "Threshold matrices and dithering",
      "topics": [
        "bayer_matrix",
        "blue_noise_matrix",
        "dither",
        "dither_bayer",
        "dither_blue_noise"
      ]
    },
    {
      "page": "draw_key_halftone",
      "title": "Legend keys",
      "topics": [
        "draw_key_halftone",
        "draw_key_spot"
      ]
    },
    {
      "page": "geom_halftone",
      "title": "Halftone screen of a gridded field",
      "topics": [
        "geom_halftone",
        "makeContent.halftone"
      ]
    },
    {
      "page": "geom_spot",
      "title": "Tone discs",
      "topics": [
        "geom_spot",
        "makeContent.spot"
      ]
    },
    {
      "page": "halftone_fields",
      "title": "Fields from statistical objects",
      "topics": [
        "halftone_band",
        "halftone_bars",
        "halftone_fields",
        "halftone_regions",
        "halftone_ridges"
      ]
    },
    {
      "page": "halftone_inks",
      "title": "Inks, paper, ramp and column widths",
      "topics": [
        "halftone_ink",
        "halftone_inks",
        "halftone_paper",
        "halftone_process",
        "halftone_ramp",
        "halftone_widths"
      ]
    },
    {
      "page": "halftone_plot",
      "title": "Screen a whole plot",
      "topics": [
        "halftone_plot"
      ]
    },
    {
      "page": "halftone_raster",
      "title": "Image to field",
      "topics": [
        "halftone_raster"
      ]
    },
    {
      "page": "km_steps",
      "title": "Kaplan-Meier frames for halftone survival plots",
      "topics": [
        "km_censor",
        "km_risk",
        "km_steps"
      ]
    },
    {
      "page": "scale_halftone",
      "title": "Ink palette scales",
      "topics": [
        "scale_colour_halftone",
        "scale_fill_halftone",
        "scale_halftone"
      ]
    },
    {
      "page": "scale_screen_discrete",
      "title": "Screen scales: colour-free encodings",
      "topics": [
        "scale_screen_discrete",
        "scale_screen_manual"
      ]
    },
    {
      "page": "scale_tone_continuous",
      "title": "Tone scale",
      "topics": [
        "scale_tone",
        "scale_tone_continuous"
      ]
    },
    {
      "page": "theme_halftone",
      "title": "Theme modifier and export helpers",
      "topics": [
        "ggsave_journal",
        "halftone_proof",
        "theme_halftone"
      ]
    },
    {
      "page": "with_halftone",
      "title": "Screen the fill of any layer",
      "topics": [
        "makeContent.halftone_fill",
        "with_halftone"
      ]
    },
    {
      "page": "with_halo",
      "title": "Paper halo under a line or point layer",
      "topics": [
        "with_halo"
      ]
    },
    {
      "page": "with_press",
      "title": "Press artefacts",
      "topics": [
        "with_press"
      ]
    },
    {
      "page": "with_relief",
      "title": "Illuminated contours",
      "topics": [
        "makeContent.relief",
        "with_relief"
      ]
    }
  ],
  "_readme": "https://github.com/kinelhu/gghalftone/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "cpp11",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "labeling",
    "lifecycle",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "S7",
    "scales",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_sysdeps": [
    {
      "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": "fields.Rmd",
      "filename": "fields.html",
      "title": "Fields: dot screens, stipple and engraving",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Continuous tone",
        "Engraving",
        "Illuminated contours",
        "Stipple",
        "Photographs",
        "Maps",
        "Pitch",
        "Press artefacts",
        "References"
      ],
      "created": "2026-09-29 09:28:28",
      "modified": "2026-09-29 10:16:44",
      "commits": 2
    },
    {
      "source": "gghalftone.Rmd",
      "filename": "gghalftone.html",
      "title": "Halftone fills for journal figures",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Screen a whole plot",
        "Screen a confidence band",
        "Plot survival with three strata",
        "Screen bars",
        "Save",
        "Defaults",
        "References"
      ],
      "created": "2026-09-29 09:28:28",
      "modified": "2026-09-29 10:16:44",
      "commits": 2
    },
    {
      "source": "screens.Rmd",
      "filename": "screens.html",
      "title": "One ink: screens, hatching and the screen aesthetic",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Densities",
        "Three intervals in one ink",
        "Screen specifications",
        "Dot plots in one ink",
        "References"
      ],
      "created": "2026-09-29 09:28:28",
      "modified": "2026-09-29 09:28:28",
      "commits": 1
    }
  ],
  "_score": 3.4771212547196626,
  "_indexed": true,
  "_nocasepkg": "gghalftone",
  "_universes": [
    "kinelhu"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-09-29T21:07:58.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/be9cbe46c5c3e4e3be34a113c4bff34ffdef25cc719524aa50b54a014f94ecc7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-09-29T21:08:14.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/294e968e0803b3cc8dd8c2ec239f904d7ee5508770b6c64c294dcbd39c9fcb57",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-09-29T21:08:34.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/30468c138f3c7fb28e2537f5eb9895373f2ef719fd35796806b9221146dcd87f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.0",
      "date": "2026-09-29T21:08:58.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/571fc7359c905bd850503467e0dca24271cedeaaf6c691e76df73ddb514dac29",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-09-29T21:08:33.000Z",
      "arch": "aarch64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/f1564d8e841df348f046b6722cff26dad8e29882366d39ab8cd2589c0019f4b6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-09-29T21:09:55.000Z",
      "arch": "x86_64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/f777e4ee7f768c82435353563799034416ddbd58af8b8052bf1f525f6575e02a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-09-29T21:10:26.000Z",
      "arch": "aarch64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/af56bbb89ab4201b12f15b17e04c43bac08fb86eed472d453f8cdc64d54a38d9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.0",
      "date": "2026-09-29T21:11:35.000Z",
      "arch": "x86_64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/7b0c7900295477c1dfe0b1aa278d45da584d449d75aae091f9fd30b8de6cc8c4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.0",
      "date": "2026-09-29T21:08:08.000Z",
      "arch": "emscripten",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/a6ae43d8fa1e37bad3f69fc7b5bd24032f05fa5b295f1051883de00501356d86",
      "status": "success",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-29T21:09:31.000Z",
      "arch": "aarch64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/bcd86c467f474433e972543c55ac2dd6fbaf50daec95528aabbcdef3581e95d7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-29T21:07:03.000Z",
      "arch": "x86_64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/8284a05b9d8ef83fbf03ebd021528035fd0f4dfbff2063a83a073cfa7a8b4a2f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-29T21:07:01.000Z",
      "arch": "x86_64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/aa24f5968af571e87b357a938c601442111450ae5d235a9efc613ed180791e0c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-29T21:09:21.000Z",
      "arch": "aarch64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/8e6935fbf3ea48e2f02d7980e8df42e92a4b6359ca252062de18f41114cb770b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.0",
      "date": "2026-09-29T21:07:25.000Z",
      "arch": "x86_64",
      "commit": "dec86a926905e2beb9d435b36e8b364db9ab0c17",
      "fileid": "https://r2.ropensci.org/a1cf2633fd6ef74dfb4685fe9f7fd27bb199b95df431a201fd25f506820a8fd3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/kinelhu/actions/runs/36630454734"
    }
  ]
}