(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記制御部は、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動部と、
第１の前記プログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、第１の前記プログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、第１の前記プログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動部と、
前記接続状態において、前記第２の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御部であって、第１の前記プログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御部と、
を備え、
前記表示制御部は、さらに、
前記非接続状態において、前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させ、
前記Ｎ２個の項目画像は、前記Ｎ１個の項目画像のうちの１個の項目画像を除く（Ｎ１−１）個の項目画像と、前記１個の項目画像の代替画像である前記第２の項目画像であって、第１の前記プログラム制御データによって指定される第２の情報データに従った前記第２の項目画像と、を含む、画像処理装置。
【請求項２】
第１の前記プログラム制御データは、特定の前記プログラム制御データの記憶位置を示す位置情報を含み、
前記表示制御部は、前記接続状態において、前記第２の項目画像が選択される場合に、
第１の前記プログラム制御データに含まれる前記位置情報によって示される前記記憶位置から特定の前記プログラム制御データを取得し、
特定の前記プログラム制御データによって指定される前記第１の画面構成データに従った前記第１のスタイルを有すると共に、特定の前記プログラム制御データによって指定される前記第１の情報データに従った前記特定の情報画像を含む前記機能関係画面を前記表示部に表示させる、請求項１に記載の画像処理装置。
【請求項３】
前記制御部は、さらに、
前記接続状態において、前記表示部に表示される前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像の中から、第１の前記プログラム制御データが利用されない第３の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第３の項目画像に対応する第３の機能を提供するための第３のアプリケーションプログラムを起動させる第３の起動部を備える、請求項１又は２に記載の画像処理装置。
【請求項４】
前記制御部は、さらに、
前記非接続状態において、前記第１の項目画像が選択される場合に、前記第１のアプリケーションプログラムに従って、外部サーバから画面表示データを取得する取得部を備え、
前記表示制御部は、さらに、前記画面表示データを利用して、前記第１の機能に関係する機能関係画面を前記表示部に表示させる、請求項１から３のいずれか一項に記載の画像処理装置。
【請求項５】
前記第１の機能は、前記画像処理装置が内部ネットワークに所属している場合に、原稿のスキャンである前記画像処理を実行して、前記スキャンによって得られる第１の画像データを、前記内部ネットワークに接続されている外部ネットワークに所属している第１の装置に送信する処理を含み、
前記第２の機能は、前記画像処理装置が前記内部ネットワークに所属している場合に、原稿のスキャンである前記画像処理を実行して、前記スキャンによって得られる第２の画像データを前記内部ネットワークに所属している第２の装置に送信する処理を含む、請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記第２記憶装置は、前記画像処理装置に着脱可能に接続される外部記憶装置である、請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記表示制御部は、さらに、第１の前記プログラム制御データを記憶する前記第２記憶装置である前記外部記憶装置と、第２の前記プログラム制御データを記憶する内部記憶装置と、の双方が前記制御部に接続されている前記接続状態において、前記内部記憶装置に含まれる第２の前記プログラム制御データを利用せずに、前記外部記憶装置に含まれる第１の前記プログラム制御データを優先的に利用して、前記第２の項目選択画面を前記表示部に表示させ、
前記第２の項目選択画面は、第１の前記プログラム制御データによって指定される第２の画面構成データに従った第２のスタイルを有すると共に、第１の前記プログラム制御データによって指定される第２の情報データに従った前記第２の項目画像を含む、請求項６に記載の画像処理装置。
【請求項８】
画像処理装置であって、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記制御部は、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動部と、
第１の前記プログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、第１の前記プログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、第１の前記プログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動部と、
前記接続状態において、前記第２の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御部であって、第１の前記プログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御部と、
を備え、
前記第２記憶装置は、前記画像処理装置に着脱可能に接続される外部記憶装置であり、
前記表示制御部は、さらに、第１の前記プログラム制御データを記憶する前記第２記憶装置である前記外部記憶装置と、第２の前記プログラム制御データを記憶する内部記憶装置と、の双方が前記制御部に接続されている前記接続状態において、第１の前記プログラム制御データと第２の前記プログラム制御データとの双方を利用して、前記第２の項目選択画面を前記表示部に表示させ、
前記第２の項目選択画面は、第１の前記プログラム制御データによって指定される第２の画面構成データに従った第２のスタイルを有すると共に、第１の前記プログラム制御データによって指定される第２の情報データに従った前記第２の項目画像と、第２の前記プログラム制御データによって指定される第３の情報データに従った第３の項目画像と、を含む、画像処理装置。
【請求項９】
前記第２記憶装置は、前記画像処理装置に予め設けられている内部記憶装置である、請求項１から５のいずれか一項に記載の画像処理装置。
【請求項１０】
画像処理装置であって、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記制御部は、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動部と、
第１の前記プログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、第１の前記プログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、第１の前記プログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動部と、
前記接続状態において、前記第２の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御部であって、第１の前記プログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御部と、
を備え、
前記表示制御部は、さらに、
前記非接続状態において、前記複数個の機能のうちのＮ１個の基本機能に対応する前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、前記Ｎ１個の項目画像と、前記Ｎ１個の基本機能のうちの特定の基本機能と特定のオプション機能との組合せである前記第２の機能に対応する前記第２の項目画像と、を含む前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させ、
前記表示制御部は、さらに、前記接続状態において、前記表示部に表示される前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像の中から、第１の前記プログラム制御データが利用されない特定の項目画像であって、前記特定の基本機能に対応する前記特定の項目画像が前記ユーザによって選択される場合に、複数個のオプション機能に対応する複数個の項目画像を含む第３の項目選択画面を前記表示部に表示させ、
前記第３の項目選択画面に含まれる前記複数個の項目画像は、前記特定の基本機能と前記特定のオプション機能との組合せである前記第２の機能に対応する第４の項目画像を含み、
前記第２の項目選択画面に含まれる前記第２の項目画像と、前記第３の項目選択画面に含まれる前記第４の項目画像と、のそれぞれは、同じ機能に対応することを示すマークを含む、画像処理装置。
【請求項１１】
画像処理装置であって、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記制御部は、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動部と、
第１の前記プログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、第１の前記プログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、第１の前記プログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動部と、
前記接続状態において、前記第２の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御部であって、第１の前記プログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御部と、
を備え、
前記表示制御部は、さらに、
前記非接続状態において、前記複数個の機能のうちのＮ１個の基本機能に対応する前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、前記Ｎ１個の項目画像と、前記Ｎ１個の基本機能のうちの特定の基本機能と特定のオプション機能との組合せである前記第２の機能に対応する前記第２の項目画像と、を含む前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させ、
前記表示制御部は、さらに、前記接続状態において、前記表示部に表示される前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像の中から、第１の前記プログラム制御データが利用されない特定の項目画像であって、前記特定の基本機能に対応する前記特定の項目画像が前記ユーザによって選択される場合に、複数個のオプション機能に対応する複数個の項目画像を含む第３の項目選択画面を前記表示部に表示させ、
前記第３の項目選択画面に含まれる前記複数個の項目画像は、前記特定の基本機能と前記特定のオプション機能との組合せである前記第２の機能に対応する第４の項目画像を含み、
前記表示制御部は、さらに、前記接続状態において、前記第４の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する前記機能関係画面を前記表示部に表示させる、画像処理装置。
【請求項１２】
画像処理装置であって、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記制御部は、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動部と、
第１の前記プログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、第１の前記プログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、第１の前記プログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動部と、
前記接続状態において、前記第２の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御部であって、第１の前記プログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御部と、
を備え、
前記第１記憶装置は、前記複数個の機能のうちのＮ１個の基本機能に対応する前記Ｎ１個の項目画像を表わすＮ１個の情報データを少なくとも記憶しており、
前記制御部は、さらに、
前記接続状態において、第１の前記プログラム制御データが前記第２の項目選択画面に表示されるべき項目画像を表わす情報データを指定していない場合に、第１の前記プログラム制御データによって指定される前記第２の機能が前記Ｎ１個の基本機能のうちのいずれの基本機能を含むのかを解析する解析部を備え、
前記表示制御部は、さらに、
前記非接続状態において、前記第１記憶装置に記憶されている前記Ｎ１個の情報データを利用して、前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、第１の前記プログラム制御データが前記第２の項目選択画面に表示されるべき項目画像を表わす情報データを指定していない場合に、前記第１記憶装置に記憶されている前記Ｎ１個の情報データを利用して、前記Ｎ１個の項目画像と、前記解析で特定される基本機能に対応する前記第２の項目画像と、を含む前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させる、画像処理装置。
【請求項１３】
画像処理装置であって、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記制御部は、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動部と、
第１の前記プログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、第１の前記プログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、第１の前記プログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動部と、
前記接続状態において、前記第２の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御部であって、第１の前記プログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御部と、
を備え、
前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像は、前記複数個の機能のうちの２個以上の基本機能に対応する２個以上の項目画像と、前記２個以上の基本機能のうちの特定の基本機能と特定のオプション機能との組合せである前記第２の機能に対応する前記第２の項目画像と、を含み、
前記表示制御部は、前記特定の基本機能に対応する特定の項目画像と前記第２の項目画像とが隣接して配置されるように、前記第２の項目選択画面を前記表示部に表示させる、画像処理装置。
【請求項１４】
前記第２の機能は、特定の基本機能と特定のオプション機能との組合せに対応し、
前記第２の項目選択画面に含まれる前記第２の項目画像は、さらに、前記特定の基本機能の実行時に利用されるべき機能実行条件を示すマークを含む、請求項１、１０から１３のいずれか一項に記載の画像処理装置。
【請求項１５】
前記表示制御部は、前記第２の項目画像の近傍に前記第２の機能を示す名称画像が配置されるように、前記第２の項目選択画面を前記表示部に表示させる、請求項１から１４のいずれか一項に記載の画像処理装置。
【請求項１６】
第１の前記プログラム制御データは、マークアップ言語で記述される、請求項１から１５のいずれか一項に記載の画像処理装置。
【請求項１７】
第１の前記プログラム制御データは、前記ユーザによる項目画像の選択に応じて処理を分岐させるスクリプト言語で記述される、請求項１から１６のいずれか一項に記載の画像処理装置。
【請求項１８】
画像処理装置のためのコンピュータプログラムであって、
前記画像処理装置は、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記コンピュータプログラムは、前記制御部に、以下の各処理、即ち、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動処理と、
第１の前記プログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、第１の前記プログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、第１の前記プログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動処理と、
前記接続状態において、前記第２の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御処理であって、第１の前記プログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御処理と、
を実行させ、
前記表示制御処理は、さらに、
前記非接続状態において、前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させ、
前記Ｎ２個の項目画像は、前記Ｎ１個の項目画像のうちの１個の項目画像を除く（Ｎ１−１）個の項目画像と、前記１個の項目画像の代替画像である前記第２の項目画像であって、第１の前記プログラム制御データによって指定される第２の情報データに従った前記第２の項目画像と、を含む、コンピュータプログラム。
【請求項１９】
画像処理装置のためのコンピュータプログラムであって、
前記画像処理装置は、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記コンピュータプログラムは、前記制御部に、以下の各処理、即ち、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動処理と、
第１の前記プログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、第１の前記プログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、第１の前記プログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動処理と、
前記接続状態において、前記第２の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御処理であって、第１の前記プログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御処理と、
を実行させ、
前記表示制御処理は、さらに、
前記非接続状態において、前記複数個の機能のうちのＮ１個の基本機能に対応する前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、前記Ｎ１個の項目画像と、前記Ｎ１個の基本機能のうちの特定の基本機能と特定のオプション機能との組合せである前記第２の機能に対応する前記第２の項目画像と、を含む前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させ、
前記表示制御処理は、さらに、前記接続状態において、前記表示部に表示される前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像の中から、第１の前記プログラム制御データが利用されない特定の項目画像であって、前記特定の基本機能に対応する前記特定の項目画像が前記ユーザによって選択される場合に、複数個のオプション機能に対応する複数個の項目画像を含む第３の項目選択画面を前記表示部に表示させ、
前記第３の項目選択画面に含まれる前記複数個の項目画像は、前記特定の基本機能と前記特定のオプション機能との組合せである前記第２の機能に対応する第４の項目画像を含み、
前記第２の項目選択画面に含まれる前記第２の項目画像と、前記第３の項目選択画面に含まれる前記第４の項目画像と、のそれぞれは、同じ機能に対応することを示すマークを含む、コンピュータプログラム。
【請求項２０】
画像処理装置のためのコンピュータプログラムであって、
前記画像処理装置は、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記コンピュータプログラムは、前記制御部に、以下の各処理、即ち、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動処理と、
第１の前記プログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、第１の前記プログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、第１の前記プログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動処理と、
前記接続状態において、前記第２の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御処理であって、第１の前記プログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御処理と、
を実行させ、
前記表示制御処理は、さらに、
前記非接続状態において、前記複数個の機能のうちのＮ１個の基本機能に対応する前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、前記Ｎ１個の項目画像と、前記Ｎ１個の基本機能のうちの特定の基本機能と特定のオプション機能との組合せである前記第２の機能に対応する前記第２の項目画像と、を含む前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させ、
前記表示制御処理は、さらに、前記接続状態において、前記表示部に表示される前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像の中から、第１の前記プログラム制御データが利用されない特定の項目画像であって、前記特定の基本機能に対応する前記特定の項目画像が前記ユーザによって選択される場合に、複数個のオプション機能に対応する複数個の項目画像を含む第３の項目選択画面を前記表示部に表示させ、
前記第３の項目選択画面に含まれる前記複数個の項目画像は、前記特定の基本機能と前記特定のオプション機能との組合せである前記第２の機能に対応する第４の項目画像を含み、
前記表示制御処理は、さらに、前記接続状態において、前記第４の項目画像が選択される場合に、第１の前記プログラム制御データに従って、前記第２の機能に関係する前記機能関係画面を前記表示部に表示させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、画像処理に関係する複数個の機能を実行可能な画像処理装置に関する。
【背景技術】
【０００２】
画像処理に関係する複数個の機能を実行可能な画像処理装置が普及している。例えば、スキャン処理に関係する複数個の機能（例えば、スキャンデータを内部のメモリに記憶させる機能、スキャンデータを外部に送信する機能等）を実行可能なスキャナ装置が知られている。このような画像処理装置に対して、新たな機能を実行するためのプログラムを追加するために、スロットに挿入された記録媒体からプログラムを読み出して起動する技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−４６８０２号公報
【特許文献２】特開２０１２−１１３７００号公報
【特許文献３】特開２０１３−１６１２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像処理装置によって実行される機能に関係するカスタマイズの自由度を向上させることについては、十分な工夫がなされていないのが実情である。本明細書では、画像処理装置において機能に関係するカスタマイズの自由度を向上させることが可能な技術を提供する。
【課題を解決するための手段】
【０００５】
画像処理装置は、表示部と、画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、制御部と、を備え、前記制御部は、プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動部と、第１のプログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、前記第１のプログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１のプログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動部と、前記接続状態において、前記第２の項目画像が選択される場合に、前記第１のプログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御部であって、前記第１のプログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御部と、を備える。
【０００６】
上記の構成によると、画像処理装置は、第１のプログラム制御データを記憶する第２記憶装置が制御部に接続されている状態で、第２の項目画像が選択される場合に、第１のプログラム制御データに従って、第２のアプリケーションプログラムを起動して第２の機能を実行し、さらに、第２の機能に関係する機能関係画面を表示する。このために、画像処理装置において機能に関係するカスタマイズの自由度を向上させることができる。
【０００７】
なお、上記の画像処理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】画像処理システムの構成を示す。
【図２】第１不揮発性記憶装置内のデータを示す。
【図３】第２不揮発性記憶装置及びメモリカード内のデータを示す。
【図４】制御処理のフローチャートを示す。
【図５】画面表示処理のフローチャートを示す。
【図６】画面構成データ取得処理のフローチャートを示す。
【図７】画像化処理のフローチャートを示す。
【図８】モード選択処理のフローチャートを示す。
【図９】メニュー画面を示す。
【図１０】スキャン機能に関係する各画面を示す。
【図１１】起動スクリプトの取得が成功するケースのシーケンス図を示す。
【図１２】起動スクリプト取得処理のフローチャートを示す。
【図１３】第１スクリプトを示す。
【図１４】第２スクリプトを示す。
【図１５】第３スクリプトを示す。
【図１６】第４スクリプトを示す。
【図１７】第５スクリプトを示す。
【図１８】スキャン機能に関する各画面を示す。
【図１９】起動スクリプトの取得が失敗するケースのシーケンス図を示す。
【図２０】第６スクリプトを示す。
【図２１】カスタマイズされた機能ではない通常の機能が実行されるケースのシーケンス図を示す。
【図２２】コピー機能に関係する各画面を示す。
【図２３】変形例のスクリプトを示す。
【図２４】変形例のスクリプトを示す。
【図２５】変形例のスクリプトを示す。
【図２６】基本機能に対応するアイコンデータを示す。
【図２７】保存先オプションに対応するアイコンデータを示す。
【図２８】オプション選択画面を示す。
【図２９】カスタムアイコン画像を含むメニュー画面を示す。
【図３０】変形例のメニュー画面を示す。
【図３１】変形例のメニュー画面を示す。
【発明を実施するための形態】
【０００９】
（第１実施例）
（システムについて）
図１に示されるように、画像処理システム１０００は、内部ネットワークＬＮＴと外部ネットワークＧＮＴとによって構成される。内部ネットワークＬＮＴには、複合機１００とＰＣ５１０とが接続されている。外部ネットワークＧＮＴには、サーバ５００，５０５が接続されている。また、システム１０００には、内部ネットワークＬＮＴと外部ネットワークＧＮＴとを接続する中継装置５３０（本実施例ではルータ）が設けられている。
【００１０】
外部ネットワークＧＮＴは、例えばインターネット等の公開されたネットワークである。外部ネットワークＧＮＴには、不特定多数の装置が接続され得る。
【００１１】
内部ネットワークＬＮＴは、例えば家庭、会社等のローカルエリア内で閉じられた未公開のネットワークである。内部ネットワークＬＮＴに接続可能な装置は、内部ネットワークＬＮＴの管理者によって制限される。複合機１００は、内部ネットワークＬＮＴに所属し、外部ネットワークＧＮＴに所属していない。
【００１２】
内部ネットワークＬＮＴと外部ネットワークＧＮＴとは、中継装置５３０によって分離されている。複合機１００は、内部ネットワークＬＮＴを介して、ＰＣ５１０と通信可能である。また、複合機１００は、内部ネットワークＬＮＴと中継装置５３０とを介して、外部ネットワークＧＮＴに接続された各サーバ５００，５０５と通信可能である。
【００１３】
サーバ５００は、プロセッサ５００ａと、揮発性記憶装置５００ｂと、不揮発性記憶装置５００ｃと、を備えるコンピュータである。プロセッサ５００ａは、データ処理を実行する装置であり、例えばＣＰＵである。揮発性記憶装置５００ｂは、例えばＤＲＡＭであり、不揮発性記憶装置５００ｃは、例えばハードディスクドライブである。不揮発性記憶装置５００ｃには、プログラム５００ｄが格納されている。プロセッサ５００ａは、プログラム５００ｄを実行することによって、後述する種々の機能を実現する。また、ＰＣ５１０及びサーバ５０５のそれぞれは、プロセッサ（例えばＣＰＵ）と記憶装置とを備えるコンピュータである。
【００１４】
複合機１００は、印刷機能、スキャン機能、コピー機能、ＦＡＸ機能等の多機能を実行可能な装置である。複合機１００は、プロセッサ１１０と、揮発性記憶装置１２０と、第１不揮発性記憶装置１３０と、表示部１４０と、操作部１５０と、装置インタフェース１６０と、通信インタフェース１７０と、スキャナ部１８０と、プリンタ部１８５と、第２不揮発性記憶装置１９０と、を備える。これらの各要素は、バスを介して互いに接続されている。なお、以下では、「揮発性」及び「不揮発性」を省略して、単に「記憶装置」と記載する場合がある。
【００１５】
プロセッサ１１０は、データ処理を実行する装置であり、例えばＣＰＵである。揮発性記憶装置１２０は、例えばＤＲＡＭであり、各記憶装置１３０，１９０は、例えばフラッシュメモリである。表示部１４０は、画像を表示する装置であり、例えば液晶ディスプレイである。操作部１５０は、ユーザの操作を受け付ける装置であり、例えば複数個のキーによって構成されてもよいし、いわゆるタッチパネルであってもよい。
【００１６】
装置インタフェース１６０は、着脱式記憶装置（例えばＵＳＢフラッシュドライブや、ＳＤカード等）を装着するためのインタフェースであり、例えばＵＳＢインタフェース、ＳＤ規格のスロット等である。図１の例では、装置インタフェース１６０にメモリカード３００が装着されている。メモリカード３００は、書き換え可能な記憶装置である。例えば、ユーザは、メモリカード３００をコンピュータに接続し、コンピュータを操作することによって、種々のデータをメモリカード３００に格納させることができる。ただし、変形例では、メモリカード３００は、データの書き換えが禁止されている記憶装置であってもよい。
【００１７】
通信インタフェース１７０は、他の装置と通信するためのインタフェースである（例えば、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェース）。通信インタフェース１７０には、内部ネットワークＬＮＴが接続されている。
【００１８】
スキャナ部１８０は、ＣＣＤ、ＣＭＯＳ等の光電変換素子を用いて、原稿等の対象物を光学的に読み取ることによって、スキャンデータを生成する。スキャンデータは、例えば、カラーのスキャン画像を表わすＲＧＢ形式のビットマップデータである。
【００１９】
プリンタ部１８５は、印刷媒体上に画像を印刷する装置である。本実施例では、プリンタ部１８５は、シアンとマゼンタとイエロとブラックのそれぞれのインクを用いるインクジェット式の印刷装置である。ただし、変形例では、プリンタ部１８５は、他の方式（例えばレーザ方式）の印刷装置であってもよい。
【００２０】
複合機１００は、ユーザの指示に従ってスキャナ部１８０を駆動し、対象物を光学的に読み取ることによって、対象物を表わすスキャンデータを生成する。そして、複合機１００は、スキャンデータを他の装置（例えばサーバ５０５又はＰＣ５１０）に送信することができる。また、複合機１００は、スキャンデータによって表わされる画像をプリンタ部１８５に印刷させることができる。
【００２１】
（データ構成について；図２、図３）
図２に示されるように、記憶装置１３０は、メインプログラム１３２と、内部処理プログラム１３４と、アプリケーションプログラム（以下では単に「アプリケーション」と呼ぶ）ＡＰと、制御データＣＤ１と、画面構成データＳＤ１と、情報データＩＤ１と、を格納する。これらのデータは、複合機１００のベンダによって、ファームウェアとして記憶装置１３０に予め格納されている。プロセッサ１１０は、各プログラム１３２等を実行することによって、種々の機能を実現する。
【００２２】
アプリケーションＡＰは、印刷機能、スキャン機能、コピー機能等の複数個の機能に対応する複数個のアプリケーションＡＰ１〜ＡＰ４等を含む。
【００２３】
制御データＣＤ１は、マークアップ言語であるＸＭＬ（Extensible Markup Languageの略）形式のデータであり、より具体的には、操作部１５０に対するユーザの選択操作に応じて処理を分岐させるスクリプト言語であるＬｕａで記述される。特に、ＸＭＬ形式では、予め決められた編集用タグによって特定される領域は、Ｌｕａのプログラミング言語で記述される。要素名が記述された開始タグと、要素名が記述された終了タグと、それらのタグの間の記述内容と、によって、１個の要素が表わされる。例えば、＜ｈｏｓｔ＞ＡＡＡ＜／ｈｏｓｔ＞は、要素「ｈｏｓｔ」の内容が「ＡＡＡ」であることを表わす。後述の制御データＣＤ２，ＣＤ３（図３参照）も、制御データＣＤ１と同様である。
【００２４】
制御データＣＤ１は、複数個の制御データＣＤ１ａ，ＣＤ１ｂ等によって構成される。各制御データＣＤ１ａ等は、画面構成データの識別子と情報データの識別子と制御データの識別子とアプリケーションの識別子とを指定し得る。識別子は、例えば、データファイルのファイル名であってもよいし、データファイルに固有な文字列であってもよい。例えば、制御データＣＤ１ａは、画面構成データＳＤ１ａと情報データＩＤ１ａと制御データＣＤ１ｂとを指定しており、アプリケーションを指定していない。また、制御データＣＤ２ｂは、画面構成データＳＤ１ａと情報データＩＤ１ｂとアプリケーションＡＰ１とを指定しており、制御データを指定していない。
【００２５】
画面構成データＳＤ１は、ＣＳＳ（Cascading Style Sheetsの略）形式のデータであり、複数個の画面構成データＳＤ１ａ，ＳＤ１ｂ等によって構成される。各画面構成データＳＤ１ａ等は、表示されるべき画面のスタイル（例えば、アイコン等の情報画像の表示位置及びサイズ等）を表わす。後述の画面構成データＳＤ２，ＳＤ３（図３参照）も、画面構成データＳＤ１と同様である。
【００２６】
情報データＩＤ１は、情報画像、文字列等を表わすデータであり、複数個の情報データＩＤ１ａ，ＩＤ１ｂ等によって構成される。情報画像を表わす情報データは、例えばＪＰＥＧ形式、ＰＮＧ形式等のデータである。文字列を表わす情報データは、例えばアスキー形式のテキストデータである。後述の情報データＩＤ２，ＩＤ３（図３参照）も、情報データＩＤ１と同様である。
【００２７】
例えば、ユーザが表示部１４０及び操作部１５０を介して操作を実行する場合に、プロセッサ１１０は、当該操作に対応する制御データを参照して、次の処理を実行する。例えば、プロセッサ１１０は、制御データＣＤ１ａを参照する場合には、画面構成データＳＤ１ａ及び情報データＩＤ１ａに従って、画面を表示部１４０に表示させる。また、例えば、プロセッサ１１０は、制御データＣＤ１ｂを参照する場合には、画面構成データＳＤ１ｂ及び情報データＩＤ１ｂに従って、次の画面を表示部１４０に表示させると共にアプリケーションＡＰ１を起動して機能を実行する。
【００２８】
図１０（Ａ）〜図１０（Ｆ）は、表示部１４０に表示される画面の例を示す。図１０（Ａ）の画面Ｄ１は、制御データＣＤ１ａに従って表示される画面である。画面Ｄ１では、画面構成データＳＤ１ａによって示されるスタイルに応じた複数個の位置に、情報データＩＤ１ａによって表わされる複数個の画像が配置されている。画面構成データＳＤ１ａは、３個の選択肢６１０，６２０，６３０と、２個のボタン６４０，６５０と、を含む５個の項目のそれぞれの属性を指定する。属性は、例えば、項目の背景色、項目の画面内の位置、項目のサイズ（即ち高さ及び幅）、文字列のフォント、文字列のフォントサイズ、文字列のフォントカラー等を含む。また、情報データＩＤ１ａは、５個の項目６１０〜６５０のそれぞれのアイコン画像及び文字列を表わす。また、図２の例では、制御データＣＤ１ａが１個の制御データＣＤ１ｂのみを指定している様子が示されているが、実際には、制御データＣＤ１ａは、５個の項目６１０〜６５０に対応する５個の制御データを指定している。そして、５個の項目６１０〜６５０のうちのいずれかの項目が選択される場合に、選択済みの項目に対応する制御データに従って、次の画面が表示される。例えば、項目６１０が選択される場合には、制御データＣＤ１ｂに従って、次の画面が表示される。
【００２９】
図１０（Ｂ）の画面Ｄ２は、制御データＣＤ１ｂに従って表示される画面を示す。
画面Ｄ２では、画面構成データＳＤ１ｂによって示されるスタイルに応じた複数個の位置に、情報データＩＤ１ｂによって表わされる複数個の画像が配置されている。画面構成データＳＤ１ｂは、アプリケーションＡＰ１によって実現される処理で検索されるＰＣのリストを表示する画面を規定している。情報データＩＤ１ｂは、各コンピュータのアイコン画像を示す各項目７１０，７２０を表わす。アイコン画像の下側に配置される文字列は、コンピュータから通知されるコンピュータ名である。
【００３０】
記憶装置１３０内の各データは、例えば、スキャンデータをＦＴＰサーバに送信する「ＳＣＡＮ  ｔｏ  ＦＴＰ」機能と、スキャンデータをネットワーク上の指定されたフォルダに格納する「ＳＣＡＮ  ｔｏ  Ｎｅｔｗｏｒｋ」機能と、スキャンデータを予め登録されたＰＣに格納する「ＳＣＡＮ  ｔｏ  ＰＣ」機能と、を実現可能である。
【００３１】
図１の記憶装置１９０は、書き換え可能な記憶装置である。複合機１００の管理者等は、任意のデータを記憶装置１９０に格納させることができる。メインプログラム１３２は、操作部１５０を介して入力される指示に従って、種々のデータを記憶装置１９０に格納する機能を、プロセッサ１１０に実現させる。
【００３２】
図３の例では、記憶装置１９０は、制御データＣＤ２と画面構成データＳＤ２と情報データＩＤ２とを含む種々のデータを格納する。各データＣＤ２，ＳＤ２，ＩＤ２は、記憶装置１３０に格納される各データ群によって実現される機能の変更を実行するために用いられるデータを含む。例えば、複合機１００の標準の機能として提供される「ＳＣＡＮ  Ｔｏ  ＰＣ」機能を別の機能に変更するためのデータ例を説明する。即ち、画面Ｄ１に代えて図１０（Ｃ）の画面Ｄ３を表示するために、制御データＣＤ２ａが記憶装置１９０に格納される。制御データＣＤ２ａは、画面構成データＳＤ１ａと、情報データＩＤ１ａと、情報データＩＤ２ａと、制御データＣＤ２ｂと、を指定する。画面Ｄ３内の５個の項目６１０〜６５０のうちの項目６１０が選択される場合には、制御データＣＤ２ｂが参照される。制御データＣＤ２ｂは、画面構成データＳＤ２ａと、情報データＩＤ２ｂと、アプリケーションＡＰ２と、を指定する。なお、以下では、記憶装置１９０のことを「内部記憶領域１９０」と呼ぶことがある。
【００３３】
図３の例では、メモリカード３００は、制御データＣＤ３と画面構成データＳＤ３と情報データＩＤ３とを含む種々のデータを格納する。例えば、制御データＣＤ３に従って、画面Ｄ１の代わりに図１０（Ｅ）の画面Ｄ５が表示される。制御データＣＤ３は、画面構成データＳＤ１ａと、情報データＩＤ１ａと、情報データＩＤ３と、を指定する。なお、以下では、メモリカード３００のことを「外部記憶領域３００」と呼ぶことがある。
【００３４】
（制御処理について；図４）
図４は、複合機１００を制御するための制御処理のフローチャートである。複合機１００の電源がオンされると、初期画面として、複数個のアイコン画像８１〜８４を含む図９のメニュー画面が表示される。そして、プロセッサ１１０は、メインプログラム１３２に従って、図４の制御処理を実行する。
【００３５】
Ｓ１０５では、プロセッサ１１０は、画面変更条件が満たされるか否かを判断する。画面変更条件は、表示部１４０に表示される画面を変更するための条件である。ユーザは、画面内の所望の項目と重なる位置をタッチすることによって、所望の項目を選択することができる。例えば、図９のメニュー画面においてスキャンを示すアイコン画像８２が選択される場合に、プロセッサ１１０は、画面変更条件が満たされると判断して（Ｓ１０５でＹＥＳ）、Ｓ１１５に進む。以下では、画面変更条件が満たされると判断される事象のことを「トリガ」と呼ぶ。
【００３６】
Ｓ１１５以降の処理では、プロセッサ１１０は、トリガに対応する制御データ（「対応制御データ」と呼ぶ）に従って、表示部１４０に表示される画面の変更を含む処理を実行する。Ｓ１１５では、プロセッサ１１０は、外部記憶領域３００が対応制御データを格納しているか否かを判断する。装置インタフェース１６０に接続されたメモリカード３００に対応制御データが格納されている場合には、Ｓ１１５の判断結果は「ＹＥＳ」である。装置インタフェース１６０にメモリカード３００が接続されていない場合、又は、装置インタフェース１６０にメモリカード３００が接続されているがメモリカード３００に対応制御データが格納されていない場合には、Ｓ１１５の判断結果は「ＮＯ」である。
【００３７】
Ｓ１１５で「ＮＯ」である場合には、Ｓ１４０において、プロセッサ１１０は、内部記憶領域１９０が対応制御データを格納しているか否かを判断する。Ｓ１４０では、プロセッサ１１０は、対応制御データを格納する内部記憶領域１９０がプロセッサ１１０に接続されているか否かを判断していることに等しい。
【００３８】
Ｓ１４０で「ＮＯ」である場合には、Ｓ１４７において、プロセッサ１１０は、記憶装置１３０から標準の対応制御データを取得する。例えば、図９のアイコン画像８２が選択される場合には、図２の制御データＣＤ１ａが取得される。Ｓ１４７が終了すると、Ｓ１５０に進む。
【００３９】
Ｓ１４０で「ＹＥＳ」である場合には、Ｓ１４５において、プロセッサ１１０は、内部記憶領域１９０から対応制御データを取得する。例えば、図９のアイコン画像８２が選択される場合には、図３の制御データＣＤ２ａが取得される。Ｓ１４５が終了すると、Ｓ１５０に進む。
【００４０】
Ｓ１１５で「ＹＥＳ」である場合には、Ｓ１２０において、プロセッサ１１０は、外部記憶領域３００から対応制御データを取得する。例えば、図９のアイコン画像８２が選択される場合には、図３の制御データＣＤ３が取得される。Ｓ１２０が終了すると、Ｓ１２５に進む。
【００４１】
Ｓ１２５では、プロセッサ１１０は、制御処理の処理モードが「追加モード」であるか否かを判断する。ユーザは、図１０（Ａ）等の設定ボタン６４０を選択することによって、「追加モード」及び「優先モード」を含む複数個のモードの中から処理モードを選択することができる。「追加モード」は、外部記憶領域３００のデータに加えて内部記憶領域１９０のデータも利用するためのモードである。「優先モード」は、外部記憶領域３００、内部記憶領域１９０の順にデータを検索して、最初に見つかったデータを利用するためのモードである。Ｓ１２５で「ＹＥＳ」である場合の処理（即ち、Ｓ１３０，Ｓ１３５）は後で説明する。Ｓ１２５で「ＮＯ」である場合には、Ｓ１５０に進む。
【００４２】
Ｓ１５０では、プロセッサ１１０は、対応制御データがアプリケーションを指定しているか否かを判断する。アプリケーションが指定されている場合（即ちＳ１５０でＹＥＳ）には、プロセッサ１１０は、Ｓ１５５において、当該アプリケーションを起動する起動処理を実行し、Ｓ１６０に進む。アプリケーションが指定されていない場合（即ちＳ１５０でＮＯ）には、プロセッサ１１０は、Ｓ１５５をスキップして、Ｓ１６０に進む。
【００４３】
Ｓ１６０では、プロセッサ１１０は、対応制御データに従って、新たな画面を表示部１４０に表示させる画面表示処理を実行する。画面の表示が完了したことに応じて、プロセッサ１１０は、Ｓ１６０を終了し、Ｓ１０５に戻る。
【００４４】
（画面表示処理；図５）
図５は、画面表示処理（図４のＳ１６０参照）のフローチャートを示す。Ｓ２００では、プロセッサ１１０は、対応制御データによって指定される画面構成データを取得するための画面構成データ取得処理を実行する。以下では、対応制御データによって指定される画面構成データのことを「対応画面構成データ」と呼ぶ。
【００４５】
図６は、画面構成データ取得処理（図５のＳ２００参照）のフローチャートを示す。Ｓ４１５では、プロセッサ１１０は、外部記憶領域３００が対応画面構成データを格納しているか否かを判断する。装置インタフェース１６０に接続されたメモリカード３００に対応画面構成データが格納されている場合には、Ｓ４１５の判断結果は「ＹＥＳ」である。装置インタフェース１６０にメモリカード３００が接続されていない場合、又は、装置インタフェース１６０にメモリカード３００が接続されているがメモリカード３００に対応画面構成データが格納されていない場合には、Ｓ４１５の判断結果は「ＮＯ」である。
【００４６】
Ｓ４１５で「ＮＯ」である場合には、Ｓ４４０において、プロセッサ１１０は、内部記憶領域１９０が対応画面構成データを格納しているか否かを判断する。Ｓ４４０では、プロセッサ１１０は、対応画面構成データを格納する内部記憶領域１９０がプロセッサ１１０に接続されているか否かを判断することに等しい。
【００４７】
Ｓ４４０で「ＮＯ」である場合には、Ｓ４４７において、プロセッサ１１０は、記憶装置１３０から標準の対応画面構成データを取得する。Ｓ４４０で「ＹＥＳ」の場合には、Ｓ４４５において、プロセッサ１１０は、内部記憶領域１９０から対応画面構成データを取得する。また、Ｓ４１５で「ＹＥＳ」である場合には、Ｓ４２０において、プロセッサ１１０は、外部記憶領域３００から対応画面構成データを取得する。Ｓ４２０，Ｓ４４５，Ｓ４４７が終了すると、図６の処理が終了し、図５のＳ２１０に進む。
【００４８】
Ｓ２１０では、プロセッサ１１０は、Ｓ２００で取得された対応画面構成データを解析して、表示されるべき画面のスタイル（例えば、アイコン画像の表示位置及びサイズ等）を特定する。
【００４９】
Ｓ２２０では、プロセッサ１１０は、対応制御データによって指定される全ての項目の画像化が完了したか否かを判断する。未処理の項目が残っている場合（Ｓ２２０でＮＯ）には、プロセッサ１１０は、Ｓ２３０において、未処理の項目のうちの１つの項目を処理対象の項目（以下では「注目項目」と呼ぶ）として選択し、Ｓ２４０において、注目項目の画像化処理を実行する。注目項目の画像化処理は、対応制御データと、対応画面構成データと、注目項目に対応する情報データと、に従って、注目項目を表わす画像を生成する処理である。項目と情報データとの対応関係は、対応制御データによって指定される。以下では、注目項目に対応する情報データのことを「対応情報データ」と呼ぶ。
【００５０】
図７は、注目項目の画像化処理（図５のＳ２４０参照）のフローチャートを示す。Ｓ５１５では、プロセッサ１１０は、外部記憶領域３００が対応情報データを格納しているか否かを判断する。装置インタフェース１６０に接続されたメモリカード３００に対応情報データが格納されている場合には、Ｓ５１５の判断結果は「ＹＥＳ」である。装置インタフェース１６０にメモリカード３００が接続されていない場合、又は、装置インタフェース１６０にメモリカード３００が接続されているがメモリカード３００に対応情報データが格納されていない場合には、Ｓ５１５の判断結果は「ＮＯ」である。
【００５１】
Ｓ５１５で「ＹＥＳ」である場合には、Ｓ５２０において、プロセッサ１１０は、外部記憶領域３００から対応情報データを取得して、Ｓ５６０に進む。一方、Ｓ５１５で「ＮＯ」である場合には、Ｓ５４０において、プロセッサ１１０は、内部記憶領域１９０が対応情報データを格納しているか否かを判断する。Ｓ５４０では、プロセッサ１１０は、対応情報データを格納する内部記憶領域１９０がプロセッサ１１０に接続されているか否かを判断していることに等しい。
【００５２】
ここで、例えば、制御データＣＤ２ａ（図３参照）によって指定される５個の項目６１０〜６５０（図１０（Ｃ））のうちの項目６１０を表わす情報データが内部記憶領域１９０に格納された情報データＩＤ２ａであり、他の項目６２０〜６５０を表わす各情報データが記憶装置１３０に格納された情報データＩＤ１ａであると仮定する。項目６１０が注目項目である場合には、項目６１０に対応する情報データＩＤ２ａが内部記憶領域１９０に格納されているので、Ｓ５４０の判断結果は「ＹＥＳ」である。この場合、プロセッサ１１０は、Ｓ５４５において、内部記憶領域１９０から対応情報データＩＤ２ａを取得し、Ｓ５６０に進む。一方、他のいずれかの項目６２０〜６５０が注目項目である場合には、Ｓ５４０の判断結果は「ＮＯ」である。この場合、プロセッサ１１０は、Ｓ５４７において、記憶装置１３０から標準の対応情報データＩＤ１ａを取得し、Ｓ５６０に進む。
【００５３】
Ｓ５６０では、プロセッサ１１０は、対応画面構成データと対応情報データとを用いて、注目項目を表わす画像データを生成する。対応情報データがアイコン画像データを含む場合には、プロセッサ１１０は、対応画面構成データによって指定された属性に適合するようにアイコン画像データを調整することによって、注目項目を表わす画像データを生成する。また、対応情報データがアスキー形式のテキストデータを含む場合には、プロセッサ１１０は、対応画面構成データによって指定された属性に適合するように、テキストデータによって表わされる文字列を示す画像データを生成する。
【００５４】
Ｓ５６０で注目項目の画像化処理が終了すると、図７の処理が終了し、図５のＳ２２０に進む。プロセッサ１１０は、全ての項目の画像化処理が完了するまで、Ｓ２２０〜Ｓ２４０を繰り返す。そして、全ての項目の画像化処理が完了した場合（Ｓ２２０でＹＥＳ）には、Ｓ２５０において、プロセッサ１１０は、Ｓ２４０で生成された画像データを用いて、新たな画面を表示部１４０に表示させる。
【００５５】
（第１不揮発性記憶装置１３０内の制御データを用いる場合）
内部記憶領域１９０及び外部記憶領域３００に対応制御データが格納されていない場合について説明する。例えば、図９のアイコン画像８２が選択されることに起因して画面変更条件が満たされると判断される場合（図４のＳ１０５でＹＥＳ）には、プロセッサ１１０は、Ｓ１１５及びＳ１４０で「ＮＯ」と判断し、Ｓ１４７において、標準制御データである対応制御データＣＤ１ａ（図２参照）を取得する。制御データＣＤ１ａではアプリケーションが指定されていないので、プロセッサ１１０は、Ｓ１５０で「ＮＯ」と判断し、Ｓ１５５をスキップし、Ｓ１６０において、図１０（Ａ）の画面Ｄ１を表示部１４０に表示させる。以下では、図１０（Ａ）の項目６１０が選択される場合の処理について説明する。当該項目６１０は、通信インタフェース１７０に接続された内部ネットワークＬＮＴを介して、スキャンデータをＰＣに送信する処理を実行するための項目である。
【００５６】
ユーザが項目６１０を選択したことに応じて、画面変更条件が満たされる（図４のＳ１０５でＹＥＳ）。制御データＣＤ１ａは、項目６１０に対応する制御データとして制御データＣＤ１ｂを指定している（図２参照）。制御データＣＤ１ｂは、記憶装置１３０に格納されており、内部記憶領域１９０及び外部記憶領域３００に格納されていない。この場合、Ｓ１１５の判断結果は「ＮＯ」であり、Ｓ１４０の判断結果は「ＮＯ」である。プロセッサ１１０は、Ｓ１４７において、記憶装置１３０から対応制御データＣＤ１ｂを取得する。制御データＣＤ１ｂは、アプリケーションＡＰ１を指定している。従って、Ｓ１５０の判断結果は「ＹＥＳ」であり、プロセッサ１１０は、Ｓ１５５において、アプリケーションＡＰ１を起動する。
【００５７】
プロセッサ１１０は、アプリケーションＡＰ１に従って、通信インタフェース１７０に接続された内部ネットワークＬＮＴ上のＰＣを検索する。検索対象のＰＣは、スキャンデータを受信可能なコンピュータ（例えば、ファイル共有のための共有フォルダを公開しているコンピュータ）である。ここで、図１のＰＣ５１０を含む２個のＰＣが見つかる場合を説明する。
【００５８】
プロセッサ１１０は、Ｓ１６０において、制御データＣＤ１ｂに従って、図１０（Ｂ）の画面Ｄ２を表示部１４０に表示させる。ユーザは、画面Ｄ２上の所望のコンピュータを選択することによって、スキャンデータの宛先を選択することができる。この結果、プロセッサ１１０は、アプリケーションＡＰ１に従って、スキャナ部１８０にスキャンを実行させて、スキャンデータを選択済みの宛先（例えばＰＣ５１０）に送信する。即ち、プロセッサ１１０は、「ＳＣＡＮ  ｔｏ  ＰＣ」機能を実行することができる。
【００５９】
図示省略するが、制御データＣＤ１ａは、図１０（Ａ）の他の各項目６２０〜６５０に対応する各標準制御データも指定している。そして、当該各標準制御データは、対応するアプリケーションを指定している。このために、項目６２０〜６５０のいずれかが選択される場合には、プロセッサ１１０は、選択済みの項目に対応するアプリケーションを起動して（図４のＳ１５５）、選択済みの項目に対応する処理（即ち機能）を実行する。
【００６０】
（内部記憶領域１９０内の制御データを用いる場合）
次に、内部記憶領域１９０内に対応制御データが格納されている場合を説明する。即ち、複合機１００の管理者等が内部記憶領域１９０にカスタマイズ用の制御データ等を予め格納している場合について説明する。以下では、内部記憶領域１９０内の制御データＣＤ２ａ（図３参照）が図９のアイコン画像８２に対応する制御データである場合を説明する。制御データＣＤ２ａは、制御データＣＤ１ａ（図２参照）と同様に、５個の項目６１０〜６５０を規定している。また、制御データＣＤ２ａは、画面構成データＳＤ１ａと情報データＩＤ１ａ，ＩＤ２ａと制御データＣＤ２ｂとを指定している。なお、制御データＣＤ２ａによって指定される画面構成データＳＤ１ａ及び情報データＩＤ１ａは、記憶装置１３０に格納されている。
【００６１】
図９のアイコン画像８２が選択されることに応じて、画面変更条件が満たされ（図４のＳ１０５でＹＥＳ）、Ｓ１１５では、メモリカード３００に対応制御データが格納されていないと判断される（Ｓ１１５でＮＯ）。そして、プロセッサ１１０は、内部記憶領域１９０が対応制御データＣＤ２ａを格納していると判断し（Ｓ１４０でＹＥＳ）、Ｓ１４５において、内部記憶領域１９０から制御データＣＤ２ａを取得する。制御データＣＤ２ａは、アプリケーションを指定していないので、Ｓ１５０の判断結果は「ＮＯ」である。Ｓ１６０では、プロセッサ１１０は、制御データＣＤ２ａに従って、図１０（Ｃ）の画面Ｄ３を表示部１４０に表示させる。
【００６２】
図１０（Ａ）と図１０（Ｃ）とでは、項目６１０のアイコン画像及び文字列が異なる。このようなアイコン画像及び文字列の変更が、制御データＣＤ２ａによって実現される。なお、画面Ｄ３内の項目６１０は、「ＳＣＡＮ  ｔｏ  ＦＴＰ機能」においてＦＴＰサーバが指定されている例を示す。より具体的には、項目６１０は、通信インタフェース１７０に接続された内部ネットワークＬＮＴ及び外部ネットワークＧＮＴを介して、スキャンデータをＦＴＰサーバである特定のサーバ５０５に送信する処理を実行するための項目である。
【００６３】
制御データＣＤ２ａは、制御データＣＤ１ａと同じ画面構成データＳＤ１ａ及び情報データＩＤ１ａを指定している。内部記憶領域１９０には、画面構成データＳＤ１ａ及び情報データＩＤ１ａが格納されていないが、画面Ｄ３内の項目６１０のアイコン画像及び文字列を表わす情報データＩＤ２ａが格納されている。画面Ｄ３が表示されるべき場合には、図６の処理は、Ｓ４１５でＮＯ、Ｓ４４０でＮＯ、Ｓ４４７の順に進行する。そして、項目６１０については、図７のＳ５４５で取得される情報データＩＤ２ａを用いて表示され、他の項目６２０〜６５０については、図７のＳ５４７で取得される情報データＩＤ１ａを用いて表示される。このように、内部記憶領域１９０に情報データＩＤ２ａが格納されると、画面内のアイコン画像を変更できるので、画像の表示に関するカスタマイズの自由度が向上する。
【００６４】
次いで、画面Ｄ３内の項目６１０が選択される場合を説明する。項目６１０が選択される場合には、図４のＳ１０５の判断結果が「ＹＥＳ」となり、Ｓ１１５に進む。ここで、制御データＣＤ２ａは、項目６１０に対応する制御データとして制御データＣＤ２ｂを指定している（図３参照）。制御データＣＤ２ｂは、内部記憶領域１９０に格納されており、画面構成データＳＤ２ａと情報データＩＤ２ｂとアプリケーションＡＰ２とを指定している。
【００６５】
制御データＣＤ２ｂが外部記憶領域３００に格納されていないので、図４のＳ１１５の判断結果は「ＮＯ」であり、Ｓ１４０の判断結果は「ＹＥＳ」である。プロセッサ１１０は、Ｓ１４５において、内部記憶領域１９０から対応制御データＣＤ２ｂを取得し、Ｓ１５０でＹＥＳと判断し、Ｓ１５５において、アプリケーションＡＰ２を起動する。
【００６６】
プロセッサ１１０は、アプリケーションＡＰ２に従って、スキャナ部１８０にスキャンを実行させて、スキャンデータを特定のサーバ５０５に送信する。即ち、プロセッサ１１０は、「ＳＣＡＮ  Ｔｏ  ＦＴＰ」機能を実行する。また、プロセッサ１１０は、スキャンデータの送信に並行して、Ｓ１６０を実行する。
【００６７】
Ｓ１６０では、プロセッサ１１０は、制御データＣＤ２ｂに従って、図１０（Ｄ）の画面Ｄ４を表示部１４０に表示させる。画面Ｄ４は、複合機１００からサーバ５０５へスキャンデータが送信される様子を表わす画像Ｉｍ１と、スキャンデータの送信の進捗状況を表す数値Ｉｍ２と、を含む。
【００６８】
図５のＳ２００では、プロセッサ１１０は、図６の手順に従って、制御データＣＤ２ｂによって指定される画面構成データＳＤ２ａを取得する。図６のＳ４１５の判断結果は「ＮＯ」であり、Ｓ４４０の判断結果は「ＹＥＳ」である。Ｓ４４５では、プロセッサ１１０は、内部記憶領域１９０から対応画面構成データＳＤ２ａを取得する。
【００６９】
図５のＳ２１０〜Ｓ２４０では、プロセッサ１１０は、制御データＣＤ２ｂによって指定される項目毎に、画像化処理を実行する。例えば、図７の画像化処理では、プロセッサ１１０は、Ｓ５４５において、内部記憶領域１９０から対応情報データＩＤ２ｂを取得し、Ｓ５６０において、情報データＩＤ２ｂを用いて、画像Ｉｍ１，Ｉｍ２を表わす画像データを生成する。図５のＳ２５０では、プロセッサ１１０は、Ｓ２４０で生成された画像データを用いて、図１０（Ｄ）の画面Ｄ４を表示部１４０に表示させる。なお、図示省略するが、プロセッサ１１０は、図５の処理が終了した後に、進捗状況を表わす数値Ｉｍ２を定期的に更新する。
【００７０】
以上のように、制御データＣＤ２ｂは、画面Ｄ３内の項目６１０に対応しており、アプリケーションＡＰ２を指定している。このような制御データＣＤ２ｂが内部記憶領域１９０に格納されている場合には、プロセッサ１１０は、画面Ｄ３内の項目６１０が選択されることに応じて、アプリケーションＡＰ２を起動する。このように、内部記憶領域１９０に制御データＣＤ２ｂを格納させることによって、実行されるべき機能を変更することができるので、アプリケーションの起動に関するカスタマイズの自由度が向上する。
【００７１】
また、内部記憶領域１９０が項目６１０に対応するアプリケーションＡＰ２を指定する制御データＣＤ２ａ，ＣＤ２ｂを格納し、項目６２０に対応するアプリケーションを指定する制御データを格納していない場合には、プロセッサ１１０は、以下のように処理を実行する。即ち、プロセッサ１１０は、項目６１０が選択される場合には、制御データＣＤ２ａ，ＣＤ２ｂによって指定されるアプリケーションＡＰ２を起動し、項目６２０が選択される場合には、記憶装置１３０に格納された標準の制御データによって指定されるアプリケーションを起動する。このように、内部記憶領域１９０に制御データＣＤ２ａ，ＣＤ２ｂを格納することによって、項目毎に機能を変更することができるので、アプリケーションの起動に関するカスタマイズの自由度が向上する。
【００７２】
図示省略するが、制御データＣＤ２ａは、図１０（Ｃ）の他の各項目６２０〜６５０に対応する各標準制御データも指定している。そして、当該各標準制御データは、対応するアプリケーションを指定している。このために、項目６２０〜６５０のいずれかが選択される場合には、プロセッサ１１０は、選択済みの項目に対応するアプリケーションを起動して（図４のＳ１５５）、選択済みの項目に対応する処理（即ち機能）を実行する。例えば、プロセッサ１１０は、項目６２０が選択される場合には、「ＳＣＡＮ  Ｔｏ  Ｎｅｔｗｏｒｋ」機能を実現するためのアプリケーションＡＰ３を起動する。
【００７３】
（外部記憶領域３００内の制御データを用いる場合（優先モード））
次に、外部記憶領域３００に対応制御データが格納されている場合を説明する。例えば、ユーザは、複合機１００を購入した後に、一部の機能をカスタマイズすることを望む場合に、カスタマイズ用の制御データが格納されたメモリカード３００を複合機１００に装着する。以下では、外部記憶領域３００内の制御データＣＤ３（図３参照）が図９のアイコン画像８２に対応する制御データである場合を説明する。制御データＣＤ３は、制御データＣＤ１ａ（図２参照）と同様に、５個の項目６１０〜６５０を規定している。また、制御データＣＤ３は、画面構成データＳＤ１ａと情報データＩＤ１ａ，ＩＤ３とを指定している。
【００７４】
図９のアイコン画像８２が選択されることに応じて、画面変更条件が満たされ（図４のＳ１０５でＹＥＳ）、メモリカード３００に対応制御データＣＤ３が格納されていると判断される（Ｓ１１５でＮＯ）。この場合、Ｓ１２０では、プロセッサ１１０は、外部記憶領域３００から対応制御データＣＤ３を取得す る。
【００７５】
処理モードが「優先モード」である場合には、Ｓ１２５の判断結果は「ＮＯ」であり、Ｓ１５０に進む。制御データＣＤ３は、アプリケーションを指定していないので、Ｓ１５０の判断結果は「ＮＯ」である。Ｓ１６０では、プロセッサ１１０は、制御データＣＤ３に従って、図１０（Ｅ）の画面Ｄ５を表示部１４０に表示させる。図１０（Ａ）と図１０（Ｅ）とでは、項目６２０のアイコン画像が異なる。このようなアイコン画像の変更が、制御データＣＤ３によって実現される。
【００７６】
図５のＳ２００では、プロセッサ１１０は、制御データＣＤ３によって指定される画面構成データＳＤ１ａを取得する。ここで、各記憶領域１９０，３００に画面構成データＳＤ１ａが格納されていないので、画面構成データＳＤ１ａは、図６のＳ４４７で取得される。
【００７７】
図１０（Ｅ）の項目６２０の情報データＩＤ３が外部記憶領域３００に格納されており、他の各項目６１０，６３０〜６５０の各情報データＩＤ１ａが記憶装置１３０に格納されている。注目項目が項目６２０である場合には、図７のＳ５１５の判断結果は「ＹＥＳ」であり、Ｓ５２０において、プロセッサ１１０は、外部記憶領域３００から対応情報データＩＤ３を取得する。そして、Ｓ５６０では、プロセッサ１１０は、情報データＩＤ３を用いて、項目６２０を表わす画像データを生成する。情報データＩＤ３は、標準の情報データＩＤ１ａとは異なる。従って、画面Ｄ５内の項目６２０を表わす画像は、画面Ｄ１内の項目６２０を表わす画像とは異なる。他の各項目６１０，６３０〜６５０については、図１０（Ａ）の場合と同様に、画像データが生成される。
【００７８】
図示省略するが、制御データＣＤ３は、図１０（Ｅ）の各項目６１０〜６５０に対応する各標準制御データも指定している。そして、当該各標準制御データは、対応するアプリケーションを指定している。このために、項目６１０〜６５０のいずれかが選択される場合には、プロセッサ１１０は、選択済みの項目に対応するアプリケーションを起動して（図４のＳ１５５）、選択済みの項目に対応する処理（即ち機能）を実行する。
【００７９】
なお、図１０（Ｃ）及び（Ｄ）の画面Ｄ３，Ｄ４を実現するための制御データＣＤ２ａ，ＣＤ２ｂ（図３参照）が、内部記憶領域１９０ではなく、外部記憶領域３００に格納されていてもよい。この場合、プロセッサ１１０は、図４のＳ１２０において、外部記憶領域３００から制御データＣＤ２ａ，ＣＤ２ｂを取得し、制御データＣＤ２ａ，ＣＤ２ｂに従って、画面Ｄ３，Ｄ４を表示部１４０に表示させる。このように、メモリカード３００である外部記憶領域に制御データを格納することによって機能等を変更することができるので、機能を提供するためのアプリケーションの起動に関するカスタマイズの自由度が向上する。
【００８０】
また、内部記憶領域１９０が制御データＣＤ２ａ，ＣＤ２ｂを格納し、さらに、外部記憶領域３００が項目６１０に対応する制御データを格納してもよい。この場合、外部記憶領域３００内の制御データが優先して用いられる。項目６１０が選択される場合には、プロセッサ１１０は、図４のＳ１５５において、外部記憶領域３００内の制御データによって指定されるアプリケーションを起動する。このように、内部記憶領域１９０内の制御データよりも外部記憶領域３００内の制御データが優先されるので、メモリカード３００を用いてアプリケーションの起動に関するカスタマイズの自由度を容易に向上させることができる。ユーザは、複合機１００の管理者等によって格納された内部記憶領域１９０内の制御データから、さらに、表示画面等をカスタマイズすることができる。また、ユーザは、優先モードに設定することによって、内部記憶領域１９０内の制御データに代えてメモリカード３００内の制御データに従った処理を複合機１００に実行させることができる。即ち、ユーザは、メモリカード３００を用いて、カスタマイズの更新を容易に行なうことができる。なお、項目６１０に限らずに、他の項目（例えば項目６３０）に対応する制御データが、内部記憶領域１９０又は外部記憶領域３００に格納されてもよい。
【００８１】
（外部記憶領域３００内の制御データを用いる場合（追加モード））
次に、「追加モード」に関する処理を説明する。外部記憶領域３００に格納されている制御データＣＤ３と、内部記憶領域１９０に格納されている制御データＣＤ２ａと、の両方が、図９のアイコン画像８２に対応する制御データである場合を説明する。以下、外部記憶領域３００内の対応制御データのことを「外部対応制御データ」と呼び、内部記憶領域１９０内の対応制御データのことを「内部対応制御データ」と呼ぶ。
【００８２】
外部記憶領域３００が制御データＣＤ３を格納しているので、図４のＳ１１５の判断結果は「ＹＥＳ」である。この場合、Ｓ１２０では、プロセッサ１１０は、外部記憶領域３００から外部対応制御データＣＤ３を取得する。処理モードが「追加モード」である場合には、Ｓ１２５の判断結果は「ＹＥＳ」であり、Ｓ１３０に進む。
【００８３】
Ｓ１３０では、プロセッサ１１０は、内部記憶領域１９０が対応制御データを格納しているか否かを判断する。内部記憶領域１９０が対応制御データＣＤ２ａを格納しているので、Ｓ１３０の判断結果は「ＹＥＳ」であり、Ｓ１３５に進む。Ｓ１３５では、プロセッサ１１０は、内部記憶領域１９０内の内部対応制御データＣＤ２ａのうち、外部記憶領域３００内の外部対応制御データＣＤ３と競合しない部分を採用する。本実施例では、外部対応制御データＣＤ３によって指定されるデータのうち、記憶装置１３０内の予め決められた標準のデータを指定する部分は、他の制御データと競合しない部分として扱われる。そして、外部対応制御データＣＤ３によって指定されるデータのうち、標準のデータには含まれないデータを指定する部分は、他の制御データと競合する部分として扱われる。プロセッサ１１０は、Ｓ１２０で取得された外部対応制御データＣＤ３によって指定されるデータのうち、他の制御データと競合しないデータを、内部対応制御データＣＤ２ａによって指定されるデータに置き換える。
【００８４】
例えば、外部対応制御データＣＤ３のうち、項目６２０（図１０（Ｅ））に対応する情報データＩＤ３は、他の制御データと競合する。一方、外部対応制御データＣＤ３のうちの他の部分は、他の制御データと競合しない。従って、プロセッサ１１０は、外部対応制御データＣＤ３によって指定される情報データＩＤ１ａを、内部対応制御データＣＤ２ａによって指定される情報データＩＤ１ａ，ＩＤ２ａと制御データＣＤ２ｂとで上書きする。以下では、外部対応制御データＣＤ３と内部対応制御データＣＤ２ａとを組み合わせて得られる制御データのことを「複合制御データ」とも呼ぶ。
【００８５】
図４のＳ１５０，Ｓ１５５，Ｓ１６０の各処理は、複合制御データに従って実行される。図１０（Ｆ）の画面Ｄ６は、複合制御データに従って表示される画面を示す。項目６２０に対応する画像は、外部対応制御データＣＤ３によって指定される情報データＩＤ３によって表わされる画像（即ち画面Ｄ５内の項目６２０と同じ画像）である。項目６１０に対応する画像は、内部対応制御データＣＤ２ａによって指定される情報データＩＤ２ａによって表わされる画像（即ち画面Ｄ３内の項目６１０と同じ画像）である。そして、ユーザが項目６１０を選択する場合には、内部対応制御データＣＤ２ａによって指定される制御データＣＤ２ｂに従って、処理が実行される（画面Ｄ４参照）。
【００８６】
このように、内部記憶領域１９０内の情報データＩＤ２ａと、外部記憶領域３００内の情報データＩＤ３と、を用いて画像を変更できるので、画像の表示及び機能の提供に関するカスタマイズの自由度が向上する。例えば、複合機１００の管理者等によって機能のカスタマイズが実行され、さらに、個々のユーザがカスタマイズされたアイコン画像の表示を望む場合（即ちカスタマイズの目的が異なる場合）には、追加モードが選択されることによって、内部記憶領域１９０及び外部記憶領域３００内の両方の制御データが利用されて、複合されたカスタマイズが実現される。
【００８７】
また、記憶装置１３０内の制御データの代わりに、内部記憶領域１９０又は外部記憶領域３００内の制御データが読み出されるので、記憶装置１３０内のファームウェアの更新を実行せずに済む。従って、カスタマイズを容易に実行することができる。また、制御データが読み出される優先順位が、外部記憶領域３００、内部記憶領域１９０、記憶装置１３０であるので、エンドユーザが望むカスタマイズを優先的に実現することができる。
【００８８】
（処理モードの選択）
図８は、処理モードを選択するための処理の説明図である。プロセッサ１１０は、例えば図１０（Ａ）の設定ボタン６４０がユーザによって選択されることに応じて、モード選択処理を開始する。モード選択処理は、設定ボタン６４０に対応する標準のアプリケーションによって実現される。Ｓ６００では、プロセッサ１１０は、選択画面Ｄ７を表示部１４０に表示させる。選択画面Ｄ７は、「追加モード」を選択するためのボタン６６０と、「優先モード」を選択するためのボタン６７０と、を含む。Ｓ６０５では、プロセッサ１１０は、ボタン６６０が選択されたか否かを判断する。Ｓ６０５で「ＹＥＳ」である場合には、Ｓ６１０において、プロセッサ１１０は、処理モードを「追加モード」に設定して、図８の処理を終了する。Ｓ６０５で「ＮＯ」である場合には、Ｓ６２０において、プロセッサ１１０は、処理モードを「優先モード」に設定して、図８の処理を終了する。プロセッサ１１０は、ユーザによって選択された処理モードに従って、図４の制御処理を実行する。従って、複合機１００における処理のカスタマイズの自由度が向上する。
【００８９】
（変形例）
（１）制御処理の手順としては、図４〜図７で説明した手順に代えて、他の種々の手順を採用可能である。例えば、処理モードが「優先モード」と「追加モード」とのうちのいずれか１つに固定されていてもよい。また、図４の手順では、プロセッサ１１０は、外部記憶領域３００内のデータを内部記憶領域１９０内のデータよりも優先して利用するが、内部記憶領域１９０内のデータを外部記憶領域３００内のデータよりも優先して利用してもよい。また、外部記憶領域３００は、メモリカードでなくてもなく、複合機１００の内部に設けられる記憶領域であってもよい。即ち、複合機１００が複数の記憶領域を有し、記憶領域毎に、読み出しのための優先順位が予め設定さていてもよい。
【００９０】
（２）内部記憶領域１９０内のデータと外部記憶領域３００内のデータとが競合するか否かを判断する方法としては、上記の方法に代えて、他の任意の方法を採用可能である。例えば、制御データは、当該制御データ内のデータが他の制御データと競合するか否かを示すフラグを含んでもよい。同様に、画面構成データは、当該画面構成データ内のデータが他の画面構成データと競合するか否かを示すフラグを含んでもよい。また、情報データは、当該情報データによって表される画像のうち、他の情報データと競合する部分と競合しない部分とを識別するデータを含んでもよい。
【００９１】
（３）制御処理に用いられる各データの構成としては、上記の構成に代えて、他の種々の構成を採用可能である。例えば、画面Ｄ３内の項目６１０に対応するアプリケーションが、制御データＣＤ１ｂではなく、制御データＣＤ１ａによって指定されていてもよい。また、画面構成データと情報データとの少なくとも一方が省略されてもよい。
【００９２】
また、上記の実施例では、カスタマイズされた制御データが利用されるケースを説明した。これに代えて、記憶装置１３０内の標準の制御データが読み出され、かつ、画面構成データと情報データとのうちの少なくとも一方が記憶領域１９０又は３００から読み出されることによって、カスタマイズされた画面が表示される構成を採用してもよい。
【００９３】
例えば、図１０（Ｂ）の画面Ｄ２のスタイルを示す画面構成データが記憶領域１９０又は３００に格納されている場合には、プロセッサ１１０は、当該画面構成データに従って、画面Ｄ２を表示部１４０に表示させてもよい。当該画面構成データは、項目７１０，７２０の属性（例えばアイコン画像のサイズ）として、標準の画面構成データＳＤ１ｂによって指定される属性とは異なる属性を指定してもよい。一方、そのようなカスタマイズ用の画面構成データが記憶領域１９０，３００のいずれにも格納されていない場合には、プロセッサ１１０は、予め決められた標準の画面構成データＳＤ１ｂによって指定される属性に従って、画面Ｄ２を表示部１４０に表示させてもよい。この構成によれば、記憶領域１９０又は３００に画面構成データを格納することによって、画面の属性を変更できるので、属性を変更するためのカスタマイズの自由度が向上する。
【００９４】
また、図１０（Ａ）の画面Ｄ１内の項目６１０〜６５０のうちの少なくとも１個に対応する情報データが記憶領域１９０又は３００に格納されている場合には、プロセッサ１１０は、当該情報データに従って、アイコン画像を表わす画像データを生成してもよい。当該情報データは、標準の情報データＩＤ１ａとは異なるアイコン画像を表わしていてもよい。一方、そのようなカスタマイズ用の情報データが、記憶領域１９０，３００のいずれにも格納されていない場合には、プロセッサ１１０は、予め決められた標準の情報データＩＤ１ａによって表されるアイコン画像を表示部１４０に表示させてもよい。この構成によれば、記憶領域１９０又は３００に情報データを格納することによって、アイコン画像を変更できるので、アイコン画像を変更するためのカスタマイズの自由度が向上する。一般的に言うと、画像の変更は、画面内の１個以上の項目のそれぞれに対して独立に実行されてもよい。
【００９５】
（４）制御処理を実行する装置（ここでは複合機１００）の構成としては、上記の構成に代えて、他の種々の構成を採用可能である。例えば、記憶装置１３０と内部記憶領域１９０とは、同じ記憶装置に設けられていてもよい。また、カスタマイズ用の制御データによって指定されるアプリケーションは、記憶装置１３０の代わりに、内部記憶領域１９０又は外部記憶領域３００に格納されていてもよい。また、記憶装置１３０内の複数個のアプリケーションが複数個の標準の機能を分担して実現してもよい。この場合、複数個のアプリケーションの全体が、複数個の標準の機能を提供可能なアプリケーションを実現していると考えることができる。
【００９６】
装置インタフェース１６０が省略されてもよい。この場合、プロセッサ１１０は、記憶装置１３０内のデータと内部記憶領域１９０内のデータとを用いて、制御処理を実行すればよい。また、内部記憶領域１９０が省略されてもよい。この場合、プロセッサ１１０は、記憶装置１３０内のデータと外部記憶領域３００内のデータとを用いて、制御処理を実行すればよい。また、内部記憶領域１９０が、データの書き換えが禁止された記憶領域であってもよい。
【００９７】
表示部１４０が省略されてもよい。この場合、プロセッサ１１０は、複合機１００に接続された表示装置に画面を表示させてもよい。また、操作部１５０が省略されてもよい。この場合、プロセッサ１１０は、複合機１００に接続された操作部（例えばマウス）からユーザの操作を受け付けてもよい。また、通信インタフェース１７０が省略されてもよい。また、制御処理を実行する装置としては、複合機１００に代えて、他のデータ処理を実行する任意のデータ処理装置を採用可能である。例えば、プリンタ、スキャナ、いわゆるスマートフォン等が採用されてもよい。
【００９８】
いずれの場合も、画面に表示される項目の数としては、１以上の任意の数を採用可能である。そして、項目を選択することによって実行される標準の機能としては、上記の機能に限らず、任意の機能を採用可能である。
【００９９】
（対応関係）
複合機１００が、「画像処理装置」の一例である。第１不揮発性記憶装置１３０が、「第１記憶装置」の一例である。第２不揮発性記憶装置１９０又はメモリカード３００が、「第２記憶装置」の一例である。第２不揮発性記憶装置１９０、メモリカード３００が、それぞれ、「内部記憶装置」、「外部記憶装置」の一例である。
【０１００】
図１０（Ａ）の画面Ｄ１、画面Ｄ１内の項目６１０、「ＳＣＡＮ  ｔｏ  ＰＣ」機能、アプリケーションＡＰ１が、それぞれ、「第１の項目選択画面」、「第１の項目画像」、「第１の機能」、「第１のアプリケーションプログラム」の一例である。画面Ｄ１内の１個の項目６１０、２個の項目６２０，６３０が、それぞれ、「１個の項目画像」、「（Ｎ−１）個の項目画像」の一例である。図３の制御データＣＤ２ａ（又はＣＤ３）、制御データＣＤ２ｂが、それぞれ、「第１のプログラム制御データ」、「特定のプログラム制御データ」の一例である。図１０（Ｃ）の画面Ｄ３、画面Ｄ３内の項目６１０、「ＳＣＡＮ  ｔｏ  ＦＴＰ」機能、アプリケーションＡＰ２が、それぞれ、「第２の項目選択画面」、「第２の項目画像」、「第２の機能」、「第２のアプリケーションプログラム」の一例である。図３の画面構成データＳＤ２ａ、情報データＩＤ２ｂ、図１０（Ｄ）の画面Ｄ４内の画像Ｉｍ１，Ｉｍ２が、それぞれ、「第１の画面構成データ」、「第１の情報データ」、「特定の情報画像」の一例である。図３の画面構成データＳＤ１ａ、情報データＩＤ２ａが、それぞれ、「第２の画面構成データ」、「第２の情報データ」の一例である。図１０（Ｃ）の画面Ｄ３内の項目６２０、「ＳＣＡＮ  ｔｏ  Ｎｅｔｗｏｒｋ」機能、アプリケーションＡＰ３が、それぞれ、「第３の項目画像」、「第３の機能」、「第３のアプリケーションプログラム」の一例である。図１０（Ｄ）の画面Ｄ４が、「第２の機能に関係する機能関係画面」の一例である。
【０１０１】
追加モードでは、図３の制御データＣＤ３、制御データＣＤ２ａが、それぞれ、「第１のプログラム制御データ」、「第２のプログラム制御データ」の一例である。画面構成データＳＤ１ａ、情報データＩＤ３、情報データＩＤ２ａが、それぞれ、「第２の画面構成データ」、「第２の情報データ」、「第３の情報データ」の一例である。図１０（Ｆ）の画面Ｄ６、画面Ｄ６内の項目６２０、項目６１０が、それぞれ、「第２の項目選択画面」、「第２の項目画像」、「第３の項目画像」の一例である。
【０１０２】
（第２実施例）
続いて、第２実施例を説明する。制御データは、操作部１５０に対する操作に応じて起動（即ち利用）される起動スクリプトと、起動スクリプトによって指定される通常スクリプト（以下では単に「スクリプト」と呼ぶ）と、のどちらかに分類される。本実施例では、第１実施例の制御データＣＤ１〜ＣＤ３（図２、図３参照）に代えて、起動スクリプト及びスクリプトに従った処理が実現される。
【０１０３】
（内部処理プログラム１３４を利用する処理）
図１１では、ユーザの処理と、制御部１３２ｐの処理と、内部処理部１３４ｐの処理と、外部装置（ここではサーバ５００）の処理と、が示されている。制御部１３２ｐは、プロセッサ１１０がメインプログラム１３２（図２参照）を実行することによって実現される。内部処理部１３４ｐは、プロセッサ１１０が内部処理プログラム１３４（図２参照）を実行することによって実現される。以下では、ユーザが、図９のアイコン画像８２を選択する場合を例として、図１１の処理の内容を説明する。
【０１０４】
Ｓ１１００では、ユーザは、図９のアイコン画像８２を選択する操作を実行する。Ｓ１１０５では、制御部１３２ｐは、アイコン画像８２が選択されたことに応じて、起動スクリプトＳＣ１を取得する。
【０１０５】
図１２は、起動スクリプト取得処理のフローチャートである。Ｓ１２００では、制御部１３２ｐは、装置インタフェース１６０に接続されたメモリカード３００である外部記憶装置が起動スクリプトＳＣ１を格納しているか否かを判断する。予め決められたパス名を有するデータが、起動スクリプトＳＣ１として利用される。パス名は、メモリカード３００に格納されたデータファイルを管理するファイルシステムで用いられるデータファイルの格納位置を特定するための情報である。パス名は、例えば、ディレクトリツリー階層を表わす文字列を示す。所定のパス名を有する起動スクリプトＳＣ１がメモリカード３００に格納されている場合には、Ｓ１２００の判断結果は「ＹＥＳ」である。装置インタフェース１６０にメモリカード３００が接続されていない場合、又は、所定のパス名を有する起動スクリプトＳＣ１がメモリカード３００に格納されていない場合には、Ｓ１２００の判断結果は「ＮＯ」である。
【０１０６】
Ｓ１２００で「ＹＥＳ」である場合には、Ｓ１２１０において、制御部１３２ｐは、処理に利用されるべき起動スクリプトＳＣ１のパス名として、メモリカード３００内の起動スクリプトＳＣ１のパス名を採用する。例えば、図１１のＳ１１０５の処理の返り値として、当該パス名が設定される。そして、図１２の処理が終了する。
【０１０７】
Ｓ１２００で「ＮＯ」である場合には、Ｓ１２２０で、制御部１３２ｐは、記憶装置１９０である内部記憶装置が起動スクリプトＳＣ１を格納しているか否かを判断する。所定のパス名を有する起動スクリプトＳＣ１が内部記憶装置１９０に格納されている場合には、Ｓ１２２０の判断結果は「ＹＥＳ」である。所定のパス名を有する起動スクリプトＳＣ１が内部記憶装置１９０に格納されていない場合には、Ｓ１２２０の判断結果は「ＮＯ」である。
【０１０８】
Ｓ１２２０で「ＹＥＳ」である場合には、Ｓ１２３０において、制御部１３２ｐは、処理に利用されるべき起動スクリプトＳＣ１のパス名として、内部記憶装置１９０内の起動スクリプトＳＣ１のパス名を採用する。そして、図１２の処理が終了する。
【０１０９】
Ｓ１２２０で「ＮＯ」である場合には、Ｓ１２４０において、制御部１３２ｐは、起動スクリプトＳＣ１のパス名として、起動スクリプトＳＣ１の取得が失敗したことを示す特定の文字列（例えば空文字）を採用する。そして、図１２の処理が終了する。
【０１１０】
図１１は、起動スクリプトＳＣ１の取得に成功した場合の処理を示す。メモリカード３００に起動スクリプトＳＣ１が格納されている場合（図１２のＳ１２００でＹＥＳ）、又は、記憶装置１９０に起動スクリプトＳＣ１が格納されている場合（図１２のＳ１２２０でＹＥＳ）に、図１１の処理が実行される。メモリカード３００に起動スクリプトＳＣ１を含む複数のスクリプトが格納されている場合を例として、以下の説明を続ける。
【０１１１】
Ｓ１１１０では、制御部１３２ｐは、Ｓ１１０５で取得されたパス名を有する起動スクリプトＳＣ１を解析して実行する。図１３は、起動スクリプトＳＣ１の一例を示す。起動スクリプトＳＣ１は、実行時に呼び出される関数「try_start_custom_app」を含む。引数appidは、アイコン画像８２（図９参照）に対応するアプリケーションを識別する番号（以下では「アプリケーション番号appid」呼ぶ）を示す。
【０１１２】
関数内の第１部分Ｐ１１では、アプリケーション番号appidに対応するカスタムアプリケーション番号custom_appidが取得される。カスタムアプリケーション番号custom_appidは、カスタマイズされた処理を識別する番号を示す。アプリケーション番号appidとカスタムアプリケーション番号custom_appidとの対応関係は、起動スクリプトＳＣ１内の図示省略の部分で定義され得る。起動スクリプトＳＣ１内に定義が存在しない場合には、カスタムアプリケーション番号custom_appidはゼロに設定される。
【０１１３】
関数内の第２部分Ｐ１２では、カスタムアプリケーション番号custom_appidが定義されている場合に、カスタムアプリケーション番号custom_appidによって識別される処理（以下では「カスタム処理」と呼ぶ）が開始される。カスタム処理は、起動スクリプトＳＣ１内の図示省略の部分で定義され得る。
【０１１４】
関数内の第３部分Ｐ１３では、カスタムアプリケーション番号custom_appidが定義されていない場合に、アプリケーション番号appidによって識別されるアプリケーションの機能が実行される。
【０１１５】
本実施例では、起動スクリプトＳＣ１内の図示省略の部分において、カスタムアプリケーション番号custom_appidとカスタム処理とが定義されている場合を例として説明する。この場合、制御部１３２ｐは、第２部分Ｐ１２に従って、カスタム処理を開始する。以下では、カスタム処理が第２スクリプトＳＣ２に基づく処理であると定義されている場合を例として説明する。即ち、起動スクリプトＳＣ１には、次の処理対象のスクリプトが第２スクリプトＳＣ２であることを示す情報が記述されている。第２スクリプトＳＣ２は、起動スクリプトＳＣ１を格納する記憶装置（即ちここではメモリカード３００）と同じ記憶装置に格納されている。
【０１１６】
図１１のＳ１１１５では、制御部１３２ｐは、次の処理対象のスクリプトである第２スクリプトＳＣ２のパス名を内部処理部１３４ｐに通知する。Ｓ１１２０では、内部処理部１３４ｐは、当該パス名によって特定される処理対象のスクリプト（即ちここでは第２スクリプトＳＣ２；以下では「対象スクリプト」と呼ぶ）を取得する。Ｓ１１２５では、内部処理部１３４ｐは、スクリプト解析プログラム（図示省略）を実行して、対象スクリプトＳＣ２を解析して編集する。本実施例では、対象スクリプトは、Ｌｕａを用いて記述されたスクリプト部分を含む。スクリプト解析プログラムは、Ｌｕａのスクリプト部分に対する言語処理を実行する。なお、変形例では、Ｌｕａの代わりに、Ｒｕｂｙ、Ｐｅｒｌ等の任意の言語が採用されてもよい。
【０１１７】
図１４は、第２スクリプトＳＣ２の一例を示す。第２スクリプトＳＣ２は、表示部１４０に表示される画面の構成を表わす。具体的には、第２スクリプトＳＣ２は、画面のタイトルが「ScanSetting」であり、カラーモードの選択肢として「Color」と「Mono」とが表示され、「Start」を示すボタンが表示されることを示す。また、第２スクリプトＳＣ２内の部分Ｐ２１は、第２スクリプトＳＣ２の次の処理対象のスクリプトである第４スクリプトＳＣ４のパス名を示す。第４スクリプトＳＣ４は、スクリプトＳＣ１，ＳＣ２を格納する記憶装置（即ちここではメモリカード３００）と同じ記憶装置に格納されている。
【０１１８】
第２スクリプトＳＣ２は、編集用のタグを含まない。従って、図１１のＳ１１２５では、内部処理部１３４ｐは、第２スクリプトＳＣ２を、そのまま、編集済のスクリプトとして利用する。後述するように、スクリプトは、編集用のタグを含み得る。この場合、内部処理部１３４ｐは、編集用のタグによって特定される部分を解析し、解析結果に応じてスクリプトを編集する。Ｓ１１３０では、内部処理部１３４ｐは、編集済のスクリプトである第２スクリプトＳＣ２を制御部１３２ｐに送信する。仮に、第２スクリプトＳＣ２が編集用のタグを含む場合には、編集用のタグによって特定される部分の解析結果に応じて第２スクリプトＳＣ２が編集され、編集済のスクリプトが制御部１３２ｐに送信される。
【０１１９】
Ｓ１１３５では、制御部１３２ｐは、スクリプトＳＣ２を実行する。第２スクリプトＳＣ２は、表示部１４０に表示される画面の構成を示す。制御部１３２ｐは、第２スクリプトＳＣ２に従って、図１８（Ａ）の画面Ｄ１２を表示部１４０に表示させる。画面Ｄ１２は、「Scan Setting」というタイトルと、「Start」を示すボタンＢ２１と、カラーモードのための２個の選択肢（即ち「Color」及び「Mono」）を示す２個のボタンＢ２２，Ｂ２３と、を含む。ユーザは、２個のボタンＢ２２，Ｂ２３のうちの所望の選択肢を操作することによって、カラーモードを選択することができ、ボタンＢ２１を操作することによって、スキャン処理を複合機１００に開始させることができる。
【０１２０】
図１１のＳ１１４０では、ユーザは、ボタンＢ２１を操作する。Ｓ１４５では、制御部１３２ｐは、ボタンＢ２１が操作されたことに応じて操作情報ＳＣ３を生成し、操作情報ＳＣ３を内部処理部１３４ｐに送信する。操作情報ＳＣ３は、図１８（Ａ）の画面Ｄ１２に入力された情報（即ちカラーモード）を示す。図１５は、操作情報ＳＣ３の一例を示し、操作情報ＳＣ３は、カラーモードとして「Color」が選択されたことを示す。
【０１２１】
図１１のＳ１１５０では、内部処理部１３４ｐは、Ｓ１１２５で特定された次の処理対象のスクリプトＳＣ４を取得する。Ｓ１１５５では、内部処理部１３４ｐは、スクリプト解析プログラムを利用して、操作情報ＳＣ３とスクリプトＳＣ４とを解析して、スクリプトＳＣ４を編集する。
【０１２２】
図１６は、第４スクリプトＳＣ４の一例を示し、図１７は、第４スクリプトＳＣ４を編集して得られる第５スクリプトＳＣ５の一例を示す。２個のタグ（即ち、<scan>、</scan>）の間の部分は、スキャン処理の設定を示す。例えば、要素「resolution」の値「high」は、解像度が高いことを示す。
【０１２３】
要素「send_host」の値は、スキャンデータの宛先のホスト名（換言すると「ドメイン名」とも呼ばれる）を示し、要素「script」を用いて記述される。要素「script」は、編集用の要素である。内部処理部１３４ｐは、２個のタグ（即ち、<script>、</script>）の間の部分を解析して、解析結果に置換する。この例では、開始タグ<script>から終了タグ</script>までの部分が、変数「file_server_hostname」の値に置換される。この変数は、ユーザによって複合機１００に予め登録されたファイルサーバ（即ちＰＣ５１０）のネットワーク上のホスト名を示す。要素「send_host」の値は、ＰＣ５１０のホスト名（ここでは「PC1」）に置換される。ＰＣ５１０は、スキャンデータを受信可能なコンピュータであり、例えば、ファイル共有のための共有フォルダを公開しているコンピュータである。
【０１２４】
第４スクリプトＳＣ４は、さらに、要素「script」を記述するための編集部分Ｐ４１を含む。編集部分Ｐ４１では、ユーザによって設定されたパラメータ、即ち、識別子「ColorMode」によって識別されるパラメータが、「Color」であるか否かに応じて、処理が分岐する。当該パラメータの値は、操作情報ＳＣ３によって特定される。例えば、当該パラメータが「Color」である場合には、編集部分Ｐ４１が「<color_mode> color </color_mode>」に置換される。即ち、要素「color_mode」の値が「color」に設定される。この結果、図１７の第５スクリプトが完成する。なお、パラメータが「Color」ではない場合には、編集部分Ｐ４１が「<color_mode> mono </color_mode>」に置換される。
【０１２５】
図１１のＳ１１６０では、内部処理部１３４ｐは、第５スクリプトＳＣ５を制御部１３２ｐに送信する。Ｓ１１６５では、制御部１３２ｐは、第５スクリプトＳＣ５を実行する。具体的には、制御部１３２ｐは、第５スクリプトＳＣ５内のタグ<scan>をスキャン処理のためのコマンドとして解釈し、スキャン処理を実行する。
【０１２６】
図１８（Ｂ）は、Ｓ１１６５で表示される画面Ｄ１３の一例を示す。第５スクリプトＳＣ５によって特定されるスキャン処理は、スキャナ部１８０（図１）を用いてスキャンデータを生成する処理と、スキャンデータを宛先にアップロードする処理と、を含む。画面Ｄ１３は、これらの処理の進捗状況を示す。
【０１２７】
本実施例では、アプリケーションＡＰ２（図２参照）は、スキャンデータを生成する処理と、スキャンデータをアップロードする処理と、を実現する。制御部１３２ｐは、アプリケーションＡＰ２を起動し、第５スクリプトＳＣ５に示される設定に応じて、スキャン処理を実行する。そして、制御部１３２ｐは、進捗状況を示す画面Ｄ１３を定期的に更新する。
【０１２８】
スキャン処理が終了すると、図１１のＳ１１７０では、制御部１３２ｐは、処理結果を内部処理部１３４ｐに通知する。第４スクリプトＳＣ４（図１７参照）には、次の処理対象のスクリプトを指定する情報が記述されていない。従って、Ｓ１１７５では、内部処理部１３４ｐは、次の処理対象のスクリプトを取得せずに、処理終了を制御部１３２ｐに通知する。そして、図１１の処理が終了する。
【０１２９】
このように、本実施例では、内部処理部１３４ｐは、第２スクリプトＳＣ２を用いて、画面を制御するスクリプトを生成する（Ｓ１１２５）。従って、第２スクリプトＳＣ２は、表示部１４０に表示される画面を制御するスクリプトを生成するための生成情報である。以下では、第２スクリプトＳＣ２のことを「生成情報ＳＣ２」と呼ぶことがある。
【０１３０】
また、第２スクリプトＳＣ２及び第４スクリプトＳＣ４は、起動スクリプトＳＣ１の実行に続く処理で利用される。従って、スクリプトＳＣ１，ＳＣ２，ＳＣ４を用いたカスタマイズを実行する場合には、これらのスクリプトＳＣ１等の全てが、メモリカード３００又は記憶装置１９０に格納される。このように、起動スクリプトＳＣ１を取得可能な場合には、通常、生成情報ＳＣ２も取得可能である。従って、図１２のＳ１２００，Ｓ１２２０では、起動スクリプトＳＣ１を取得可能であるか否かを判断することによって、生成情報ＳＣ２を取得可能であるか否かを判断している。
【０１３１】
（サーバ５００を利用する処理）
図１９は、起動スクリプトＳＣ１の取得に失敗する例を示すシーケンス図である。Ｓ１１００は、図１１のＳ１１００と同様であり、図９のアイコン画像８２が選択される。ただし、本実施例では、記憶装置１９０及びメモリカード３００がプロセッサ１００に接続されておらず、さらに、記憶装置１３０内に起動スクリプトＳＣ１が存在しない。従って、Ｓ１１０５の処理結果は「失敗」である。この場合、Ｓ１１１７において、制御部１３２ｐは、アプリケーションＡＰ１を起動し、アプリケーションＡＰ１に従って、アイコン画像８２が選択されたことを示す選択情報を含む処理開始の要求をサーバ５００に送信する。本実施例では、アプリケーションＡＰ１は、サーバ５００と連携して「ＳＣＡＮ  ｔｏ  Ｅ−ｍａｉｌ」機能を実現するためのプログラムである。なお、「ＳＣＡＮ  ｔｏ  Ｅ−ｍａｉｌ」機能は一例であり、アプリケーションＡＰ１によって実現される機能は、例えば、サーバ５００と連携したスキャンアップロード機能であってもよい。
【０１３２】
サーバ５００のプロセッサ５００ａ（図１参照）は、プログラム５００ｄを実行することによって、種々の処理を実現する。Ｓ１１２２では、プロセッサ５００ａは、複合機１００からの要求に応じて、不揮発性記憶装置５００ｃから処理対象のスクリプトを取得する。具体的には、プロセッサ５００ａは、当該要求に含まれる選択情報に予め対応付けられているスクリプトを取得する。当該スクリプトは、図１１のＳ１１３０のスクリプトＳＣ２（図１４参照）と同じである。なお、本実施例では、第２スクリプトＳＣ２は、不揮発性記憶装置５００ｃに予め格納されているが、変形例では、プロセッサ５００ａは、第２スクリプトＳＣ２を生成してもよい。Ｓ１１３２では、プロセッサ５００ａは、第２スクリプトＳＣ２を複合機１００に送信する。
【０１３３】
Ｓ１１３５，Ｓ１１４０は、図１１のＳ１１３５，Ｓ１１４０と同様である。Ｓ１１４７では、制御部１３２ｐは、操作情報ＳＣ３をサーバ５００に送信する。
【０１３４】
Ｓ１１５２では、プロセッサ５００ａは、操作情報ＳＣ３を用いて、処理対象のスクリプトを取得する。プログラム５００ｄは、第２スクリプトＳＣ２の次の処理対象のスクリプトとして、第６スクリプトＳＣ６を予め指定している。
【０１３５】
図２０は、第６スクリプトＳＣ６の一例を示す。第６スクリプトＳＣ６は、図１７の第５スクリプトＳＣ５とは異なり、要素「send_host」の代わりに要素「send_address」が記述される。要素「send_address」に記述されるアドレス「user1@com」は、ユーザによってサーバ５００に予め登録されている。不揮発性記憶装置５００ｃは、第６スクリプトＳＣ６のテンプレートを予め格納している。テンプレートでは、要素「send_address」の値と要素「color_mode」の値とが、所定値（例えば空欄）である。プロセッサ５００ａは、テンプレートを取得し、予め登録されたアドレス「user1@com」を要素「send_address」に記述し、操作情報ＳＣ３のパラメータ（ColorMode）が示す値（「color」又は「mono」）を要素「color_mode」に記述することによって、第６スクリプトＳＣ６を生成する。図１９のＳ１１６２では、プロセッサ５００ａは、第６スクリプトＳＣ６を複合機１００に送信する。
【０１３６】
Ｓ１１６７では、制御部１３２ｐは、アプリケーションＡＰ１及び第６スクリプトＳＣ６に従って、スキャン処理を実行する。Ｓ１１６７では、制御部１３２ｐは、スキャンデータが添付された電子メールを生成し、当該電子メールを外部ネットワークＧＮＴに属するメールサーバ５０５に送信する。この結果、メールサーバ５０５は、当該電子メールをアドレス「user1@com」に送信する。Ｓ１１７２では、制御部１３２ｐは、処理結果をサーバ５００に通知する。プロセッサ５００ａは、処理終了を複合機１００に通知する。これにより、図１９の処理が終了する。
【０１３７】
（カスタマイズの対象ではない処理）
図２１は、カスタマイズの対象ではない項目が操作される例の処理を示す。以下では、図９のアイコン画像８１が選択される場合を例として、図２１の処理の内容を説明する。
【０１３８】
Ｓ１１０２では、ユーザがアイコン画像８１を選択する。Ｓ１１３７では、制御部１３２ｐは、アイコン画像８１に対応するアプリケーションＡＰ４を起動する。アプリケーションＡＰ４は、ユーザにコピー設定を入力させて、当該設定に従ってスキャナ部１８０を駆動してスキャンデータを生成し、スキャンデータを用いてプリンタ部１８５を駆動して画像を印刷するというコピー機能を実現する。
【０１３９】
図２１のＳ１１３７では、制御部１３２ｐは、図２２（Ａ）の設定画面Ｄ１４を表示部１４０に表示させる。画面Ｄ１４は、「Copy Setting」というタイトルと、「Start」ボタンＢ４１と、カラーモードのための２個の選択肢Ｂ４２，Ｂ４３と、を含む。ユーザは、２個の選択肢Ｂ４２，Ｂ４３のうちの所望の選択肢を選択することによって、カラーモードを選択することができる、ボタンＢ４１を操作することによって複合機１００にコピーを開始させることができる。
【０１４０】
Ｓ１１４２では、ユーザは、ボタンＢ４１を操作する。Ｓ１１６９では、制御部１３２ｐは、アプリケーションＡＰ４に従って、選択済みの選択肢によって示される設定に従ってスキャンデータを生成し、スキャンデータを用いて画像を印刷する。図２２（Ｂ）は、Ｓ１１６７で表示される画面Ｄ１５の一例を示す。画面Ｄ１５は、コピー処理の進捗状況を示す。画像の印刷が完了すると、図２１の処理が終了する。
【０１４１】
以上のように、本実施例では、ユーザによって選択される項目がカスタマイズの対象である場合には、起動スクリプトＳＣ１を取得可能か否か、即ち、生成情報ＳＣ２を取得可能か否かに応じて、処理が変更される。生成情報ＳＣ２を取得可能な場合には、図１１で説明したように、内部処理部１３４ｐは、Ｓ１１２５において、生成情報ＳＣ２を用いて、画面制御用のスクリプト（図１４の例では生成情報ＳＣ２と同じ）を生成する。制御部１３２ｐは、Ｓ１１３５において、画面制御用のスクリプトに従って、画面Ｄ１２（図１８（Ａ））を表示部１４０に表示させ、操作部１５０に対する操作に応じた操作情報ＳＣ３を利用して、スキャン処理を実行する（Ｓ１１４５〜Ｓ１１６５）。一方、生成情報ＳＣ２を取得可能ではない場合には、図１９で説明したように、制御部１３２ｐは、サーバ５００から画面制御用のスクリプトＳＣ２を取得し（Ｓ１１３２）、画面制御用のスクリプトに従って、画面Ｄ２（図１８（Ａ））を表示部１４０に表示させる（Ｓ１１３５）。そして、制御部１３２ｐは、操作部１５０に対する操作に応じた操作情報ＳＣ３を利用して、スキャン処理を実行する（Ｓ１１４７〜Ｓ１１６７）。
【０１４２】
このように、内部処理部１３４ｐは、生成情報ＳＣ２から画面制御用のスクリプトを生成することができる。従って、制御部１３２ｐは、生成情報ＳＣ２に基づいて、複合機１００による処理を容易にカスタマイズすることができる。この結果、カスタマイズの自由度が向上する。
【０１４３】
また、複合機１００のユーザは、内部ネットワークＬＮＴの外部のサーバ５００にデータを送信することなく、内部ネットワークＬＮＴ内で画像処理が実行されることを望む可能性がある。本実施例では、図１１に示されるように、制御部１３２ｐは、内部処理部１３４ｐから画面制御用のスクリプトを取得することができるので、内部ネットワークＬＮＴの外部のサーバ５００と通信せずに、処理を実行することができる。
【０１４４】
また、図１２のＳ１２２０で説明したように、制御部１３２ｐは、記憶装置１９０に起動スクリプトＳＣ１が格納されている場合に、生成情報ＳＣ２を取得可能と判断する。従って、複合機１００の内部記憶装置１９０に生成情報ＳＣ２を格納することによって複合機１００における処理を変更することができるので、複合機１００における処理のカスタマイズの自由度が向上する。
【０１４５】
また、Ｓ１２００で説明したように、制御部１３２ｐは、装置インタフェース１６０にメモリカード３００が接続され、メモリカード３００に起動スクリプトＳＣ１（即ち生成情報ＳＣ２）が格納されている場合に、生成情報ＳＣ２を取得可能であると判断する。従って、装置インタフェース１６０に接続されたメモリカード３００に生成情報ＳＣ２を格納することによって複合機１００における処理を変更することができるので、複合機１００における処理のカスタマイズの自由度が向上する。
【０１４６】
図１１のスキャン処理（即ちＳ１１６５）では、スキャンデータは、内部ネットワー クＬＮＴに接続されたＰＣ５１０に送信される。一方、図１９のスキャン処理（即ちＳ１１６７）では、スキャンデータは、外部ネットワークＧＮＴに接続されたサーバ５０５に送信される。このように、生成情報ＳＣ２を用いて、外部ネットワークＧＮＴに属する装置（ここではサーバ５０５）と内部ネットワークＬＮＴに属する装置（ここではＰＣ５１０）とからスキャンデータの宛先を選択することができる。このために、複合機１００における処理のカスタマイズの自由度が向上する。
【０１４７】
また、図１４に示すように、生成情報ＳＣ２は、ＸＭＬというマークアップ言語で記述されている。そして、図１１のＳ１１２５，Ｓ１１５５で説明したように、内部処理部１３４ｐは、編集用のタグ（即ち、<script>、</script>）によって特定される対象部分を解析し、解析結果に応じて対象部分を変更することによって、編集済のスクリプトを生成する。図１４の例では、編集用のタグが存在しないが、生成情報ＳＣ２は、図１６の第４スクリプトＳＣ４のように、編集用のタグを含み得る。
【０１４８】
図２３は、編集用のタグを含む生成情報ＳＣ２ｖの一例を示す。図１４の生成情報ＳＣ２との差異は、部分Ｐ２２が編集用のタグ（即ち、<script>、</script>）を含む点である。部分Ｐ２２に記述された配列変数「current_login_user_profile["login_name"]」は、複合機１００にログインしているユーザ名を示す。当該ユーザ名は、複合機１００に予め登録されている。そして、当該ユーザ名が 特定の名前（ここでは「NAME1」）である場合には、カラーモードの選択肢として「Color」及び「Mono」の双方が採用され、当該ユーザ名が特定の名前ではない場合には、カラーモードの選択肢として「Mono」のみが採用される。図１１のＳ１１２５で生成情報ＳＣ２ｖが解析される場合には、内部処理部１３４ｐは、ユーザ名に応じてカラーモードの選択肢を変更することによって、編集済のスクリプトを生成する。そして、Ｓ１１３５では、制御部１３２ｐは、当該スクリプトに従って、ユーザ名に応じてカラーモードの選択肢が異なる画面を表示部１４０に表示させる。このように、マークアップ言語で記述された生成情報ＳＣｖ２を用いて複合機１００における処理を変更することができるので、複合機１００における処理のカスタマイズの自由度を容易に向上させることができる。また、対象スクリプトと画面を制御するスクリプトとがいずれもＸＭＬ形式のデータである。従って、所定のタグで特定される部分のみを変更するだけで、データ形式を変えることなく容易に、生成情報ＳＣｖ２から画面制御情報を作成したり、複合機１００に処理を実行させたりすることができる。
【０１４９】
また、図１９で説明したように、生成情報ＳＣ２を取得することができない場合には、制御部１３２ｐは、操作情報ＳＣ３をサーバ５００に送信し（Ｓ１１４７）、サーバ５００から第６スクリプトＳＣ６を受信する（Ｓ１１６２）。そして、制御部１３２ｐは、第６スクリプトＳＣ６に含まれるコマンド（即ち、タグ<scan>と、タグ</scan>と、これらの間の要素の値と、の全体）に従って、スキャン処理を実行する（Ｓ１１６７）。また、図１１で説明したように、生成情報ＳＣ２を取得することができる場合には、制御部１３２ｐは、操作情報ＳＣ３を内部処理部１３４ｐに供給する（Ｓ１１４５）。内部処理部１３４ｐは、操作情報ＳＣ３を解析して第５スクリプトＳＣ５を生成し（Ｓ１１５５）、第５スクリプトＳＣ５を制御部１３２ｐに供給する（Ｓ１１６０）。制御部１３２ｐは、第５スクリプトＳＣ５に含まれるコマンド（即ち、タグ<scan>と、タグ</scan>と、これらの間の要素の値と、の全体）に従って、スキャン処理を実行する（Ｓ１１６５）。このように、複合機１００は、サーバ５００と内部処理部１３４ｐとのいずれかを用いて、スキャン処理を適切に実行することができる。
【０１５０】
また、図１１で説明したように、制御部１３２ｐは、生成情報ＳＣ２の格納位置を示すパス名を内部処理部１３４ｐに供給する（Ｓ１１１５）。そして、内部処理部１３４ｐは、パス名によって示される格納位置から生成情報ＳＣ２を取得し（Ｓ１１２０）、生成情報ＳＣ２を解析する（Ｓ１１２５）。このために、内部処理部１３４ｐは、生成情報ＳＣ２を適切に利用することができる。ただし、変形例では、制御部１３２ｐは、パス名ではなく、生成情報ＳＣ２そのものを内部処理部１３４ｐに供給してもよい。
【０１５１】
また、制御部１３２ｐは、図１０（Ａ）の項目６１０等が選択される場合に、起動スクリプトＳＣ１（即ち生成情報ＳＣ２）を取得可能であるか否かを判断する（図１１及び図１９のＳ１１０５）。また、図２１で説明したように、図９のアイコン画像８１が選択される場合には、制御部１３２ｐは、アイコン画像８１に対応するアプリケーションに従って、図２２（Ａ）の画面Ｄ１４を表示部１４０に表示させて（Ｓ１１３７）、コピー処理を実行する（Ｓ１１６９）。このように、カスタマイズの対象である処理に対応する項目６１０，６２０等と、カスタマイズの対象ではない処理に対応するアイコン画像８１と、が表示部１４０に表示される。従って、ユーザは、カスタマイズされた処理とカスタマイズされていない処理との中から、所望の処理を選択することができる。
【０１５２】
（制御処理の別の実施例）
図１１のＳ１１６５で実行されるスキャン処理が、図２０の第６スクリプトＳＣ６に基づくスキャン処理のように、外部ネットワークＧＮＴに接続されたサーバ５０５にスキャンデータを送信する処理であってもよい。図２４は、第４スクリプトＳＣ４（図１６参照）に代えて利用可能な第７スクリプトＳＣ７の一例を示す。第４スクリプトＳＣ４との差異は、要素「send_host」が要素「send_address」に置換されている点である。要素「send_address」の内容は、編集用のタグ（即ち、<script>、</script>）を用いて記述される。具体的には、開始タグ<script>と終了タグ</script>との間の部分が、配列変数「current_login_user_profile["email_address"]」の値に置換される。当該配列変数は、複合機１００にログインしているユーザ名に対応するメールアドレスを示す。ユーザ名とメールアドレスとは複合機１００に予め登録されている。
【０１５３】
第２スクリプトＳＣ２（図１４参照）の部分Ｐ２１が第７スクリプトＳＣ７を指定している場合には、内部処理部１３４ｐは、図１１のＳ１１５５において、操作情報ＳＣ３と第７スクリプトＳＣ７とを解析して、処理対象の第７スクリプトＳＣ７を編集する。編集済のスクリプトは、図２０の第６スクリプトＳＣ６と同様であるが、要素「send_address」の値は、複合機１００にログインしているユーザ名に対応するメールアドレスである。図１１のＳ１１６５では、制御部１３２ｐは、第６スクリプトＳＣ６に従って、スキャンデータを外部ネットワークＧＮＴに属するメールサーバ５０５に送信する。
【０１５４】
（制御処理の別の実施例）
図１２のＳ１２００，Ｓ１２２０では、起動スクリプト（即ち生成情報）を格納していると判断するための肯定判断条件は、「所定のパス名を有するデータが格納されている」という第１条件であるが、それに代えて、他の種々の条件を採用可能である。例えば、肯定判断条件は、上記の第１条件と、「所定のパス名を有するデータの先頭に所定情報が記述されている」という第２条件と、の双方が満たされることであってもよい。図２５は、第２条件の所定情報の一例を示す。スクリプトＳＣの先頭部分ＳＨが所定情報の一例である。所定情報は、タイトル「--custom script」と、バージョン番号と、著者（会社名）と、を示す。図１２のＳ１２００，Ｓ１２２０では、制御部１３２ｐは、所定のパス名を有するデータが格納されており、かつ、当該データの先頭に所定情報ＳＨが記述されている場合に、「ＹＥＳ」と判断する。
【０１５５】
また、肯定判断条件は、「生成情報（例えば図１４の生成情報ＳＣ２）に対応する起動スクリプト（例えば図１３の起動スクリプトＳＣ１）のための電子署名データを取得可能である」という第３条件を含んでいてもよい。電子署名データは、起動スクリプトと生成情報とを含む複数個のスクリプトの作成者によって準備される。電子署名データは、例えば、起動スクリプトとは別のデータファイルとして、起動スクリプトと同じディレクトリに格納される。また、電子署名データは、起動スクリプトを示すデータファイルに埋め込まれていてもよい。電子署名データを取得可能である場合には、複数のスクリプトが適切なスクリプトであると推定される。従って、第３条件を含む肯定判断条件を採用すれば、不適切なスクリプトに従った不適切なカスタマイズを抑制することができる。
【０１５６】
また、肯定判断条件は、「生成情報のための電子署名データを取得可能である」という第４条件を含んでいてもよいし、「複数個のスクリプトのそれぞれに個別の電子署名データが対応付けられており、全ての電子署名データを取得可能である」という第５条件を含んでいてもよい。肯定判断条件は、上記の第２〜第５条件の中から予め任意に選択された１以上の条件と、第１条件と、が満たされることであってもよい。また、肯定判断条件は、第１条件に代えて、「ディレクトリに関わらず所定のファイル名を有するデータ（ここではスクリプト）が格納されている」という第６条件を含んでいてもよい。
【０１５７】
（変形例）
（１）スクリプトに従ってカスタマイズされる処理の手順としては、図１１、図１２、図１９の手順に代えて、他の種々の手順を採用可能である。例えば、図１９のＳ１１３２において、サーバ５００から送信される画面制御用のスクリプトは、図１１のＳ１１３０において、内部処理部１３４ｐから送信される画面制御用のスクリプトとは異なるものであってもよい。即ち、図１９のＳ１１３５で表示される画面は、図１１のＳ１１３５で表示される画面とは異なるものであってもよい。
【０１５８】
（２）上記の実施例では、複数のスクリプトＳＣ１，ＳＣ２，ＳＣ４が順番に処理されるために、最後に処理されるスクリプトＳＣ４以外のスクリプトＳＣ１，ＳＣ２は、次の処理対象のスクリプトを指定する情報（以下では「次指定情報」と呼ぶ）を含む。従って、制御部１３２ｐ及び内部処理部１３４ｐは、最初のスクリプトＳＣ１から次指定情報に従って各スクリプトＳＣ２，ＳＣ４を順次処理することによって、適切な順序で複数個のスクリプトを処理することができる。ここで、内部処理部１３４ｐは、画面を制御するためのスクリプトを生成する場合に、当該スクリプトに応じて表示された画面を介した操作を示す操作情報を受信することに応じて、次の処理対象のスクリプトを処理することができる。これに代えて、操作情報が利用されるスクリプトは、操作情報の受信を待つというコマンドを含んでいてもよい。また、１個の画像処理のための複数個のスクリプトは、１個のデータファイルにまとめて記述されていてもよい。
【０１５９】
（３）図１２の処理では、制御部１３２ｐは、外部記憶装置内のスクリプトを内部記憶装置内のスクリプトよりも優先しているが、これに代えて、内部記憶装置内のスクリプトを外部記憶装置内のスクリプトよりも優先してもよい。どちらの場合でも、外部記憶装置内のスクリプトが利用される場合に、外部ネットワークＧＮＴへのデータ送信を伴う画像処理が禁止されるように、スクリプトが構成されていることが好ましい。この構成によれば、メモリカード３００等の外部記憶装置が利用される場合に、データが意図せずに外部ネットワークＧＮＴに送信されることを抑制することができる。なお、外部ネットワークＧＮＴを利用するのか否かがユーザによって設定可能であるように、複合機１００が構成されていてもよい。外部ネットワークＧＮＴを利用しない旨が設定されている場合には、制御部１３２ｐは、起動スクリプトの取得に失敗しても、処理開始の要求をサーバ５００に送信しない。これにより、メモリカード３００等の外部記憶装置が利用されるべき場合に、ユーザがメモリカード３００の装着を忘れてしまっても、データが意図せずに外部ネットワークＧＮＴに送信されることを抑制することができる。
【０１６０】
（４）サーバ５００の管理者によってプログラム５００ｄが更新されることによって、サーバ５００によって生成されるスクリプトが更新されてもよい。例えば、サーバ５００の管理者は、プログラム５００ｄを更新することによって、スキャンデータの宛先を追加することができる。不揮発性記憶装置１３０内のファームウェア（例えばプログラム１３２，１３４）が更新されなくても、記憶装置１９０又はメモリカード３００に格納されるスクリプトが更新されると、内部処理部１３４ｐによって生成されるスクリプトが更新される。即ち、複合機１００の管理者又はメモリカード３００のユーザは、ファームウェアを更新することなく、記憶装置１９０又はメモリカード３００内のスクリプトを更新することによって、スキャンデータの宛先を追加することができる。ファームウェアが更新される場合には、更新の失敗に起因して複合機１００が適切に動作することができなくなる可能性がある。ファームウェアが更新されることなくスクリプトによって処理がカスタマイズされるので、そのような不具合の発生を抑制することができる。
【０１６１】
（５）生成情報等のスクリプトは、XML形式に代えて、HTML（HyperText Markup Languageの略）形式、SGML（Standard Generalized Markup Languageの略）形式等の他のマークアップ言語で記述されてもよい。また、生成情報等のカスタマイズ用のデータは、マークアップ言語で記述されなくてもよく、他の形式（例えば複合機１００のベンダ独自の形式）で記述されてもよい。例えば、スクリプトのようなテキスト形式のデータに代えて、バイナリ形式のデータが採用されてもよい。
【０１６２】
（６）生成情報等のカスタマイズ用の情報の格納位置を示す位置情報は、ファイルシステムで利用されるパス名でなくてもよく、他の情報（例えば記憶装置上のメモリアドレス）であってもよい。
【０１６３】
（７）カスタマイズの対象の画像処理は、上記のスキャン処理に代えて、他の画像処理であってもよい。例えば、図１１のＳ１１６５のスキャン処理と、図１９のＳ１１６７のスキャン処理と、の少なくとも一方は、複合機１００に接続された記憶装置（例えば記憶装置１９０又はメモリカード３００）にスキャンデータを格納する処理であってもよい。また、コピー処理がカスタマイズの対象であってもよい。
【０１６４】
（８）画像処理装置の構成としては、図１の複合機１００の構成に代えて、他の種々の構成を採用可能である。例えば、通信インタフェース１７０が省略されてもよい。この場合、スキャンデータは、記憶装置１９０又はメモリカード３００に格納されてよい。また、制御部１３２ｐは、起動スクリプトを取得不可能である場合に、図１９の処理の代わりに、予め決められた標準のスキャン処理を実行してもよい。また、記憶装置１９０の代わりに記憶装置１３０にスクリプトが格納され、記憶装置１９０が省略されてもよい。また、スクリプトが検索される記憶装置は、内部記憶装置と外部記憶装置とのうちの予め決められた一方のみであってもよい。内部記憶装置が検索対象である場合には、装置インタフェース１６０が省略されてもよい。また、スキャナ部１８０及びプリンタ部１８５のうちのいずれか一方が省略されてもよい。また、ネットワークを介して互いに通信可能な複数個の装置（例えば複数個のコンピュータ）が、画像処理装置の機能を一部ずつ分担して実行可能であってもよい。この場合、複数個の装置の全体として、画像処理装置の機能が提供されてもよい。即ち、本変形例では、複数個の装置を備えるシステムが、「画像処理装置」の一例である。
【０１６５】
（９）上記の実施例において、ハードウェアによって実現されていた構成のうちの少なくとも一部をソフトウェアによって実現してもよいし、逆に、ソフトウェアによって実現されていた構成のうちの少なくとも一部をハードウェアによって実現してもよい。例えば、図１のプログラム１３２，１３４によって実現される機能のうちの少なくとも一部を、論理回路を有する専用のハードウェア回路によって実現してもよい。
【０１６６】
（１０）複合機１００の機能がコンピュータプログラムによって実現される場合には、当該プログラムは、コンピュータ読取可能記録媒体（例えば一時的ではない記録媒体）に格納された状態で提供されてもよい。コンピュータ読取可能記録媒体は、メモリカード、ＣＤ−ＲＯＭ等の携帯型の記録媒体に限られず、コンピュータ内の内部記憶装置であってもよいし、ハードディスクドライブ等の外部記憶装置であってもよい。
【０１６７】
（対応関係）
図１１の処理が実行される状態、図１９の処理が実行される状態が、それぞれ、「接続状態」、「非接続状態」の一例である。図９のメニュー画面が、「第１の項目選択画面」及び「第２の項目選択画面」の一例である。アイコン画像８２が、「第１の項目画像」及び「第２の項目画像」の一例である。サーバ５００と連携した「ＳＣＡＮ  ｔｏ  Ｅ−ｍａｉｌ」機能、「ＳＣＡＮ  ｔｏ  ＰＣ」機能が、それぞれ、「第１の機能」、「第２の機能」の一例である。メモリカード３００に格納されているスクリプトＳＣ１，ＳＣ２，ＳＣ４が、「第１のプログラム制御データ」の一例であり、それらのスクリプトＳＣ１等のうち、画面のスタイルを定義する部分（例えばＳＣ２内の「screen title」）、テキスト及び画像を定義する部分（例えばＳＣ２内の「button label="start"」）が、それぞれ、「第１の画面構成データ」、「第１の情報データ」の一例である。サーバ５００、図１９のスクリプトＳＣ２が、それぞれ、「外部サーバ」、「画面表示データ」の一例である。図１８（Ａ）の画面Ｄ１２が、「第１の機能に関係する機能関係画面」及び「第２の機能に関係する機能関係画面」の一例である。
【０１６８】
（第３実施例）
本実施例では、記憶装置１３０内の情報データＩＤ１（図２参照）は、図２６に示されるアイコンデータと、図２７に示されるアイコンデータと、を含む。図２６の複数個のアイコンデータは、複合機１００が実行可能な複数個の基本機能に対応する。当該複数個のアイコンデータのそれぞれは、対応する基本機能を示す動作図柄（即ち、原稿の図柄、スキャナ装置の図柄、ＦＡＸ装置の図柄、印刷装置の図柄）と、色オプションを示す色図柄（即ち、「Ｃ／Ｍ」、「Ｃ」、「Ｍ」）と、の組み合わせを表わす。
【０１６９】
図２７の複数個のアイコンデータは、スキャンデータの複数個の宛先に対応する。当該複数個のアイコンデータのそれぞれは、対応する宛先をユーザに認識させるための宛先（即ち、ＵＳＢメモリの図柄、クラウドをイメージさせる図柄、ＦＴＰをイメージさせる図柄、電子メールをイメージさせる図柄、ＰＣをイメージさせる図柄）を表わす。
【０１７０】
（電源ＯＮ時の処理）
複合機１００の電源がＯＮされると、プロセッサ１１０は、以下の処理を実行する。即ち、プロセッサ１１０は、記憶装置１９０又はメモリカード３００が接続されていない場合に、図２６の複数個のアイコンデータを利用して、図９の画面を表示部１４０に表示させる。具体的には、プロセッサ１１０は、４個の基本機能に対応する４個のアイコンデータを利用して、色オプションを示す色図柄が除外された各アイコン画像８１〜８４を表わす画面データを生成し、当該画面データを表示部１４０に供給する。特に、プロセッサ１１０は、各アイコン画像８１〜８４の近傍に各基本機能の名称を示す各名称画像が配置されるように、当該画面データを生成する。この結果、図９のメニュー画面が表示部１４０に表示される。
【０１７１】
また、プロセッサ１１０は、記憶装置１９０又はメモリカード３００が接続されており、当該記憶領域１９０又は３００に制御データ（例えば図３のＣＤ２，ＣＤ３）が格納されている場合に、当該制御データ（以下では「対象制御データ」と呼ぶ）に従って、図９の画面とは異なる画面を表示部１４０に表示させる。特に、本実施例では、対象制御データが、メニュー画面に追加されるべきアイコン画像を表わす情報データを指定していないことを想定している。そして、プロセッサ１１０は、対象制御データを解析して、対象制御データによって指定される機能（以下では「カスタム機能」と呼ぶ）を示すアイコン画像を含むメニュー画面を表示部１４０に表示させることができる。
【０１７２】
具体的には、プロセッサ１１０は、まず、対象制御データを解析して、対象制御データによって指定される基本機能（以下では「対象基本機能」と呼ぶ）を特定する。例えば、対象制御データがスクリプトＳＣ１，ＳＣ２，ＳＣ４，ＳＣ５（図１３等参照）を含む又は指定している場合には、プロセッサ１１０は、スクリプトＳＣ１，ＳＣ２，ＳＣ４，ＳＣ５を順次解析して、スクリプトＳＣ４（図１６参照）に含まれるスキャンタグ（即ち<scan>）を見つけることができる。この場合、プロセッサ１１０は、対象基本機能がスキャン機能であると特定する。また、プロセッサ１１０は、対象制御データがＦＡＸタグ（即ち<FAX>）を含む場合には、対象基本機能がＦＡＸ機能であると特定し、対象制御データがコピータグ（即ち<copy>）を含む場合には、対象基本機能がコピー機能であると特定し、対象制御データがプリントタグ（即ち<print>）を含む場合には、対象基本機能が印刷機能であると特定する。
【０１７３】
次いで、プロセッサ１１０は、対象制御データによって指定される色オプション（以下では「対象色オプション」と呼ぶ）を特定する。例えば、プロセッサ１１０は、スクリプトＳＣ２（図１４参照）に含まれるカラーモードを示す要素「ColorMode」を見つけることができ、当該要素に記述されている文字列が「Color」及び「Mono」の双方を含むことを知ることができる。この場合、プロセッサ１１０は、対象色オプションがカラー及びモノクロの双方であると特定する。また、プロセッサ１１０は、当該文字列が「Color」のみを含む場合には、対象色オプションがカラーのみであると特定し、当該文字列が「Mono」のみを含む場合には、対象色オプションがモノクロのみであると特定する。
【０１７４】
次いで、プロセッサ１１０は、対象基本機能がスキャン機能である場合には、さらに、対象制御データによって指定される宛先オプション（以下では「対象宛先オプション」と呼ぶ）を特定する。例えば、プロセッサ１１０は、スクリプトＳＣ５に含まれる宛先を示す要素「send_host」を見つけることができる。この場合、プロセッサ１１０は、対象宛先オプションがＰＣ又はＦＴＰサーバであると特定する。そして、プロセッサ１１０は、当該要素に記述されている名称が複合機１００に予め登録されているＰＣのホスト名に一致する場合には、対象宛先オプションがＰＣであると特定し、一致しない場合には、対象宛先オプションがＦＴＰサーバであると特定する。また、例えば、対象制御データが図２０のスクリプトＳＣ６を含む又は指定している場合には、プロセッサ１１０は、スクリプトＳＣ６を解析して、スクリプトＳＣ６に含まれる宛先を示す要素「send_address」を見つけることができる。この場合、プロセッサ１１０は、対象宛先オプションが「Ｅ−Ｍａｉｌ」であると特定する。また、プロセッサ１１０は、対象制御データが要素「send_URL」を含む場合には、対象宛先オプションがクラウドであると特定し、対象制御データが要素「send_USB」を含む場合には、対象宛先オプションがＵＳＢであると特定する。
【０１７５】
なお、変形例では、対象制御データは、スキャンデータを送信するための通信プロトコルを示す要素を含んでいてもよい。この場合、プロセッサは、当該通信プロトコルに基づいて、対象宛先オプションを特定してもよい。
【０１７６】
上述したように、プロセッサ１１０は、対象基本機能と対象色オプションと対象宛先オプションとの組合せを特定することによって、カスタム機能を特定することができる。次いで、プロセッサ１１０は、図２６の複数個のアイコンデータの中から、対象基本機能と対象色オプションとの組合せに対応する１個のアイコンデータを選択する。そして、プロセッサ１１０は、図９の各アイコン画像８１〜８４と、選択済のアイコンデータによって表わされるアイコン画像（以下では「カスタムアイコン画像」と呼ぶ）と、を表わす画面データを生成し、当該画面データを表示部１４０に供給する。特に、プロセッサ１１０は、各アイコン画像の近傍に各基本機能の名称を示す各名称画像が配置され、かつ、カスタムアイコン画像の近傍に対象基本機能の名称及び対象宛先オプションの名称の組合せを示す名称画像が配置されるように、当該画面データを生成する。さらに、プロセッサ１１０は、カスタムアイコン画像の近傍にカスタムアイコン画像であることを示すマークが配置されるように、当該画面データを生成する。さらに、プロセッサ１１０は、各アイコン画像８１〜８４のうち、対象基本機能に対応するアイコン画像と、カスタムアイコン画像と、が隣接して配置されるように、当該画面データを生成する。この結果、例えば、図２９のメニュー画面が表示部１４０に表示される。
【０１７７】
図２９のメニュー画面は、対象基本機能がスキャン機能であり、対象色オプションがカラーのみであり、対象宛先オプションがＦＴＰである場合に表示される画面の一例を示す。カスタムアイコン画像８５は、対象基本機能がスキャン機能であり、かつ、対象色オプションがカラーであることを示す。カスタムアイコン画像８５は、対象色オプションがカラーであることを示すマーク「Ｃ」を含む。即ち、このマークは、「ＳＣＡＮ  ｔｏ  ＦＴＰ」機能の実行時に複合機１００によって利用されるべき機能実行条件（即ちスキャン条件）を示す。従って、ユーザは、カスタムアイコン画像８５を見れば、機能実行条件を容易に知ることができる。また、カスタムアイコン画像８５の近傍には、対象基本機能の名称及び対象宛先オプションの名称の組合せである「ＳＣＡＮ  ｔｏ  ＦＴＰ」を示す名称画像が配置されている。従って、ユーザは、名称画像を見れば、カスタムアイコン画像８５がどの機能に対応するのかを容易に知ることができる。また、カスタムアイコン画像８５の近傍には、カスタムアイコン画像であることを示すマーク９１が配置されている。従って、ユーザは、マーク９１を見れば、アイコン画像８５がカスタマイズされた機能に対応することを容易に知ることができる。また、対象基本機能であるスキャン機能に対応するアイコン画像８２と、カスタムアイコン画像８５と、が隣接して配置されている。従って、ユーザは、同じ基本機能に対応する２個のアイコン画像８２，８５と、他の基本機能に対応する他のアイコン画像８１等と、を容易に区別することができる。
【０１７８】
（図９のメニュー画面でアイコン画像が選択される場合の処理）
例えば、図９のメニュー画面でアイコン画像８２が選択されると、プロセッサ１１０は、図１０（Ａ）の画面に代えて、図２７の複数個のアイコンデータを利用して、図２８の画面から画像９０，９１が除外されたオプション選択画面、即ち、アイコン画像８６〜８９，９５を含むオプション選択画面を表示させる。そして、プロセッサ１１０は、いずれかのアイコン画像８６〜８９，９５が選択される場合には、対応するアプリケーションを起動して、スキャン処理を実行する。例えば、プロセッサ１１０は、アイコン画像９５が選択される場合には、アプリケーションＡＰ１を起動して、「ＳＣＡＮ  ｔｏ  ＰＣ」機能を実現し、アイコン画像８９が選択される場合には、アプリケーションＡＰ２を起動して、「ＳＣＡＮ  ｔｏ  ＦＴＰ」機能を実行する。また、プロセッサ１１０は、他のアイコン画像８６等が選択される場合には、対応するアプリケーション（図示省略）を起動して、対応する機能を実行する。
【０１７９】
（図２９のメニュー画面でアイコン画像が選択される場合の処理）
本実施例では、対象制御データは、図１０（Ｄ）の画面Ｄ４と同様の画面（以下では「特定画面」と呼ぶ）を表わす情報データ（例えば図３のＩＤ２ｂ）を指定している。特定画面は、スキャンデータの宛先として「Ａ＆Ｂ」の代わりに「ＦＴＰ」が利用される点を除くと、画面Ｄ４と同様である。従って、プロセッサ１１０は、図２９のメニュー画面でカスタムアイコン画像９０が選択されると、アプリケーションＡＰ２を起動して、「ＳＣＡＮ  ｔｏ  ＦＴＰ」機能を実行し、さらに、特定画面を表示部１４０に表示させる。
【０１８０】
また、例えば、図２９のメニュー画面でアイコン画像８２が選択されると、プロセッサ１１０は、図１０（Ａ）の画面に代えて、図２７の複数個のアイコンデータを利用して、図２８のオプション選択画面、即ち、アイコン画像８６〜９０，９５を含むオプション選択画面を表示させる。図２８のオプション選択画面は、対象基本機能がスキャン機能であり、対象宛先オプションがＦＴＰである場合に表示される。プロセッサ１１０は、対象宛先オプションがＦＴＰであるので、図２９の複数個のアイコンデータの中から、ＦＴＰに対応する１個のアイコンデータを選択する。そして、プロセッサ１１０は、図２８の複数個のアイコンデータによって表わされる５個のアイコン画像８６〜８９，９５と、選択済みのアイコンデータによって表わされるアイコン画像９０（以下では「カスタムアイコン画像」と呼ぶ）と、を表わす画面データを生成し、当該画面データを表示部１４０に供給する。
【０１８１】
特に、プロセッサ１１０は、各アイコン画像８６〜９１，９５の近傍に各宛先の名称を示す各名称画像が配置され、かつ、カスタムアイコン画像９０の近傍に対象宛先オプションの名称「ＳＣＡＮ  ｔｏ  ＦＴＰ」を示す名称画像が配置されるように、当該画面データを生成する。従って、ユーザは、名称画像を見れば、カスタムアイコン画像９０がどの機能に対応するのかを容易に知ることができる。さらに、プロセッサ１１０は、カスタムアイコン画像９０の近傍にカスタムアイコン画像であることを示すマーク９１が配置されるように、当該画面データを生成する。従って、ユーザは、マーク９１を見れば、アイコン画像９０がカスタマイズされた機能に対応することを容易に知ることができる。当該マーク９１は、図２９のマーク９１と同じである。従って、ユーザは、図２９の画面内のアイコン画像８５と、図２８の画面内のアイコン画像９０と、がカスタマイズされた同じ機能（即ち「ＳＣＡＮ  ｔｏ  ＦＴＰ」機能）であることを容易に知ることができる。さらに、プロセッサ１１０は、対象宛先オプションに対応するアイコン画像８９と、カスタムアイコン画像９０と、が隣接して配置されるように、当該画面データを生成する。従って、ユーザは、同じ宛先オプションに対応する２個のアイコン画像８９，９０と、他の宛先オプションに対応する他のアイコン画像８６等と、を容易に区別することができる。
【０１８２】
そして、プロセッサ１１０は、いずれかのアイコン画像８６〜９０，９５が選択される場合には、対応するアプリケーションを起動して、スキャン処理を実行する。また、プロセッサ１１０は、カスタムアイコン画像９０が選択されると、アプリケーションＡＰ２を起動して、「ＳＣＡＮ  ｔｏ  ＦＴＰ」機能を実行し、さらに、特定画面を表示部１４０に表示させる。
【０１８３】
（変形例）
（１）カスタム機能は、「ＳＣＡＮ  ｔｏ  ＦＴＰ」機能に限定されず、他の機能（例えば「ＳＣＡＮ  ｔｏ  ＵＳＢ」機能）であってもよい。また、カスタム機能は、スキャン機能とは異なる基本機能を含んでいてもよい。例えば、対象制御データによって指定されるカスタム機能がカラーコピー機能である場合には、プロセッサ１１０は、図３０（Ｂ）に示されるように、カスタムアイコン画像９３を含むメニュー画面を表示部１４０に表示させてもよい。
【０１８４】
（２）また、対象制御データによって指定されるカスタム機能が、「ＳＣＡＮ  ｔｏ  ＦＴＰ」機能とカラーコピー機能との双方を指定している場合には、プロセッサ１１０は、図２９のメニュー画面と図３０（Ｂ）のメニュー画面とを交互に表示させてもよい。
【０１８５】
（３）カスタム機能に含まれる基本機能の数は１個に限定されない。例えば、対象制御データによって指定されるカスタム機能は、順次実行されるべきコピー機能及びスキャン機能を含んでいてもよい。この場合、プロセッサ１１０は、図３０（Ａ）に示されるように、カスタムアイコン画像９２を含むメニュー画面を表示部１４０に表示させてもよい。カスタムアイコン画像９２は、コピー機能に対応するアイコン画像８１と、スキャン機能に対応するアイコン画像８２と、の組合せに相当する。カスタムアイコン画像９２は、各アイコン画像８１，８２が重ねられたものであるが、これに代えて、各アイコン画像８１，８２が重ならないように隣接しているものであってもよい。
【０１８６】
（４）プロセッサ１１０は、図３１（Ａ）のメニュー画面１を表示部１４０に表示させてもよい。そして、プロセッサ１１０は、アイコン画像９４が選択される場合に、対象制御データによって指定される１個以上のカスタム機能を特定し、１個以上のカスタム機能に対応する１個以上のカスタムアイコン画像８５，９２，９３を含むメニュー画面２（図３１（Ｂ）参照）を表示部１４０に表示させてもよい。
【０１８７】
（対応関係）
図２６の複数個のアイコンデータが、「Ｎ１個の情報データ」の一例である。図９のメニュー画面、図２９のメニュー画面、図２８のオプション選択画面が、それぞれ、「第１の項目選択画面」、「第２の項目選択画面」、「第３の項目選択画面」の一例である。図２９のカスタムアイコン画像８５、アイコン画像８２、図２８のカスタムアイコン画像９０が、それぞれ、「第２の項目画像」、「特定の項目画像」、「第４の項目画像」の一例である。図２９のカスタムアイコン画像８５に含まれるマーク「Ｃ」、マーク９１が、それぞれ、「機能実行条件を示すマーク」、「同じ機能に対応することを示すマーク」の一例である。特定画面（即ち図１０（Ｄ）において宛先として「ＦＴＰ」を示す画面）が、「第２の機能に関係する機能関係画面」の一例である。
【０１８８】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。
【０１８９】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
以下は、本出願時に特許請求の範囲に記載されていた事項である。
（項目１）
画像処理装置であって、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記制御部は、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動部と、
第１のプログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、前記第１のプログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１のプログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動部と、
前記接続状態において、前記第２の項目画像が選択される場合に、前記第１のプログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御部であって、前記第１のプログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御部と、
を備える、画像処理装置。
（項目２）
前記第１のプログラム制御データは、マークアップ言語で記述される、項目１に記載の画像処理装置。
（項目３）
前記第１のプログラム制御データは、前記ユーザによる項目画像の選択に応じて処理を分岐させるスクリプト言語で記述される、項目１又は２に記載の画像形成装置。
（項目４）
前記第１のプログラム制御データは、特定のプログラム制御データの記憶位置を示す位置情報を含み、
前記表示制御部は、前記接続状態において、前記第２の項目画像が選択される場合に、
前記第１のプログラム制御データに含まれる前記位置情報によって示される前記記憶位置から前記特定のプログラム制御データを取得し、
前記特定のプログラム制御データによって指定される前記第１の画面構成データに従った前記第１のスタイルを有すると共に、前記特定のプログラム制御データによって指定される前記第１の情報データに従った前記特定の情報画像を含む前記機能関係画面を前記表示部に表示させる、項目１から３のいずれか一項に記載の画像処理装置。
（項目５）
前記制御部は、さらに、
前記接続状態において、前記表示部に表示される前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像の中から、前記第１のプログラム制御データが利用されない第３の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第３の項目画像に対応する第３の機能を提供するための第３のアプリケーションプログラムを起動させる第３の起動部を備える、項目１から４のいずれか一項に記載の画像処理装置。
（項目６）
前記制御部は、さらに、
前記非接続状態において、前記第１の項目画像が選択される場合に、前記第１のアプリケーションプログラムに従って、外部サーバから画面表示データを取得する取得部を備え、
前記表示制御部は、さらに、前記画面表示データを利用して、前記第１の機能に関係する機能関係画面を前記表示部に表示させる、項目１から５のいずれか一項に記載の画像処理装置。
（項目７）
前記第１の機能は、前記画像処理装置が内部ネットワークに所属している場合に、原稿のスキャンである前記画像処理を実行して、前記スキャンによって得られる第１の画像データを、前記内部ネットワークに接続されている外部ネットワークに所属している第１の装置に送信する処理を含み、
前記第２の機能は、前記画像処理装置が前記内部ネットワークに所属している場合に、原稿のスキャンである前記画像処理を実行して、前記スキャンによって得られる第２の画像データを前記内部ネットワークに所属している第２の装置に送信する処理を含む、項目１から６のいずれか一項に記載の画像処理装置。
（項目８）
前記第２記憶装置は、前記画像処理装置に着脱可能に接続される外部記憶装置である、項目１から７のいずれか一項に記載の画像処理装置。
（項目９）
前記表示制御部は、さらに、前記第１のプログラム制御データを記憶する前記第２記憶装置である前記外部記憶装置と、第２のプログラム制御データを記憶する内部記憶装置と、の双方が前記制御部に接続されている前記接続状態において、前記内部記憶装置に含まれる前記第２のプログラム制御データを利用せずに、前記外部記憶装置に含まれる前記第１のプログラム制御データを優先的に利用して、前記第２の項目選択画面を前記表示部に表示させ、
前記第２の項目選択画面は、前記第１のプログラム制御データによって指定される第２の画面構成データに従った第２のスタイルを有すると共に、前記第１のプログラム制御データによって指定される第２の情報データに従った前記第２の項目画像を含む、項目８に記載の画像処理装置。
（項目１０）
前記表示制御部は、さらに、前記第１のプログラム制御データを記憶する前記第２記憶装置である前記外部記憶装置と、第２のプログラム制御データを記憶する内部記憶装置と、の双方が前記制御部に接続されている前記接続状態において、前記第１のプログラム制御データと前記第２のプログラム制御データとの双方を利用して、前記第２の項目選択画面を前記表示部に表示させ、
前記第２の項目選択画面は、前記第１のプログラム制御データによって指定される前記第２の画面構成データに従った前記第２のスタイルを有すると共に、前記第１のプログラム制御データによって指定される前記第２の情報データに従った前記第２の項目画像と、前記第２のプログラム制御データによって指定される第３の情報データに従った第３の項目画像と、を含む、項目８に記載の画像処理装置。
（項目１１）
前記第２記憶装置は、前記画像処理装置に予め設けられている内部記憶装置である、項目１から７のいずれか一項に記載の画像処理装置。
（項目１２）
前記表示制御部は、さらに、
前記非接続状態において、前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させ、
前記Ｎ２個の項目画像は、前記Ｎ１個の項目画像のうちの１個の項目画像を除く（Ｎ１−１）個の項目画像と、前記１個の項目画像の代替画像である前記第２の項目画像であって、前記第１のプログラム制御データによって指定される第２の情報データに従った前記第２の項目画像と、を含む、項目１から９及び１１のいずれか一項に記載の画像処理装置。
（項目１３）
前記表示制御部は、さらに、
前記非接続状態において、前記複数個の機能のうちのＮ１個の基本機能に対応する前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、前記Ｎ１個の項目画像と、前記Ｎ１個の基本機能のうちの特定の基本機能と特定のオプション機能との組合せである前記第２の機能に対応する前記第２の項目画像と、を含む前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させる、項目１から３のいずれか一項に記載の画像処理装置。
（項目１４）
前記表示制御部は、さらに、前記接続状態において、前記表示部に表示される前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像の中から、前記第１のプログラム制御データが利用されない特定の項目画像であって、前記特定の基本機能に対応する前記特定の項目画像が前記ユーザによって選択される場合に、複数個のオプション機能に対応する複数個の項目画像を含む第３の項目選択画面を前記表示部に表示させ、
前記第３の項目選択画面に含まれる前記複数個の項目画像は、前記特定の基本機能と前記特定のオプション機能との組合せである前記第２の機能に対応する第４の項目画像を含み、
前記第２の項目選択画面に含まれる前記第２の項目画像と、前記第３の項目選択画面に含まれる前記第４の項目画像と、のそれぞれは、同じ機能に対応することを示すマークを含む、項目１３に記載の画像形成装置。
（項目１５）
前記表示制御部は、さらに、前記接続状態において、前記表示部に表示される前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像の中から、前記第１のプログラム制御データが利用されない特定の項目画像であって、前記特定の基本機能に対応する前記特定の項目画像が前記ユーザによって選択される場合に、複数個のオプション機能に対応する複数個の項目画像を含む第３の項目選択画面を前記表示部に表示させ、
前記第３の項目選択画面に含まれる前記複数個の項目画像は、前記特定の基本機能と前記特定のオプション機能との組合せである前記第２の機能に対応する第４の項目画像を含み、
前記表示制御部は、さらに、前記接続状態において、前記第４の項目画像が選択される場合に、前記第１のプログラム制御データに従って、前記第２の機能に関係する前記機能関係画面を前記表示部に表示させる、項目１３又は１４に記載の画像処理装置。
（項目１６）
前記第１記憶装置は、前記複数個の機能のうちのＮ１個の基本機能に対応する前記Ｎ１個の項目画像を表わすＮ１個の情報データを少なくとも記憶しており、
前記制御部は、さらに、
前記接続状態において、前記第１のプログラム制御データが前記第２の項目選択画面に表示されるべき項目画像を表わす情報データを指定していない場合に、前記第１のプログラム制御データによって指定される前記第２の機能が前記Ｎ１個の基本機能のうちのいずれの基本機能を含むのかを解析する解析部を備え、
前記表示制御部は、さらに、
前記非接続状態において、前記第１記憶装置に記憶されている前記Ｎ１個の情報データを利用して、前記Ｎ１個の項目画像を含む前記第１の項目選択画面を前記表示部に表示させ、
前記接続状態において、前記第１のプログラム制御データが前記第２の項目選択画面に表示されるべき項目画像を表わす情報データを指定していない場合に、前記第１記憶装置に記憶されている前記Ｎ１個の情報データを利用して、前記Ｎ１個の項目画像と、前記解析で特定される基本機能に対応する前記第２の項目画像と、を含む前記Ｎ２個の項目画像を含む前記第２の項目選択画面を前記表示部に表示させる、項目１から３及び１３から１５のいずれか一項に記載の画像処理装置。
（項目１７）
前記第２の機能は、特定の基本機能と特定のオプション機能との組合せに対応し、
前記第２の項目選択画面に含まれる前記第２の項目画像は、さらに、前記特定の基本機能の実行時に利用されるべき機能実行条件を示すマークを含む、項目１から３及び１３から１６のいずれか一項に記載の画像処理装置。
（項目１８）
前記第２の項目選択画面に含まれる前記Ｎ２個の項目画像は、前記複数個の機能のうちの２個以上の基本機能に対応する２個以上の項目画像と、前記２個以上の基本機能のうちの特定の基本機能と特定のオプション機能との組合せである前記第２の機能に対応する前記第２の項目画像と、を含み、
前記表示制御部は、前記特定の基本機能に対応する特定の項目画像と前記第２の項目画像とが隣接して配置されるように、前記第２の項目選択画面を前記表示部に表示させる、項目１から３及び１３から１７のいずれかに記載の画像形成装置。
（項目１９）
前記表示制御部は、前記第２の項目画像の近傍に前記第２の機能を示す名称画像が配置されるように、前記第２の項目選択画面を前記表示部に表示させる、項目１から１８のいずれかに記載の画像形成装置。
（項目２０）
画像処理装置のためのコンピュータプログラムであって、
前記画像処理装置は、
表示部と、
画像処理に関係する複数個の機能を提供するための複数個のアプリケーションプログラムを記憶する第１記憶装置と、
制御部と、を備え、
前記コンピュータプログラムは、前記制御部に、以下の各処理、即ち、
プログラム制御データを記憶する記憶装置が前記制御部に接続されていない非接続状態において、前記表示部に表示される第１の項目選択画面に含まれるＮ１個（前記Ｎ１は１以上の整数）の項目画像の中から第１の項目画像がユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１の項目画像に対応する第１の機能を提供するための第１のアプリケーションプログラムを起動させる第１の起動処理と、
第１のプログラム制御データを記憶する第２記憶装置が前記制御部に接続されている接続状態において、前記表示部に表示される第２の項目選択画面に含まれるＮ２個（前記Ｎ２は１以上の整数）の項目画像の中から、前記第１のプログラム制御データが利用されるべき第２の項目画像が前記ユーザによって選択される場合に、前記複数個のアプリケーションプログラムのうち、前記第１のプログラム制御データによって指定される第２の機能であって、前記第１の機能とは異なる前記第２の機能を提供するための第２のアプリケーションプログラムを起動させる第２の起動処理と、
前記接続状態において、前記第２の項目画像が選択される場合に、前記第１のプログラム制御データに従って、前記第２の機能に関係する機能関係画面を前記表示部に表示させる表示制御処理であって、前記第１のプログラム制御データが第１の画面構成データと第１の情報データとを指定している場合に、前記機能関係画面は、前記第１の画面構成データに従った第１のスタイルを有すると共に、前記第１の情報データに従った特定の情報画像を含む、前記表示制御処理と、
を実行させるコンピュータプログラム。
【符号の説明】
【０１９０】
ＡＰ，ＡＰ１〜ＡＰ４：アプリケーションプログラム、Ｂ２１〜Ｂ２３，Ｂ４１〜Ｂ４３：ボタン、ＣＤ１〜ＣＤ３：制御データ、ＳＤ１〜ＳＤ３：画面構成データ、ＩＤ１〜ＩＤ３：情報データ、Ｄ１〜Ｄ７，Ｄ１２〜Ｄ１５：画面、ＧＮＴ：外部ネットワーク、ＬＮＴ：内部ネットワーク、ＳＣ，ＳＣ１，ＳＣ２，ＳＣ４〜ＳＣ７，ＳＣｖ２：スクリプト、ＳＣ３：操作情報、６１０〜６５０：項目、８１〜９５：アイコン画像、１００：複合機、１１０：プロセッサ、１２０：揮発性記憶装置、１３０：第１不揮発性記憶装置、１４０：表示部、１５０：操作部、１６０：装置インタフェース、１７０：通信インタフェース、１８０：スキャナ部、１８５：プリンタ部、１９０：第２不揮発性記憶装置、３００：メモリカード、５００，５０５：サーバ、５３０：中継装置、６１０〜６３０，７１０，７２０：項目、６４０〜６７０：ボタン
【図１】
0006651802.tif 000002
【図２】
0006651802.tif 000003
【図３】
0006651802.tif 000004
【図４】
0006651802.tif 000005
【図５】
0006651802.tif 000006
【図６】
0006651802.tif 000007
【図７】
0006651802.tif 000008
【図８】
0006651802.tif 000009
【図９】
0006651802.tif 000010
【図１０】
0006651802.tif 000011
【図１１】
0006651802.tif 000012
【図１２】
0006651802.tif 000013
【図１３】
0006651802.tif 000014
【図１４】
0006651802.tif 000015
【図１５】
0006651802.tif 000016
【図１６】
0006651802.tif 000017
【図１７】
0006651802.tif 000018
【図１８】
0006651802.tif 000019
【図１９】
0006651802.tif 000020
【図２０】
0006651802.tif 000021
【図２１】
0006651802.tif 000022
【図２２】
0006651802.tif 000023
【図２３】
0006651802.tif 000024
【図２４】
0006651802.tif 000025
【図２５】
0006651802.tif 000026
【図２６】
0006651802.tif 000027
【図２７】
0006651802.tif 000028
【図２８】
0006651802.tif 000029
【図２９】
0006651802.tif 000030
【図３０】
0006651802.tif 000031
【図３１】
0006651802.tif 000032