Skip to content

Commit

Permalink
Release request commit created with Cranko.
Browse files Browse the repository at this point in the history
+++ cranko-rc-info-v1
[[projects]]
qnames = ["tectonic_pdf_io", "cargo"]
bump_spec = "minor bump"

[[projects]]
qnames = ["tectonic_engine_xdvipdfmx", "cargo"]
bump_spec = "minor bump"

[[projects]]
qnames = ["tectonic_engine_spx2html", "cargo"]
bump_spec = "micro bump"

[[projects]]
qnames = ["tectonic", "cargo"]
bump_spec = "minor bump"

+++
  • Loading branch information
cranko committed Oct 27, 2022
2 parents cc4051e + 204f033 commit b580bc3
Show file tree
Hide file tree
Showing 19 changed files with 489 additions and 276 deletions.
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# rc: minor bump

This release has only a few code updates:

- Partial support for the `dvipdfmx:config` special has been added (#953,
@vlasakm). This should fix some aspects of PDF generation, including named
anchors created by `hyperref`. Other fixes might help with the `attachfile`
package, although that is awaiting further confirmation.
- A dumb crash was fixed when attempting to create HTML output with an input
that has not been set up for the Tectonic HTML compilation framework (#955,
@pkgw). Note, however, that generic documents will still fail to build in HTML
mode. The program just won't crash now. As of this release, the *only* example
of working HTML output from Tectonic is the [tt-weave] system (see below).

More noteworthy are several non-code improvements!

- A preliminary official build for the Apple Metal platform
(`aarch64-apple-darwin`) is now available (#959, @pkgw). Due to lack of
support in the continuous integration system we can't test the build
thoroughly, but it appears to work.
- @KaranAhlawat contributed a [how-to guide for using Tectonic in Emacs AucTeX][auctex].
- @mnrvwl has done a fantastic job reviewing our GitHub issues, gathering more
information when needed, and closing out ones that have been solved.
- @pkgw has published *[XeTeX: A Pseudoprogram][xap]*, a digital book that
derives from Knuth's *[TeX: The Program][ttp]*. This book is generated from
the reference XeTeX code underlaying Tectonic’s typesetting using a new
processor called [tt-weave]. See [the book’s preface][xap] for more
information.

Thank you to all of our contributors!

[auctex]: https://tectonic-typesetting.github.io/book/latest/howto/auctex-setup/
[tt-weave]: https://github.com/tectonic-typesetting/tt-weave/
[xap]: https://stacks.fullyjustified.net/xap/2022.0/
[ttp]: https://www.worldcat.org/title/876762639


# tectonic 0.11.0 (2022-10-04)

- Many updates to the experimental, unstable `spx2html` engine for creating HTML
output (#941, @pkgw). They will not be documented here because there are a lot
and the aforementioned experimental-ness and instability. This work is in
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ tokio = "0.1.22"

[package.metadata.vcpkg]
git = "https://github.com/microsoft/vcpkg"
rev = "01b29f6d8212bc845da64773b18665d682f5ab66"
rev = "1be5a98d090b1d2beeb63a48ba800fbf006e8aca"

[package.metadata.vcpkg.target]
x86_64-apple-darwin = { install = ["freetype","harfbuzz[icu,graphite2]"] }
Expand Down
66 changes: 6 additions & 60 deletions crates/bridge_harfbuzz/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,62 +1,8 @@
# rc: micro bump
# See elsewhere for changelog

- On macOS, build with the preprocessor directive
`__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0`, which should
hopefully fix compile failures with old SDKs (#944, @pkgw).
This project’s release notes are curated from the Git history of its main
branch. You can find them by looking at [the version of this file on the
`release` branch][branch] or the [GitHub release history][gh-releases].


# tectonic_bridge_harfbuzz 0.2.6 (2022-10-03)

- Update the vendored harfbuzz to 5.2.0.


# tectonic_bridge_harfbuzz 0.2.5 (2022-04-26)

- Update the vendored harfbuzz to 4.1.0.


# tectonic_bridge_harfbuzz 0.2.4 (2022-02-28)

- Update the vendored Harfbuzz to 3.0.0.


# tectonic_bridge_harfbuzz 0.2.3 (2021-10-11)

- Update the vendored Harfbuzz source to
- Fixes for Clippy 1.53.0


# tectonic_bridge_harfbuzz 0.2.2 (2021-06-07)

- Still no code changes
- 0.2.1 didn't publish to Crates.io because our package file was too big for it;
we've eliminated some of the Harfbuzz support files that should fix this
([#781], [@pkgw])

[#781]: https://github.com/tectonic-typesetting/tectonic/pull/781
[@pkgw]: https://github.com/pkgw


# tectonic_bridge_harfbuzz 0.2.1 (2021-06-07)

- No code changes
- The 0.2.0 package didn't actually contain the vendored Harfbuzz source files,
breaking `cargo` builds. We’ve modified the CI scripts to attempt to fix this
([#777], [@pkgw])

[#777]: https://github.com/tectonic-typesetting/tectonic/pull/777
[@pkgw]: https://github.com/pkgw


# tectonic_bridge_harfbuzz 0.2.0 (2021-06-03)

- Update the vendored Harfbuzz to 2.8.1.
- Fix up handling of how C/C++ header file paths are exported to dependent
crates. This is a breaking change: we've moved from a single include directory
to a list of them.


# tectonic_bridge_harfbuzz 0.1.0 (2021-01-15)

Initial release of Harfbuzz "bridge" crate for Tectonic. Includes the ability to
vendor Harfbuzz.
[branch]: https://github.com/tectonic-typesetting/tectonic/blob/release/crates/bridge_harfbuzz/CHANGELOG.md
[gh-releases]: https://github.com/tectonic-typesetting/tectonic/releases
9 changes: 8 additions & 1 deletion crates/engine_spx2html/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
# rc: minor bump
# rc: micro bump

- Avoid a dumb crash when attempting to compile documents that have not been
set up for the Tectonic HTML compilation framework (#955, @pkgw). Note,
however, that generic documents will still fail to build in HTML mode.


# tectonic_engine_spx2html 0.2.0 (2022-10-04)

- Many updates for [tt-weave] (#941, @pkgw). This crate is still highly unstable
so we're not going to document them.
Expand Down
35 changes: 26 additions & 9 deletions crates/engine_spx2html/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1657,16 +1657,27 @@ impl EmittingState {
)
};

let cur_fam = self.font_families.get(&cur_ffid).unwrap();
let (path, desired_af) = if let Some(cur_fam) = self.font_families.get(&cur_ffid) {
// Already set up for the right font? If so, great!
if cur_fam.relative_id_to_font_num(cur_af) == fnum {
return;
}

// Already set up for the right font? If so, great!
if cur_fam.relative_id_to_font_num(cur_af) == fnum {
return;
}
// No. Figure out what we need to do.
let desired_af = cur_fam.font_num_to_relative_id(fnum);
(cur_fam.path_to_new_font(cur_af, desired_af), desired_af)
} else {
// We don't seem to be in a defined "family". So we have to
// select it explicitly.
let path = PathToNewFont {
close_all: true,
select_explicitly: true,
..Default::default()
};

// No. Figure out what we need to do.
let desired_af = cur_fam.font_num_to_relative_id(fnum);
let path = cur_fam.path_to_new_font(cur_af, desired_af);
let desired_af = FamilyRelativeFontId::Other(fnum);
(path, desired_af)
};

if path.close_one_and_retry {
if cur_is_autofont {
Expand Down Expand Up @@ -1969,7 +1980,13 @@ impl EmittingState {
}

// Read in the template. Let's not cache it, in case someone wants to do
// something fancy with rewriting it.
// something fancy with rewriting it. If that setting is empty, probably
// the user is compiling the document in HTML mode without all of the
// TeX infrastructure that Tectonic needs to make it work.

if self.next_template_path.is_empty() {
bail!("need to emit HTML content but no template has been specified; is your document HTML-compatible?");
}

let mut ih = atry!(
common.hooks.io().input_open_name(&self.next_template_path, common.status).must_exist();
Expand Down
75 changes: 69 additions & 6 deletions crates/engine_xdvipdfmx/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,71 @@
# See elsewhere for changelog
# rc: minor bump

This project’s release notes are curated from the Git history of its main
branch. You can find them by looking at [the version of this file on the
`release` branch][branch] or the [GitHub release history][gh-releases].
- Use new support in the `pdf_io` backend to handle the `dvipdfmx:config`
special (#904, #953, @vlasakm). This should fix some aspects of PDF generation,
including named anchors created by `hyperref`.

[branch]: https://github.com/tectonic-typesetting/tectonic/blob/release/crates/engine_xdvipdfmx/CHANGELOG.md
[gh-releases]: https://github.com/tectonic-typesetting/tectonic/releases

# tectonic_engine_xdvipdfmx 0.3.0 (2022-10-03)

- Synchronize with TeXLive 2022.0 (#936, @pkgw). There are no changes in this
crate related to the update, but some in `tectonic_pdf_io`.
- Remove C's `time_t` from internal FFI APIs to avoid portability issues. This
should avoid issues with Linux Musl builds.


# tectonic_engine_xdvipdfmx 0.2.0 (2022-04-26)

Update xdvipdfmx for TeXLive 2021 (#882, @pkgw). A brief summary of changes
based on the TeXLive 2021 release notes:

- Not applicable to Tectonic: GhostScript safety improvements.
- If an image file is not found, exit with bad status.
- Extended special syntax for color support.
- Specials for manipulating ExtGState.
- Compatibility specials `pdfcolorstack` and `pdffontattr`.
- Experimental support for dviluatex’s extended `fnt_def`.
- Support new feature of virtual font to fallback Japanese font definition.

There are other internal changes; see [the low-level ChangeLog][xdvcl]. Note
that most of these changes are actually found in the `tectonic_pdf_io` crate,
which contains most of the actual exported xdvipdfmx code.

[xdvcl]: https://github.com/TeX-Live/texlive-source/blob/404d2e476949c1e225e6b94ff92e3a113ab6b413/texk/dvipdfm-x/ChangeLog#L107-L557


# tectonic_engine_xdvipdfmx 0.1.3 (2021-06-19)

- Fix a `build.rs` typo causing nonstop rebuilds
- Fixes for Clippy 1.53.0


# tectonic_engine_xdvipdfmx 0.1.2 (2021-06-17)

- Switch from running [cbindgen] at build time to having the developer run it
manually. This really ought to fix the crate builds on docs.rs ([#788]), and
should speed builds too.

[cbindgen]: https://github.com/eqrion/cbindgen
[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788


# tectonic_engine_xdvipdfmx 0.1.1 (2021-06-17)

- Attempt to fix crate builds on docs.rs — see [#788]. This works around an
issue in Tectonic’s usage of [cbindgen] by configuring Cargo to operate in
offline mode when building on docs.rs, which builds crates with network access
turned off.

[#788]: https://github.com/tectonic-typesetting/tectonic/issues/788
[cbindgen]: https://github.com/eqrion/cbindgen


# tectonic_engine_xdvipdfmx 0.1.0 (2021-06-03)

This crate introduces the `xdvipdfmx` engine as a standalone crate, building on
the new "core bridge" functionality. The API is iterated somewhat from the one
that was previously provided in the main `tectonic` crate.

Note that the vast majority of the `xdvipdfmx` C/C++ code is found in the new
`tectonic_pdf_io` crate, because both this crate and the XeTeX engine need to
share library routines to do I/O on PDF files.
4 changes: 2 additions & 2 deletions crates/engine_xdvipdfmx/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2021 the Tectonic Project
# Copyright 2021-2022 the Tectonic Project
# Licensed under the MIT License.

# See README.md for discussion of features (or lack thereof) in this crate.
Expand Down Expand Up @@ -30,4 +30,4 @@ cc = "^1.0.66"
[package.metadata.internal_dep_versions]
tectonic_bridge_core = "thiscommit:2021-01-17:fohCh1sh"
tectonic_errors = "5c9ba661edf5ef669f24f9904f99cca369d999e7"
tectonic_pdf_io = "thiscommit:2022-03-29:6nizWic"
tectonic_pdf_io = "thiscommit:2022-10-21:pkYKcMI"
33 changes: 21 additions & 12 deletions crates/engine_xdvipdfmx/xdvipdfmx/dvipdfmx.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,19 +66,14 @@ typedef struct page_range
int last;
} PageRange;

/* Compatibility options */
#define OPT_TPIC_TRANSPARENT_FILL (1 << 1)
#define OPT_CIDFONT_FIXEDPITCH (1 << 2)
#define OPT_FONTMAP_FIRST_MATCH (1 << 3)
#define OPT_PDFDOC_NO_DEST_REMOVE (1 << 4)
#define OPT_PDFOBJ_NO_PREDICTOR (1 << 5)
#define OPT_PDFOBJ_NO_OBJSTM (1 << 6)

static int pdf_version_major = 1;
static int pdf_version_minor = 5;
static int compression_level = 9;

static double annot_grow_x = 0.0;
static double annot_grow_y = 0.0;
static char ignore_colors = 0;
static int bookmark_open = 0;
static double mag = 1.0;
Expand Down Expand Up @@ -248,10 +243,18 @@ do_dvi_pages (void)
xo = x_offset; yo = y_offset;
dvi_scan_specials(page_no,
&w, &h, &xo, &yo, &lm,
/* No PDF version */
NULL, NULL,
/* No compression */
NULL,
/* No annotation grow */
NULL, NULL,
/* No need for encryption options */
NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL,
/* No trailer IDs */
NULL, NULL, NULL);
NULL, NULL, NULL,
/* No opt_flags */
NULL);
if (lm != landscape_mode) { /* already swapped for the first page */
SWAP(w, h);
landscape_mode = lm;
Expand Down Expand Up @@ -336,6 +339,11 @@ dvipdfmx_main (
int has_id = 0;
unsigned char id1[16], id2[16];
struct pdf_setting settings;
int pdf_version_major = 1;
int pdf_version_minor = 5;
int compression_level = 9;
double annot_grow_x = 0;
double annot_grow_y = 0;

assert(pdf_filename);
assert(dvi_filename);
Expand Down Expand Up @@ -369,8 +377,7 @@ dvipdfmx_main (
* code bits. */

select_paper(paperspec);
annot_grow_x = 0;
annot_grow_y = 0;

bookmark_open = 0;
key_bits = 40;
permission = 0x003C;
Expand All @@ -397,8 +404,10 @@ dvipdfmx_main (
&paper_width, &paper_height,
&x_offset, &y_offset, &landscape_mode,
&pdf_version_major, &pdf_version_minor,
&compression_level,
&annot_grow_x, &annot_grow_y,
&do_encryption, &key_bits, &permission, oplain, uplain,
&has_id, id1, id2);
&has_id, id1, id2, &opt_flags);
}

/*kpse_init_prog("", font_dpi, NULL, NULL);
Expand Down Expand Up @@ -518,4 +527,4 @@ tt_engine_xdvipdfmx_main(

ttbc_global_engine_exit();
return rv;
}
}
Loading

0 comments on commit b580bc3

Please sign in to comment.