New Upstream Snapshot - r-cran-textshaping

Ready changes

Summary

Merged new upstream version: 0.3.6+git20211025.1.8619e5e (was: 0.3.6).

Resulting package

Built on 2022-10-21T19:14 (took 6m18s)

The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:

apt install -t fresh-snapshots r-cran-textshaping-dbgsymapt install -t fresh-snapshots r-cran-textshaping

Lintian Result

Diff

diff --git a/DESCRIPTION b/DESCRIPTION
index 18a8bc4..a15f99a 100644
--- a/DESCRIPTION
+++ b/DESCRIPTION
@@ -1,7 +1,7 @@
 Package: textshaping
 Title: Bindings to the 'HarfBuzz' and 'Fribidi' Libraries for Text
         Shaping
-Version: 0.3.6
+Version: 0.3.6.9000
 Authors@R: c(
     person("Thomas Lin", "Pedersen", , "thomas.pedersen@rstudio.com", c("cre", "aut"), comment = c(ORCID = "0000-0002-5147-4711")),
     person("RStudio", role = "cph")
@@ -12,6 +12,7 @@ Description: Provides access to the text shaping functionality in the 'HarfBuzz'
     expands upon the font tool-set provided by the 'systemfonts' package.
 License: MIT + file LICENSE
 Encoding: UTF-8
+Roxygen: list(markdown = TRUE)
 RoxygenNote: 7.1.1
 Depends: R (>= 3.2.0)
 Imports: systemfonts (>= 1.0.0)
@@ -22,10 +23,8 @@ BugReports: https://github.com/r-lib/textshaping/issues
 Suggests: covr, knitr, rmarkdown
 VignetteBuilder: knitr
 NeedsCompilation: yes
-Packaged: 2021-10-13 11:45:03 UTC; thomas
+Packaged: 2022-10-21 19:12:28 UTC; root
 Author: Thomas Lin Pedersen [cre, aut]
     (<https://orcid.org/0000-0002-5147-4711>),
   RStudio [cph]
 Maintainer: Thomas Lin Pedersen <thomas.pedersen@rstudio.com>
-Repository: CRAN
-Date/Publication: 2021-10-13 12:00:02 UTC
diff --git a/MD5 b/MD5
deleted file mode 100644
index 113e1bb..0000000
--- a/MD5
+++ /dev/null
@@ -1,48 +0,0 @@
-df878ad4b3523ba6edabd427bb490fff *DESCRIPTION
-38658af2499f1780bb9f1586ab95a939 *LICENSE
-fc0493ada33f1e1178890b4f0469e120 *NAMESPACE
-6cbd21ffe0cedc2438db078bdbde2389 *NEWS.md
-3cdfcedc32dc8d2928eff42ab0a3b6bf *R/aaa.R
-4cce499f2c314a68991f0cddfd5c7d18 *R/cpp11.R
-69bc51cc86c2aaf6b57c6cf9afa01c42 *R/font_features.R
-76bed6d3d027641c019531490e0a1c07 *R/shape_text.R
-377383f1194400cd367aa2179278e110 *R/textshaping-package.R
-a871008abd64e26780eb0ef6110f8a3e *README.md
-e419579751f459ab7ffb9fbaf8d6fbe9 *build/vignette.rds
-8fedab5931036be90e6ff98113518359 *cleanup
-cbf8cf9efdf6dd8945528d9ad7496f9e *configure
-3c9e2d06e8560272e30c98b0c827478b *inst/doc/c_interface.R
-53f397f83d34bac25a463944ebed33cd *inst/doc/c_interface.Rmd
-85a7be8fdf63760911d13bddb67edbee *inst/doc/c_interface.html
-01b664ff9df4ae7d423f1bd0c14100fb *inst/include/textshaping.h
-cb1e46f469cfbbbde29c8b5113e1d789 *man/figures/lifecycle-archived.svg
-c0d2e5a54f1fa4ff02bf9533079dd1f7 *man/figures/lifecycle-defunct.svg
-a1b8c987c676c16af790f563f96cbb1f *man/figures/lifecycle-deprecated.svg
-c3978703d8f40f2679795335715e98f4 *man/figures/lifecycle-experimental.svg
-952b59dc07b171b97d5d982924244f61 *man/figures/lifecycle-maturing.svg
-27b879bf3677ea76e3991d56ab324081 *man/figures/lifecycle-questioning.svg
-53b3f893324260b737b3c46ed2a0e643 *man/figures/lifecycle-stable.svg
-1c1fe7a759b86dc6dbcbe7797ab8246c *man/figures/lifecycle-superseded.svg
-32191f2be718133207d2707b8b56ef34 *man/get_font_features.Rd
-036740619525db3fe3e3b5dea958da41 *man/shape_text.Rd
-fbaafed215a98649dc6d1bbcf0048dfd *man/text_width.Rd
-7f4c4c10c352c598ba30c5af1e8f7605 *man/textshaping-package.Rd
-cd12dc7d3e35eb57cf01a01939f4119c *src/Makevars.in
-2cec33791efd347cbcb051402d7cf9c4 *src/Makevars.ucrt
-98494e704f2fd685a67d94ff56ae8fd9 *src/Makevars.win
-48efff0cee3d1c6f89a3b5ff3354f715 *src/cache_lru.h
-b1c07e48af719780124ccb82760dfa36 *src/cpp11.cpp
-a9c63ad033e0923f693b947a8b6db973 *src/face_feature.cpp
-b828ba4493df04539e8c025afe9a399b *src/face_feature.h
-85c1c789268626413a7f6c83fc2d97fc *src/hb_shaper.cpp
-7dcce7900ea26f0b6ddf77500c123eca *src/hb_shaper.h
-39054766e1da4fbe98f064a018a81958 *src/init.cpp
-13e1783c7b9198be0d421f2a6fd30f39 *src/string_bidi.cpp
-96cab9d24d19732554287f96e75fd14a *src/string_bidi.h
-86bee2b79a2128f76c894202fbec51f5 *src/string_metrics.cpp
-e41bab9452b13b4d65f780a891d27880 *src/string_metrics.h
-97b8f9be9428e2921458596d2ee39ee6 *src/string_shape.cpp
-dd7664858e6e86f07af92ad11ea425fc *src/string_shape.h
-a97ba99eaca7f130d80de3dc3743cd7d *src/utils.h
-e57df1d506e2920303862076a0f9ecad *tools/winlibs.R
-53f397f83d34bac25a463944ebed33cd *vignettes/c_interface.Rmd
diff --git a/NEWS.md b/NEWS.md
index a76622d..5fb2b60 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,3 +1,5 @@
+# textshaping (development version)
+
 # textshaping 0.3.6
 
 * Fix a bug in fallback font loading which would crash the process if the font 
diff --git a/build/vignette.rds b/build/vignette.rds
index fa8cfd1..fb3f91e 100644
Binary files a/build/vignette.rds and b/build/vignette.rds differ
diff --git a/configure b/configure
index 7732b97..b5a5af4 100755
--- a/configure
+++ b/configure
@@ -35,7 +35,7 @@ elif [ "$PKGCONFIG_CFLAGS" ] || [ "$PKGCONFIG_LIBS" ]; then
   PKG_CFLAGS="${PKGCONFIG_CFLAGS}"
   PKG_LIBS="${PKGCONFIG_LIBS}"
 elif [ "`uname`" = "Darwin" ]; then
-  brew --version 2>/dev/null
+  test ! "$CI" && brew --version 2>/dev/null
   if [ $? -eq 0 ]; then
     BREWDIR="`brew --prefix`"
     PKG_CFLAGS="-I$BREWDIR/include/freetype2 -I$BREWDIR/include/harfbuzz -I$BREWDIR/include/glib-2.0  -I$BREWDIR/include/fribidi"
diff --git a/debian/changelog b/debian/changelog
index 50ee69a..56c599e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+r-cran-textshaping (0.3.6+git20211025.1.8619e5e-1) UNRELEASED; urgency=low
+
+  * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Fri, 21 Oct 2022 19:12:32 -0000
+
 r-cran-textshaping (0.3.6-1) unstable; urgency=medium
 
   * Team upload.
diff --git a/inst/doc/c_interface.html b/inst/doc/c_interface.html
index ffdc7c9..b556602 100644
--- a/inst/doc/c_interface.html
+++ b/inst/doc/c_interface.html
@@ -14,7 +14,19 @@
 
 <title>textshaping C interface</title>
 
-<script src="data:application/javascript;base64,Ly8gUGFuZG9jIDIuOSBhZGRzIGF0dHJpYnV0ZXMgb24gYm90aCBoZWFkZXIgYW5kIGRpdi4gV2UgcmVtb3ZlIHRoZSBmb3JtZXIgKHRvCi8vIGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgYmVoYXZpb3Igb2YgUGFuZG9jIDwgMi44KS4KZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uKGUpIHsKICB2YXIgaHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJkaXYuc2VjdGlvbltjbGFzcyo9J2xldmVsJ10gPiA6Zmlyc3QtY2hpbGQiKTsKICB2YXIgaSwgaCwgYTsKICBmb3IgKGkgPSAwOyBpIDwgaHMubGVuZ3RoOyBpKyspIHsKICAgIGggPSBoc1tpXTsKICAgIGlmICghL15oWzEtNl0kL2kudGVzdChoLnRhZ05hbWUpKSBjb250aW51ZTsgIC8vIGl0IHNob3VsZCBiZSBhIGhlYWRlciBoMS1oNgogICAgYSA9IGguYXR0cmlidXRlczsKICAgIHdoaWxlIChhLmxlbmd0aCA+IDApIGgucmVtb3ZlQXR0cmlidXRlKGFbMF0ubmFtZSk7CiAgfQp9KTsK"></script>
+<script>// Pandoc 2.9 adds attributes on both header and div. We remove the former (to
+// be compatible with the behavior of Pandoc < 2.8).
+document.addEventListener('DOMContentLoaded', function(e) {
+  var hs = document.querySelectorAll("div.section[class*='level'] > :first-child");
+  var i, h, a;
+  for (i = 0; i < hs.length; i++) {
+    h = hs[i];
+    if (!/^h[1-6]$/i.test(h.tagName)) continue;  // it should be a header h1-h6
+    a = h.attributes;
+    while (a.length > 0) h.removeAttribute(a[0].name);
+  }
+});
+</script>
 
 <style type="text/css">
   code{white-space: pre-wrap;}
@@ -26,6 +38,7 @@
     </style>
 
 
+
 <style type="text/css">
   code {
     white-space: pre;
@@ -73,7 +86,7 @@ code span.al { color: #ff0000; font-weight: bold; } /* Alert */
 code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
 code span.at { color: #7d9029; } /* Attribute */
 code span.bn { color: #40a070; } /* BaseN */
-code span.bu { } /* BuiltIn */
+code span.bu { color: #008000; } /* BuiltIn */
 code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
 code span.ch { color: #4070a0; } /* Char */
 code span.cn { color: #880000; } /* Constant */
@@ -86,7 +99,7 @@ code span.er { color: #ff0000; font-weight: bold; } /* Error */
 code span.ex { } /* Extension */
 code span.fl { color: #40a070; } /* Float */
 code span.fu { color: #06287e; } /* Function */
-code span.im { } /* Import */
+code span.im { color: #008000; font-weight: bold; } /* Import */
 code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
 code span.kw { color: #007020; font-weight: bold; } /* Keyword */
 code span.op { color: #666666; } /* Operator */
@@ -107,13 +120,20 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
   for (var i = 0; i < sheets.length; i++) {
     if (sheets[i].ownerNode.dataset["origin"] !== "pandoc") continue;
     try { var rules = sheets[i].cssRules; } catch (e) { continue; }
-    for (var j = 0; j < rules.length; j++) {
+    var j = 0;
+    while (j < rules.length) {
       var rule = rules[j];
       // check if there is a div.sourceCode rule
-      if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") continue;
+      if (rule.type !== rule.STYLE_RULE || rule.selectorText !== "div.sourceCode") {
+        j++;
+        continue;
+      }
       var style = rule.style.cssText;
       // check if color or background-color is set
-      if (rule.style.color === '' && rule.style.backgroundColor === '') continue;
+      if (rule.style.color === '' && rule.style.backgroundColor === '') {
+        j++;
+        continue;
+      }
       // replace div.sourceCode by a pre.sourceCode rule
       sheets[i].deleteRule(j);
       sheets[i].insertRule('pre.sourceCode{' + style + '}', j);
@@ -125,7 +145,187 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
 
 
 
-<link rel="stylesheet" href="data:text/css,body%20%7B%0Abackground%2Dcolor%3A%20%23fff%3B%0Amargin%3A%201em%20auto%3B%0Amax%2Dwidth%3A%20700px%3B%0Aoverflow%3A%20visible%3B%0Apadding%2Dleft%3A%202em%3B%0Apadding%2Dright%3A%202em%3B%0Afont%2Dfamily%3A%20%22Open%20Sans%22%2C%20%22Helvetica%20Neue%22%2C%20Helvetica%2C%20Arial%2C%20sans%2Dserif%3B%0Afont%2Dsize%3A%2014px%3B%0Aline%2Dheight%3A%201%2E35%3B%0A%7D%0A%23TOC%20%7B%0Aclear%3A%20both%3B%0Amargin%3A%200%200%2010px%2010px%3B%0Apadding%3A%204px%3B%0Awidth%3A%20400px%3B%0Aborder%3A%201px%20solid%20%23CCCCCC%3B%0Aborder%2Dradius%3A%205px%3B%0Abackground%2Dcolor%3A%20%23f6f6f6%3B%0Afont%2Dsize%3A%2013px%3B%0Aline%2Dheight%3A%201%2E3%3B%0A%7D%0A%23TOC%20%2Etoctitle%20%7B%0Afont%2Dweight%3A%20bold%3B%0Afont%2Dsize%3A%2015px%3B%0Amargin%2Dleft%3A%205px%3B%0A%7D%0A%23TOC%20ul%20%7B%0Apadding%2Dleft%3A%2040px%3B%0Amargin%2Dleft%3A%20%2D1%2E5em%3B%0Amargin%2Dtop%3A%205px%3B%0Amargin%2Dbottom%3A%205px%3B%0A%7D%0A%23TOC%20ul%20ul%20%7B%0Amargin%2Dleft%3A%20%2D2em%3B%0A%7D%0A%23TOC%20li%20%7B%0Aline%2Dheight%3A%2016px%3B%0A%7D%0Atable%20%7B%0Amargin%3A%201em%20auto%3B%0Aborder%2Dwidth%3A%201px%3B%0Aborder%2Dcolor%3A%20%23DDDDDD%3B%0Aborder%2Dstyle%3A%20outset%3B%0Aborder%2Dcollapse%3A%20collapse%3B%0A%7D%0Atable%20th%20%7B%0Aborder%2Dwidth%3A%202px%3B%0Apadding%3A%205px%3B%0Aborder%2Dstyle%3A%20inset%3B%0A%7D%0Atable%20td%20%7B%0Aborder%2Dwidth%3A%201px%3B%0Aborder%2Dstyle%3A%20inset%3B%0Aline%2Dheight%3A%2018px%3B%0Apadding%3A%205px%205px%3B%0A%7D%0Atable%2C%20table%20th%2C%20table%20td%20%7B%0Aborder%2Dleft%2Dstyle%3A%20none%3B%0Aborder%2Dright%2Dstyle%3A%20none%3B%0A%7D%0Atable%20thead%2C%20table%20tr%2Eeven%20%7B%0Abackground%2Dcolor%3A%20%23f7f7f7%3B%0A%7D%0Ap%20%7B%0Amargin%3A%200%2E5em%200%3B%0A%7D%0Ablockquote%20%7B%0Abackground%2Dcolor%3A%20%23f6f6f6%3B%0Apadding%3A%200%2E25em%200%2E75em%3B%0A%7D%0Ahr%20%7B%0Aborder%2Dstyle%3A%20solid%3B%0Aborder%3A%20none%3B%0Aborder%2Dtop%3A%201px%20solid%20%23777%3B%0Amargin%3A%2028px%200%3B%0A%7D%0Adl%20%7B%0Amargin%2Dleft%3A%200%3B%0A%7D%0Adl%20dd%20%7B%0Amargin%2Dbottom%3A%2013px%3B%0Amargin%2Dleft%3A%2013px%3B%0A%7D%0Adl%20dt%20%7B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0Aul%20%7B%0Amargin%2Dtop%3A%200%3B%0A%7D%0Aul%20li%20%7B%0Alist%2Dstyle%3A%20circle%20outside%3B%0A%7D%0Aul%20ul%20%7B%0Amargin%2Dbottom%3A%200%3B%0A%7D%0Apre%2C%20code%20%7B%0Abackground%2Dcolor%3A%20%23f7f7f7%3B%0Aborder%2Dradius%3A%203px%3B%0Acolor%3A%20%23333%3B%0Awhite%2Dspace%3A%20pre%2Dwrap%3B%20%0A%7D%0Apre%20%7B%0Aborder%2Dradius%3A%203px%3B%0Amargin%3A%205px%200px%2010px%200px%3B%0Apadding%3A%2010px%3B%0A%7D%0Apre%3Anot%28%5Bclass%5D%29%20%7B%0Abackground%2Dcolor%3A%20%23f7f7f7%3B%0A%7D%0Acode%20%7B%0Afont%2Dfamily%3A%20Consolas%2C%20Monaco%2C%20%27Courier%20New%27%2C%20monospace%3B%0Afont%2Dsize%3A%2085%25%3B%0A%7D%0Ap%20%3E%20code%2C%20li%20%3E%20code%20%7B%0Apadding%3A%202px%200px%3B%0A%7D%0Adiv%2Efigure%20%7B%0Atext%2Dalign%3A%20center%3B%0A%7D%0Aimg%20%7B%0Abackground%2Dcolor%3A%20%23FFFFFF%3B%0Apadding%3A%202px%3B%0Aborder%3A%201px%20solid%20%23DDDDDD%3B%0Aborder%2Dradius%3A%203px%3B%0Aborder%3A%201px%20solid%20%23CCCCCC%3B%0Amargin%3A%200%205px%3B%0A%7D%0Ah1%20%7B%0Amargin%2Dtop%3A%200%3B%0Afont%2Dsize%3A%2035px%3B%0Aline%2Dheight%3A%2040px%3B%0A%7D%0Ah2%20%7B%0Aborder%2Dbottom%3A%204px%20solid%20%23f7f7f7%3B%0Apadding%2Dtop%3A%2010px%3B%0Apadding%2Dbottom%3A%202px%3B%0Afont%2Dsize%3A%20145%25%3B%0A%7D%0Ah3%20%7B%0Aborder%2Dbottom%3A%202px%20solid%20%23f7f7f7%3B%0Apadding%2Dtop%3A%2010px%3B%0Afont%2Dsize%3A%20120%25%3B%0A%7D%0Ah4%20%7B%0Aborder%2Dbottom%3A%201px%20solid%20%23f7f7f7%3B%0Amargin%2Dleft%3A%208px%3B%0Afont%2Dsize%3A%20105%25%3B%0A%7D%0Ah5%2C%20h6%20%7B%0Aborder%2Dbottom%3A%201px%20solid%20%23ccc%3B%0Afont%2Dsize%3A%20105%25%3B%0A%7D%0Aa%20%7B%0Acolor%3A%20%230033dd%3B%0Atext%2Ddecoration%3A%20none%3B%0A%7D%0Aa%3Ahover%20%7B%0Acolor%3A%20%236666ff%3B%20%7D%0Aa%3Avisited%20%7B%0Acolor%3A%20%23800080%3B%20%7D%0Aa%3Avisited%3Ahover%20%7B%0Acolor%3A%20%23BB00BB%3B%20%7D%0Aa%5Bhref%5E%3D%22http%3A%22%5D%20%7B%0Atext%2Ddecoration%3A%20underline%3B%20%7D%0Aa%5Bhref%5E%3D%22https%3A%22%5D%20%7B%0Atext%2Ddecoration%3A%20underline%3B%20%7D%0A%0Acode%20%3E%20span%2Ekw%20%7B%20color%3A%20%23555%3B%20font%2Dweight%3A%20bold%3B%20%7D%20%0Acode%20%3E%20span%2Edt%20%7B%20color%3A%20%23902000%3B%20%7D%20%0Acode%20%3E%20span%2Edv%20%7B%20color%3A%20%2340a070%3B%20%7D%20%0Acode%20%3E%20span%2Ebn%20%7B%20color%3A%20%23d14%3B%20%7D%20%0Acode%20%3E%20span%2Efl%20%7B%20color%3A%20%23d14%3B%20%7D%20%0Acode%20%3E%20span%2Ech%20%7B%20color%3A%20%23d14%3B%20%7D%20%0Acode%20%3E%20span%2Est%20%7B%20color%3A%20%23d14%3B%20%7D%20%0Acode%20%3E%20span%2Eco%20%7B%20color%3A%20%23888888%3B%20font%2Dstyle%3A%20italic%3B%20%7D%20%0Acode%20%3E%20span%2Eot%20%7B%20color%3A%20%23007020%3B%20%7D%20%0Acode%20%3E%20span%2Eal%20%7B%20color%3A%20%23ff0000%3B%20font%2Dweight%3A%20bold%3B%20%7D%20%0Acode%20%3E%20span%2Efu%20%7B%20color%3A%20%23900%3B%20font%2Dweight%3A%20bold%3B%20%7D%20%0Acode%20%3E%20span%2Eer%20%7B%20color%3A%20%23a61717%3B%20background%2Dcolor%3A%20%23e3d2d2%3B%20%7D%20%0A" type="text/css" />
+<style type="text/css">body {
+background-color: #fff;
+margin: 1em auto;
+max-width: 700px;
+overflow: visible;
+padding-left: 2em;
+padding-right: 2em;
+font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+font-size: 14px;
+line-height: 1.35;
+}
+#TOC {
+clear: both;
+margin: 0 0 10px 10px;
+padding: 4px;
+width: 400px;
+border: 1px solid #CCCCCC;
+border-radius: 5px;
+background-color: #f6f6f6;
+font-size: 13px;
+line-height: 1.3;
+}
+#TOC .toctitle {
+font-weight: bold;
+font-size: 15px;
+margin-left: 5px;
+}
+#TOC ul {
+padding-left: 40px;
+margin-left: -1.5em;
+margin-top: 5px;
+margin-bottom: 5px;
+}
+#TOC ul ul {
+margin-left: -2em;
+}
+#TOC li {
+line-height: 16px;
+}
+table {
+margin: 1em auto;
+border-width: 1px;
+border-color: #DDDDDD;
+border-style: outset;
+border-collapse: collapse;
+}
+table th {
+border-width: 2px;
+padding: 5px;
+border-style: inset;
+}
+table td {
+border-width: 1px;
+border-style: inset;
+line-height: 18px;
+padding: 5px 5px;
+}
+table, table th, table td {
+border-left-style: none;
+border-right-style: none;
+}
+table thead, table tr.even {
+background-color: #f7f7f7;
+}
+p {
+margin: 0.5em 0;
+}
+blockquote {
+background-color: #f6f6f6;
+padding: 0.25em 0.75em;
+}
+hr {
+border-style: solid;
+border: none;
+border-top: 1px solid #777;
+margin: 28px 0;
+}
+dl {
+margin-left: 0;
+}
+dl dd {
+margin-bottom: 13px;
+margin-left: 13px;
+}
+dl dt {
+font-weight: bold;
+}
+ul {
+margin-top: 0;
+}
+ul li {
+list-style: circle outside;
+}
+ul ul {
+margin-bottom: 0;
+}
+pre, code {
+background-color: #f7f7f7;
+border-radius: 3px;
+color: #333;
+white-space: pre-wrap; 
+}
+pre {
+border-radius: 3px;
+margin: 5px 0px 10px 0px;
+padding: 10px;
+}
+pre:not([class]) {
+background-color: #f7f7f7;
+}
+code {
+font-family: Consolas, Monaco, 'Courier New', monospace;
+font-size: 85%;
+}
+p > code, li > code {
+padding: 2px 0px;
+}
+div.figure {
+text-align: center;
+}
+img {
+background-color: #FFFFFF;
+padding: 2px;
+border: 1px solid #DDDDDD;
+border-radius: 3px;
+border: 1px solid #CCCCCC;
+margin: 0 5px;
+}
+h1 {
+margin-top: 0;
+font-size: 35px;
+line-height: 40px;
+}
+h2 {
+border-bottom: 4px solid #f7f7f7;
+padding-top: 10px;
+padding-bottom: 2px;
+font-size: 145%;
+}
+h3 {
+border-bottom: 2px solid #f7f7f7;
+padding-top: 10px;
+font-size: 120%;
+}
+h4 {
+border-bottom: 1px solid #f7f7f7;
+margin-left: 8px;
+font-size: 105%;
+}
+h5, h6 {
+border-bottom: 1px solid #ccc;
+font-size: 105%;
+}
+a {
+color: #0033dd;
+text-decoration: none;
+}
+a:hover {
+color: #6666ff; }
+a:visited {
+color: #800080; }
+a:visited:hover {
+color: #BB00BB; }
+a[href^="http:"] {
+text-decoration: underline; }
+a[href^="https:"] {
+text-decoration: underline; }
+
+code > span.kw { color: #555; font-weight: bold; } 
+code > span.dt { color: #902000; } 
+code > span.dv { color: #40a070; } 
+code > span.bn { color: #d14; } 
+code > span.fl { color: #d14; } 
+code > span.ch { color: #d14; } 
+code > span.st { color: #d14; } 
+code > span.co { color: #888888; font-style: italic; } 
+code > span.ot { color: #007020; } 
+code > span.al { color: #ff0000; font-weight: bold; } 
+code > span.fu { color: #900; font-weight: bold; } 
+code > span.er { color: #a61717; background-color: #e3d2d2; } 
+</style>
 
 
 
@@ -141,13 +341,27 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
 
 
 
-<p>textshaping is predominantly intended to be used by other packages implementing graphic devicees and calling it from the C level. As such it exports a set of functions that match the needs of graphic devices. The C API builds upon that of systemfonts and you’ll thus need to link to both packages to access it succesfully. This is done with the <code>LinkingTo</code> field in the <code>DESCRIPTION</code> file:</p>
+<p>textshaping is predominantly intended to be used by other packages
+implementing graphic devicees and calling it from the C level. As such
+it exports a set of functions that match the needs of graphic devices.
+The C API builds upon that of systemfonts and you’ll thus need to link
+to both packages to access it succesfully. This is done with the
+<code>LinkingTo</code> field in the <code>DESCRIPTION</code> file:</p>
 <pre><code>LinkingTo: 
     systemfonts,
     textshaping</code></pre>
-<p>You will further need to make sure that both packages are loaded when you need to use the C API. This is most easily done by importing a function from each package into your namespace.</p>
-<p>In your C/C++ code you’ll then have <code>#include &lt;textshaping.h&gt;</code> to get access to the functions described below. The functions are available in the <code>textshaping</code> namespace.</p>
-<p>The C API expects fonts to be given as <code>FontSettings</code> structs which can be obtained from the systemfonts C API with <code>locate_font_with_features()</code>. This makes it possible to both get access to the font file location along with potential OpenType features registered to the font.</p>
+<p>You will further need to make sure that both packages are loaded when
+you need to use the C API. This is most easily done by importing a
+function from each package into your namespace.</p>
+<p>In your C/C++ code you’ll then have
+<code>#include &lt;textshaping.h&gt;</code> to get access to the
+functions described below. The functions are available in the
+<code>textshaping</code> namespace.</p>
+<p>The C API expects fonts to be given as <code>FontSettings</code>
+structs which can be obtained from the systemfonts C API with
+<code>locate_font_with_features()</code>. This makes it possible to both
+get access to the font file location along with potential OpenType
+features registered to the font.</p>
 <div id="string-width" class="section level2">
 <h2>String width</h2>
 <div class="sourceCode" id="cb2"><pre class="sourceCode c"><code class="sourceCode c"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="dt">int</span> string_width<span class="op">(</span></span>
@@ -158,7 +372,15 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
 <span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a>  <span class="dt">int</span> include_bearing<span class="op">,</span> </span>
 <span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a>  <span class="dt">double</span><span class="op">*</span> width</span>
 <span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a><span class="op">)</span></span></code></pre></div>
-<p>This function calculates the width of a string, ignoring any newlines (these are automatically being handled by the graphic engine). It takes a UTF-8 encoded string, along with a FontSettings struct to use for shaping the string before calculating the width. It also take a size in pt and a res in ppi for setting the size. In addition it takes an include_bearing flag to control whether the bearings of the first and last character should be taken into account (this is recommended by the graphic engine). It will write the width in pts to the passed in pointer and return 0 if successful.</p>
+<p>This function calculates the width of a string, ignoring any newlines
+(these are automatically being handled by the graphic engine). It takes
+a UTF-8 encoded string, along with a FontSettings struct to use for
+shaping the string before calculating the width. It also take a size in
+pt and a res in ppi for setting the size. In addition it takes an
+include_bearing flag to control whether the bearings of the first and
+last character should be taken into account (this is recommended by the
+graphic engine). It will write the width in pts to the passed in pointer
+and return 0 if successful.</p>
 </div>
 <div id="string-shape" class="section level2">
 <h2>String shape</h2>
@@ -174,7 +396,35 @@ code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warni
 <span id="cb3-10"><a href="#cb3-10" aria-hidden="true" tabindex="-1"></a>  std<span class="op">::</span>vector<span class="op">&lt;</span>FontSettings<span class="op">&gt;&amp;</span> fallbacks<span class="op">,</span></span>
 <span id="cb3-11"><a href="#cb3-11" aria-hidden="true" tabindex="-1"></a>  std<span class="op">::</span>vector<span class="op">&lt;</span><span class="dt">double</span><span class="op">&gt;&amp;</span> fallback_scaling</span>
 <span id="cb3-12"><a href="#cb3-12" aria-hidden="true" tabindex="-1"></a><span class="op">)</span></span></code></pre></div>
-<p>This function takes care of all the nitty-gritty of shaping a single line of text. It takes the same font information input as <code>string_width()</code>, that is, a <code>FontSettings</code> struct and size and res. It further accepts a number of vectors where the shaping information will be written. <code>loc</code> will end up containing the location of each glyph in pts starting from a (0, 0) origin. Since the graphic engine only pass single lines to the graphic device at a time then line breaking is not handled and for now all returned y positions are set to 0.0 (this may change in the future depending on the development of the graphic engine). The glyph id in the font file will be written to the <code>id</code> vector You will need to use this to look up the glyph to render instead of relying on the characters in the input string due to the potential substitution and merging of glyphs happening during shaping. The <code>cluster</code> array is currently unused (and will thus not be touched) but may in the future contain identifications of which character in the input string relates to the provided glyphs. The <code>font</code>, <code>fallback</code>, and <code>fallback_scaling</code> vectors will be filled with information about the selected fonts for the shaping. The <code>font</code> vector will map each glyph to a font in the <code>fallback</code> vector. The first element in the <code>fallback</code> vector will be the requested font, and if any additional elements exist it will be due to font fallback occurring. The <code>fallback_scaling</code> vector is holding information about how the shaping of non-scalable fonts has been scaled. It contains one element for each elements in <code>fallback</code>. If the value is negative the font is scalable and no scaling of the metrics have occurred. If it is positive it is the value that has been multiplied to the glyph metrics.</p>
+<p>This function takes care of all the nitty-gritty of shaping a single
+line of text. It takes the same font information input as
+<code>string_width()</code>, that is, a <code>FontSettings</code> struct
+and size and res. It further accepts a number of vectors where the
+shaping information will be written. <code>loc</code> will end up
+containing the location of each glyph in pts starting from a (0, 0)
+origin. Since the graphic engine only pass single lines to the graphic
+device at a time then line breaking is not handled and for now all
+returned y positions are set to 0.0 (this may change in the future
+depending on the development of the graphic engine). The glyph id in the
+font file will be written to the <code>id</code> vector You will need to
+use this to look up the glyph to render instead of relying on the
+characters in the input string due to the potential substitution and
+merging of glyphs happening during shaping. The <code>cluster</code>
+array is currently unused (and will thus not be touched) but may in the
+future contain identifications of which character in the input string
+relates to the provided glyphs. The <code>font</code>,
+<code>fallback</code>, and <code>fallback_scaling</code> vectors will be
+filled with information about the selected fonts for the shaping. The
+<code>font</code> vector will map each glyph to a font in the
+<code>fallback</code> vector. The first element in the
+<code>fallback</code> vector will be the requested font, and if any
+additional elements exist it will be due to font fallback occurring. The
+<code>fallback_scaling</code> vector is holding information about how
+the shaping of non-scalable fonts has been scaled. It contains one
+element for each elements in <code>fallback</code>. If the value is
+negative the font is scalable and no scaling of the metrics have
+occurred. If it is positive it is the value that has been multiplied to
+the glyph metrics.</p>
 </div>
 
 

Debdiff

[The following lists of changes regard files as different if they have different names, permissions or owners.]

Files in second set of .debs but not in first

-rw-r--r--  root/root   /usr/lib/debug/.build-id/1c/2484a85d7cf4a5bd5998c7c34d7f0e5b833d4d.debug

Files in first set of .debs but not in second

-rw-r--r--  root/root   /usr/lib/debug/.build-id/2b/94e2689c21515ffc14e16b4be815336a618b9e.debug

Control files of package r-cran-textshaping: lines which differ (wdiff format)

  • Depends: r-base-core (>= 4.2.0-1), 4.2.1-3), r-api-4.0, r-cran-systemfonts (>= 1.0.0), r-cran-cpp11 (>= 0.2.1), libc6 (>= 2.14), libfreetype6 (>= 2.2.1), libfribidi0 (>= 0.19.2), libgcc-s1 (>= 3.0), libharfbuzz0b (>= 1.2.6), libstdc++6 (>= 11)

Control files of package r-cran-textshaping-dbgsym: lines which differ (wdiff format)

  • Build-Ids: 2b94e2689c21515ffc14e16b4be815336a618b9e 1c2484a85d7cf4a5bd5998c7c34d7f0e5b833d4d

More details

Full run details