Skip to content

Commit 54ab23f

Browse files
authored
Merge pull request tectonic-typesetting#259 from burrbull/xete_consts_other
Xetex consts, functions & Option for pointers
2 parents 387f045 + 8ed7bff commit 54ab23f

32 files changed

+22205
-23992
lines changed

Cargo.lock

Lines changed: 64 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dpx/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ rand = "0.7.2"
1717
chrono = "0.4.9"
1818
euclid = "0.20"
1919
indexmap = "1.3.0"
20+
png = "0.16"
2021

2122
[features]
2223
default = ['libz-sys']

dpx/src/dpx_pdfdev.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ fn p_dtoa(mut value: f64, prec: i32, buf: &mut [u8]) -> usize {
354354
if !(fresh4 != 0) {
355355
break;
356356
}
357-
buf[n + 1 + j as usize] = (g % 10) as u8 + b'0';
357+
buf[n + 1 + j as usize] = ((g % 10) as u8).wrapping_add(b'0'); // TODO: check
358358
g /= 10
359359
}
360360
n += 1 + prec as usize;

engine/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ chrono = "0.4.9"
3333
harfbuzz-sys = {version = "^0.3", default-features = false}
3434
freetype-rs = "0.23.0"
3535
euclid = "0.20"
36+
enumn = "0.1.2"
37+
derive_more = "0.99.7"
3638

3739
[target.'cfg(target_os = "macos")'.dependencies]
3840
core-foundation = "0.7.0"

engine/src/lib.rs

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#![feature(extern_types)]
2-
#![feature(ptr_wrapping_offset_from)]
2+
#![feature(ptr_offset_from)]
33
#![allow(
44
dead_code,
55
mutable_transmutes,
@@ -653,3 +653,49 @@ pub(crate) mod cf_prelude {
653653
return rval;
654654
}
655655
}
656+
657+
#[macro_export]
658+
macro_rules! help(
659+
() => {
660+
crate::xetex_ini::help_ptr = 0;
661+
};
662+
($s0: expr) => {
663+
crate::xetex_ini::help_ptr = 1;
664+
crate::xetex_ini::help_line[0] = $s0;
665+
};
666+
($s1: expr, $s0: expr) => {
667+
crate::xetex_ini::help_ptr = 2;
668+
crate::xetex_ini::help_line[1] = $s1;
669+
crate::xetex_ini::help_line[0] = $s0;
670+
};
671+
($s2: expr, $s1: expr, $s0: expr) => {
672+
crate::xetex_ini::help_ptr = 3;
673+
crate::xetex_ini::help_line[2] = $s2;
674+
crate::xetex_ini::help_line[1] = $s1;
675+
crate::xetex_ini::help_line[0] = $s0;
676+
};
677+
($s3: expr, $s2: expr, $s1: expr, $s0: expr) => {
678+
crate::xetex_ini::help_ptr = 4;
679+
crate::xetex_ini::help_line[3] = $s3;
680+
crate::xetex_ini::help_line[2] = $s2;
681+
crate::xetex_ini::help_line[1] = $s1;
682+
crate::xetex_ini::help_line[0] = $s0;
683+
};
684+
($s4: expr, $s3: expr, $s2: expr, $s1: expr, $s0: expr) => {
685+
crate::xetex_ini::help_ptr = 5;
686+
crate::xetex_ini::help_line[4] = $s4;
687+
crate::xetex_ini::help_line[3] = $s3;
688+
crate::xetex_ini::help_line[2] = $s2;
689+
crate::xetex_ini::help_line[1] = $s1;
690+
crate::xetex_ini::help_line[0] = $s0;
691+
};
692+
($s5: expr, $s4: expr, $s3: expr, $s2: expr, $s1: expr, $s0: expr) => {
693+
crate::xetex_ini::help_ptr = 6;
694+
crate::xetex_ini::help_line[5] = $s5;
695+
crate::xetex_ini::help_line[4] = $s4;
696+
crate::xetex_ini::help_line[3] = $s3;
697+
crate::xetex_ini::help_line[2] = $s2;
698+
crate::xetex_ini::help_line[1] = $s1;
699+
crate::xetex_ini::help_line[0] = $s0;
700+
};
701+
);

0 commit comments

Comments
 (0)