fulgur 0.40.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cea56e91c43e3d7fee8b5583543671fd0d18f7b9cbd73d3a02bfbced8a514d20
4
- data.tar.gz: 6501b0e0fbf788a6f5edd5d6985cea47b45c5182b47750b55e68daed2870db89
3
+ metadata.gz: f0cd2919e044285ed8a33fb2979eb886b714fb6e4cf61d7f8f5a177b95d5f280
4
+ data.tar.gz: 309a2f90d1c3abe251d544bccb02db7dc0fcdf033694bec691094ce6ca001c5d
5
5
  SHA512:
6
- metadata.gz: 0e6ed518de8e6df775885a98595b9da8a21c17daeba1bdcc46abf99ebda580ecaf6bd5e40252ed0e5673433a91938e8cf421416f9b4c57e369cc7a1ff0b9dc57
7
- data.tar.gz: 4657ff7bee8d87bfe3cf60395020b6cc46f617fe329ca6ad522db1ba3c0eaf7ffca9ccdc255cd3eccc2abb0b09bb674b90205b640eeb99daa42bf2f0659281bd
6
+ metadata.gz: 937ea00a77a7cd7e67a07fec1e7bd26ee7894fb4f4b0c417c4d4326ced50e12cf87328d7d3acccd9602155647582a46dc5eea077f4e13992cc5056f9bc6f7022
7
+ data.tar.gz: 82077339f198ab0819fbca81ca2cbbda3bb02194f4e9f8e2ce84e83257ad1ce4e6764f070a58b982da6eee1ff70b522dd78565a0be666c713977acb03195243f
data/Cargo.toml CHANGED
@@ -1,12 +1,12 @@
1
1
  [package]
2
2
  name = "fulgur-ruby"
3
- version = "0.40.0"
3
+ version = "0.41.0"
4
4
  # rb_sys cross-gem-action は `directory: crates/fulgur-ruby` のみをコンテナに
5
5
  # マウントするため、この Cargo.toml は workspace root 不在でも cargo metadata
6
6
  # を解決できる必要がある。したがって workspace 継承 (`.workspace = true`) は
7
7
  # 使わず、値は root Cargo.toml [workspace.package] と同期させて inline する。
8
8
  edition = "2024"
9
- rust-version = "1.85.0"
9
+ rust-version = "1.89.0"
10
10
  license = "MIT OR Apache-2.0"
11
11
  repository = "https://github.com/fulgur-rs/fulgur"
12
12
  homepage = "https://github.com/fulgur-rs/fulgur"
@@ -22,8 +22,8 @@ ruby-api = ["dep:magnus", "dep:rb-sys"]
22
22
 
23
23
  [dependencies]
24
24
  fulgur = { path = "../fulgur" }
25
- base64 = "0.22"
26
- magnus = { version = "0.8", optional = true }
25
+ base64 = "0.23"
26
+ magnus = { version = "0.9", optional = true }
27
27
  rb-sys = { version = "0.9", optional = true }
28
28
  # Send/Sync 保証 (Engine) のコンパイル時 assertion で使用。
29
29
  # ext/fulgur/Cargo.toml にも同じ依存を追加していること。
data/LICENSE-MIT CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Mitsuru Takigahira
3
+ Copyright (c) 2026 Lutom LLC. and contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -21,7 +21,7 @@ for later releases.
21
21
  > **Note:** v0.0.1 is an early MVP. Pre-built gems are not yet published to
22
22
  > RubyGems; build from source for now.
23
23
 
24
- Requires a Rust toolchain (1.85+) and Ruby 3.3+.
24
+ Requires a Rust toolchain (1.89+) and Ruby 3.3+.
25
25
 
26
26
  ```bash
27
27
  # From a checkout of the fulgur repository
@@ -151,13 +151,21 @@ bundle.image_file "icon", "icon.png"
151
151
  ### `Fulgur::PageSize`
152
152
 
153
153
  ```ruby
154
+ Fulgur::PageSize::A3
154
155
  Fulgur::PageSize::A4
156
+ Fulgur::PageSize::A5
157
+ Fulgur::PageSize::B4
158
+ Fulgur::PageSize::B5
159
+ Fulgur::PageSize::JIS_B4
160
+ Fulgur::PageSize::JIS_B5
155
161
  Fulgur::PageSize::LETTER
156
- Fulgur::PageSize::A3
162
+ Fulgur::PageSize::LEGAL
163
+ Fulgur::PageSize::LEDGER
157
164
  Fulgur::PageSize.custom(100, 200) # width/height in mm
158
165
  ```
159
166
 
160
- Engine kwargs and builder also accept `:a4`, `"A4"`, etc. as shorthand.
167
+ Engine kwargs and builder also accept `:a4`, `"A4"`, `"JIS-B4"`, etc. as shorthand
168
+ (the full CSS Paged Media Level 3 keyword set, case-insensitive).
161
169
 
162
170
  ### `Fulgur::Margin`
163
171
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  [package]
4
4
  name = "fulgur"
5
- version = "0.40.0"
5
+ version = "0.41.0"
6
6
  # crates/fulgur-ruby/Cargo.toml と同じ src を共有 (path = "../../src/lib.rs")。
7
7
  # workspace と同じ edition 2024 に揃える。
8
8
  edition = "2024"
@@ -22,7 +22,7 @@ ruby-api = ["dep:magnus", "dep:rb-sys"]
22
22
  # を参照する (release 時は release.yml → release: published → release-ruby.yml の順で
23
23
  # 発火するため、この時点で fulgur のバージョンは crates.io に存在する)。
24
24
  # release-prepare.yml が sed でこの行のバージョンを同期する。
25
- fulgur = "0.40.0"
25
+ fulgur = "0.41.0"
26
26
  base64 = "0.22"
27
27
  magnus = { version = "0.7", optional = true }
28
28
  rb-sys = { version = "0.9", optional = true }
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fulgur
4
- VERSION = "0.40.0"
4
+ VERSION = "0.41.0"
5
5
  end
data/src/page_size.rs CHANGED
@@ -67,18 +67,13 @@ pub fn extract(value: Value) -> Result<PageSize, Error> {
67
67
  }
68
68
 
69
69
  fn parse_name(name: &str) -> Result<PageSize, Error> {
70
- match name.to_ascii_uppercase().as_str() {
71
- "A4" => Ok(PageSize::A4),
72
- "LETTER" => Ok(PageSize::LETTER),
73
- "A3" => Ok(PageSize::A3),
74
- other => {
75
- let ruby = Ruby::get().expect("ruby vm");
76
- Err(Error::new(
77
- ruby.exception_arg_error(),
78
- format!("unknown page size: {other}"),
79
- ))
80
- }
81
- }
70
+ PageSize::from_css_keyword(name).ok_or_else(|| {
71
+ let ruby = Ruby::get().expect("ruby vm");
72
+ Error::new(
73
+ ruby.exception_arg_error(),
74
+ format!("unknown page size: {name}"),
75
+ )
76
+ })
82
77
  }
83
78
 
84
79
  pub fn define(ruby: &Ruby, fulgur: &RModule) -> Result<(), Error> {
@@ -90,8 +85,15 @@ pub fn define(ruby: &Ruby, fulgur: &RModule) -> Result<(), Error> {
90
85
  class.define_method("inspect", method!(RbPageSize::inspect, 0))?;
91
86
  class.define_method("to_s", method!(RbPageSize::inspect, 0))?;
92
87
 
88
+ class.const_set("A3", RbPageSize::new(PageSize::A3))?;
93
89
  class.const_set("A4", RbPageSize::new(PageSize::A4))?;
90
+ class.const_set("A5", RbPageSize::new(PageSize::A5))?;
91
+ class.const_set("B4", RbPageSize::new(PageSize::B4))?;
92
+ class.const_set("B5", RbPageSize::new(PageSize::B5))?;
93
+ class.const_set("JIS_B4", RbPageSize::new(PageSize::JIS_B4))?;
94
+ class.const_set("JIS_B5", RbPageSize::new(PageSize::JIS_B5))?;
94
95
  class.const_set("LETTER", RbPageSize::new(PageSize::LETTER))?;
95
- class.const_set("A3", RbPageSize::new(PageSize::A3))?;
96
+ class.const_set("LEGAL", RbPageSize::new(PageSize::LEGAL))?;
97
+ class.const_set("LEDGER", RbPageSize::new(PageSize::LEDGER))?;
96
98
  Ok(())
97
99
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fulgur
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.40.0
4
+ version: 0.41.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mitsuru Hayasaka
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-31 00:00:00.000000000 Z
11
+ date: 2026-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys