% Copyright 2026 Open-Guji (https://github.com/open-guji)
%
% Licensed under the Apache License, Version 2.0 (the "License");
% you may not use this file except in compliance with the License.
% You may obtain a copy of the License at
%
%     http://www.apache.org/licenses/LICENSE-2.0
%
% Unless required by applicable law or agreed to in writing, software
% distributed under the License is distributed on an "AS IS" BASIS,
% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
% See the License for the specific language governing permissions and
% limitations under the License.

% luatex_cn.sty
% LuaTeX package for Chinese typesetting support
% Main wrapper package that loads luatex-cn-core and other modules
%
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\RequirePackage{l3keys2e}
\ProvidesExplPackage {luatex-cn} {2026/02/18} {0.3.0} {Chinese typesetting support for LuaTeX (Bundle)}

% ============================================================================
% Package Options
% ============================================================================
\bool_new:N \g_luatexcn_banxin_bool
\bool_new:N \g_luatexcn_no_banxin_bool

\keys_define:nn { luatexcn }
  {
    banxin .bool_set:N = \g_luatexcn_banxin_bool,
    banxin .initial:n = true,
    no-banxin .code:n = { \bool_set_true:N \g_luatexcn_no_banxin_bool },
  }

\ProcessKeysOptions { luatexcn }

% If no-banxin is explicitly set, override banxin
\bool_if:NT \g_luatexcn_no_banxin_bool
  {
    \bool_set_false:N \g_luatexcn_banxin_bool
  }

% ============================================================================
% Load Sub-packages
% ============================================================================

% 1. Load Core (Vertical + Typesetting + Base Utils + Page/SplitPage)
\RequirePackage{luatex-cn-core}

% 2. Load Banxin (版心) - Conditional
\RequirePackage{banxin/luatex-cn-banxin}

% ============================================================================
% Interface Documentation
% ============================================================================
% This package now serves as a bundle loading:
% - luatex-cn-core (includes page split functionality)
% - luatex-cn-banxin
%
% ============================================================================

% Version info
\tl_const:Nn \c_luatexcn_version_tl {0.3.0}
\cs_new:Npn \luatexcnversion { \c_luatexcn_version_tl }

% Main package initialization
\PackageInfo { luatex_cn } { Chinese~typesetting~bundle~\tl_use:N \c_luatexcn_version_tl \space loaded }

\ExplSyntaxOff%
%
\endinput%
