2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

解答用紙を自動で作成する Windows アプリケーション「ASaGe」をリリースしました。

概要

中学校・高校でよく使用される、問題用紙から独立しているタイプの解答用紙を作成できます。
その他、模範解答の入力や、プリントアウト、PDF出力にも対応しています。

特徴

シンプルな操作

まず、ASaGe の操作パネルをお見せします。

mainpanel.png

たったこれだけです。
このUIパーツの少なさから分かる通り、ASaGe の最大の特徴は、何といっても「シンプルな操作」です。

基本的な操作は、

  1. 解答欄の大きさを指定する
  2. 追加ボタンを押す

の2手順のみ。
これを繰り返すだけで、標準的な解答用紙は完成してしまいます。

introduction.gif

従来、解答用紙の作成には、Excel が使用されてきましたが、

  • 罫線を引く
  • 問題番号を振る
  • 用紙サイズに合わせて、行・列幅の調節

というステップを、解答用紙が完成するまで何度も繰り返す必要がありました。

また、表計算ソフトという特性上、

  • 行幅・列幅を変更すると、シート全体に影響する
  • 途中に解答欄を挿入すると、それ以降の解答欄の表示がすべて崩れる

等の理由で、レイアウトの変更が容易に行えず、手作業で微調整をする必要があります。

ASaGe を使用することで、これらの煩雑な操作が一切不要になります。

プレビュー表示と完成品との差異がない

Excel でよく聞く厄介事の一つに、「画面上での見た目と、プリントアウトした完成品の見た目が異なる」というものがあります。
ASaGe では、出力時に表示物をキャプチャし、その画像を参照してプリントアウトを行うため、画面表示と完成品との間にずれが起こることはありません。

技術スタック

フレームワーク:.Net Maui + MVVM Toolkit
プログラミング言語:C# + Xaml
UIコンポーネント:Syncfusion .Net Maui

仕組みの概要

MVVM の区分にのっとって、大まかな役割を紹介します。

バックエンド(Model)

設定値を保持する役割を担っています。

大問、小問、枝問 という 3 階層に対応しており、そのすべてが、解答用紙をルートとする木構造でつながっています。
1⃣ の中に (1) (2) が入っていて、(1) の中に a b が入っている、という感じです。

バックエンド(ViewModel)

View から受け取った入力値を Model に渡す役割と、
Model で保持している値を、View 用に加工する役割を担っています。

Model には、状態の復元に必要な最低限の情報だけが保持されているので、実際の表示に必要な演算は、ここで行っています。
(500px で表示する、2 個目の問題だから問題番号は 2⃣ だ 等)

フロントエンド(View)

View から受け取った値を表示する役割と、ユーザーの入力を ViewModel に渡す役割を担っています。

解答欄の罫線の描画は、直線を組み合わせることで実現しています。

縦書きについて

ASaGe は、国語科での使用も想定しており、縦書きにも対応しています。
ですが、使用しているフレームワークやツールが縦書きに対応していない場面が多々ありました。
そのため、縦書きに関しては、常にアドホックな対応が必要になりました。
例えば、縦書き時のフォントは、左に90°倒した魔改造フォントを使用し、文章全体を右に90°回転させることで、縦書きに見せています。

font.png

右から左への書字方向は対応されているんですが、縦書きには当分対応はないでしょうね…

今後の機能追加予定

今後も定期的にアップデートを続ける予定です。

  • 採点斬り 2021ver との連携機能
  • 模範解答の文字数に応じた、サイズの自動調整機能
  • ショートカットキー

以上の機能を、Pro 版に実装予定です。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?