JP2020197986A - コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法 - Google Patents

コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法 Download PDF

Info

Publication number
JP2020197986A
JP2020197986A JP2019104641A JP2019104641A JP2020197986A JP 2020197986 A JP2020197986 A JP 2020197986A JP 2019104641 A JP2019104641 A JP 2019104641A JP 2019104641 A JP2019104641 A JP 2019104641A JP 2020197986 A JP2020197986 A JP 2020197986A
Authority
JP
Japan
Prior art keywords
character string
material data
target
program code
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019104641A
Other languages
English (en)
Inventor
孝尚 和田
Takahisa Wada
孝尚 和田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GREE Inc
Original Assignee
GREE Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GREE Inc filed Critical GREE Inc
Priority to JP2019104641A priority Critical patent/JP2020197986A/ja
Publication of JP2020197986A publication Critical patent/JP2020197986A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】プログラムコードの作成を支援する、コンピュータプログラム、サーバ装置、端末装置及び表示方法を提供する。【解決手段】一実施形態に係るコンピュータプログラムは、プロセッサ(21・31)により実行されることにより、ファイル内で検索された、画像に係る対象文字列を取得し、文字列と素材データが格納される位置に係る情報との関係に係るルールと、前記対象文字列とを用いて、前記対象文字列に対応する対象素材データを特定し、文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、ように前記プロセッサを機能させる、ものである。【選択図】 図3

Description

本件出願に開示された技術は、プログラムコードを生成する、コンピュータプログラム、サーバ装置、端末装置及び方法に関する。
アプリケーション上の画面のデザインは、ゲームをはじめとした種々のアプリケーションにおいて、人々の興味を引く重要な要素である。そのため、アプリケーションで表示される画面のコンセプトやデザインは、デザインを本職とするデザイナーにより作成されることが多い。しかし、かかる画面はアプリケーションの画面ではないため、次にプログラマーが、かかるデザイナーにより作成されたデザインを参考として、アプリケーションの画面を作成することになる。
特開2006−107025号公報 特開2011−258092号公報
"A Photoshop PSD file for NodesJS and browsers"、[online]、2018年8月7日、Ryan LeFevre、[2019年2月20日検索]、インターネット(https://github.com/meltingice/psd.js)
このような手法は、デザインを本職とする専門家により洗練されたデザインを、実際のアプリケーションにおいて実現する手法として利点があるものの、発明者は、かかる手法には、アプリケーション作成者であるプログラマー(本願書類において、「利用者」ということもある)の負担が多いと考えた。すなわち、発明者は、デザイナーによって画面のデザインが存在するにも拘らず、アプリケーション上において、再度類似の画面をプログラムすることは非効率的であると考えた。
特許文献1に記載された技術は、処理に要する時間を短縮することを目的として、ソースコードの差分に着目する技術である。また、特許文献2に記載された技術は、論理記述の差分の抽出の対象はハードウェア記述言語の設計に限定される技術である。非特許文献1は、PSDファイルパーサーを開示している。
なお、上記特許文献1及び2と非特許文献1は、引用によりその全体が本明細書に組み入れられる。
したがって、本件出願において開示された幾つかの実施形態は、プログラムコードの作成を支援する、コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法を提供する。
一態様に係るコンピュータプログラムは、プロセッサにより実行されることにより、ファイル内で検索された、画像に係る対象文字列を取得し、文字列と素材データが格納される位置に係る情報との関係に係るルールと、前記対象文字列とを用いて、前記対象文字列に対応する対象素材データを特定し、文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、
ように前記プロセッサを機能させる、ものである。
一態様に係るプログラムコードの生成方法は、コンピュータにより読み取り可能な命令を実行するプロセッサにより実行されるプログラムコードの生成方法であって、該プロセッサが、前記命令を実行することにより、ファイル内で検索された、画像に係る対象文字列を取得し、文字列と素材データが格納される位置に係る情報との関係に係るルールと前記対象文字列を用いて、前記対象文字列に対応する対象素材データを特定し、文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、ものである。
一態様に係るサーバ装置は、プロセッサを具備し、該プロセッサが、コンピュータにより読み取り可能な命令を実行することにより、ファイル内で検索された、画像に係る対象文字列を取得し、文字列と素材データが格納される位置に係る情報との関係に係るルールと前記対象文字列を用いて、前記対象文字列に対応する対象素材データを特定し、文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、ものである。
一態様に係る方法は、コンピュータにより読み取り可能な命令を実行するプロセッサにより実行される方法であって、該プロセッサが、前記命令を実行することにより、ファイル内で検索された、画像に係る対象文字列を取得し、文字列と素材データが格納される位置に係る情報との関係に係るルールと前記対象文字列を用いて、前記対象文字列に対応する対象素材データを特定し、文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、ものである。
一態様に係る端末装置は、プロセッサを具備し、該プロセッサが、コンピュータにより読み取り可能な命令を実行することにより、ファイル内で検索された、画像に係る対象文字列を取得し、文字列と素材データが格納される位置に係る情報との関係に係るルールと前記対象文字列を用いて、前記対象文字列に対応する対象素材データを特定し、文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、ものである。
図1は、一実施形態に係るシステムの構成の一例を示すブロック図である。 図2は、図1に示したサーバ装置20(端末装置30)のハードウェア構成の一例を模式的に示すブロック図である。 図3は、一実施形態に係るシステムの機能の一例を模式的に示すブロック図である。 図4は、一実施形態に係るシステムが受け付けるファイルの一例の一部である。 図5は、一実施形態に係るシステムが有するデータ構造の一例である。 図6は、一実施形態に係るシステムが有するデータ構造の一例である。 図7は、一実施形態に係るシステムが有するデータ構造の一例である。 図8は、一実施形態に係るシステムが有するデータ構造の一例である。 図9は、一実施形態に係るシステムが有するデータ構造の一例である。 図10は、一実施形態に係るシステムが生成した画面の一例である。 図11は、一実施形態に係るシステムが処理するフローの一例である。
以下、添付図面を参照して本発明の様々な実施形態を説明する。なお、図面において共通した構成要素には同一の参照符号が付されている。また、或る図面に表現された構成要素が、説明の便宜上、別の図面においては省略されていることがある点に留意されたい。さらにまた、添付した図面は、本願発明の一実施形態を開示するものではあるものの、必ずしも正確な縮尺で記載されている訳ではないということに注意されたい。
1.システムの例
図1は、一実施形態に係るシステムの構成の一例を示すブロック図である。図1に示すように、システム1は、通信網10に接続される1又はそれ以上のサーバ装置20と、通信網10に接続される1又はそれ以上の端末装置30と、を含んでよい。なお、図1には、サーバ装置20の例として、3つのサーバ装置20A〜20Cが例示され、端末装置30の例として、3つの端末装置30A〜30Cが例示されているが、サーバ装置20として、これら以外の1又はそれ以上のサーバ装置20が通信網10に接続され得るし、端末装置30として、これら以外の1又はそれ以上の端末装置30が通信網10に接続され得る。なお、本出願書類において、システムという用語を、サーバと端末装置の両方を含む場合もあれば、サーバのみ、又は、端末装置のみ、を示す用語としても用いる。すなわち、システムは、サ―バのみ、端末装置のみ、サーバ及び端末装置の両方、のいずれの態様であってもよい。
また、システムは、クラウド上の情報処理装置であってもよい。また、システムは、仮想的な情報処理装置を構成するものであって、論理的に一の情報処理装置と構成されるものであってもよい。また、システムの所有者と管理者は異なってもよい。
通信網10は、携帯電話網、無線LAN、固定電話網、インターネット、イントラネット、イーサネット(登録商標)、及び/又はこれらの組み合わせ等であってよく、また、これらに限定されない。
サーバ装置20は、インストールされた特定のアプリケーションを実行することにより、ファイルに対応するプログラムコードの生成という動作等を実行できてよい。或いはまた、端末装置30は、インストールされたウェブブラウザを実行することにより、サーバ装置20からウェブページを受信及び表示して、プログラムコードの生成という動作等を実行できてよい。
端末装置30は、このような動作を実行することができる任意の端末装置であって、スマートフォン、タブレット、携帯電話(フィーチャーフォン)及び/又はパーソナルコンピュータ等であってよく、これらに限定されない。
2.各装置のハードウェア構成
次に、サーバ装置20が有するハードウェア構成の一例について説明する。
2−1.サーバ装置20のハードウェア構成
サーバ装置20のハードウェア構成例について図2を参照して説明する。図2は、図1に示したサーバ装置20(端末装置30)のハードウェア構成の一例を模式的に示すブロック図である(なお、図2において、括弧内の参照符号は、後述するように各端末装置30に関連して記載されたものである。)
図2に示すように、サーバ装置20は、主に、演算装置21と、主記憶装置22と、入出力インタフェイス装置23を備えることができる。サーバ装置20は、更に、入力装置24と、補助出力装置26と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されていてよい。
演算装置21は、主記憶装置22に記憶されている命令及びデータを用いて演算を行い、その演算の結果を主記憶装置22に記憶させるものである。さらに、演算装置21は、入出力インタフェイス装置23を介して、入力装置24、補助記憶装置25及び出力装置26等を制御することができる。サーバ装置20は、1以上の演算装置21を含んでよい。演算装置21は、1又はそれ以上のマイクロプロセッサ、及び/又は、グラフィックスプロセッシングユニット(GPU)を含んでよい。
主記憶装置22は、記憶機能を有し、入力装置24、補助記憶装置25及び通信網10等(サーバ装置20等)から、入出力インタフェイス装置23を介して受信した命令及びデータ、並びに、演算装置21の演算結果を記憶するものである。主記憶装置22は、RAM(ランダムアクセスメモリ)、ROM(リードオンリーメモリ)及び/又はフラッシュメモリ等をこれらに限定することなく含むことができる。
補助記憶装置25は、記憶装置である。上記特定のアプリケーションやウェブブラウザ等を構成する命令及びデータ(コンピュータプログラム)を記憶してよく、演算装置21により制御されることにより、これらの命令及びデータ(コンピュータプログラム)を入出力インタフェイス装置23を介して主記憶装置22にロードされてよい。補助記憶装置25は、磁気ディスク装置及び/又は光ディスク装置、ファイルサーバ等であってよく、これらに限定されない。
入力装置24は、外部からデータを取り込む装置であり、タッチパネル、ボタン、キーボード、マウス及び/又はセンサ等であってよい。
出力装置26は、ディスプレイ装置、タッチパネル及び/又はプリンタ装置等をこれらに限定することなく含むことができてよい。また、入力装置24と出力装置26とが一体化されたものであってもよい。
このようなハードウェア構成にあっては、演算装置21が、補助記憶装置25に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置22にロードし、ロードした命令及びデータを演算することにより、入出力インタフェイス装置23を介して出力装置26を制御し、或いはまた、入出力インタフェイス装置23及び通信網10を介して、他の装置(例えばサーバ装置20及び他の端末装置30等)との間で様々な情報の送受信を行うことができてよい。
サーバ装置20がかかる構成を備え、インストールされた特定のアプリケーションを実行することにより、以下で上述し定義される対象ファイルを取得し、素材データを特定し、プログラムコードを生成する、という動作等(後に詳述する様々な動作を含む)を実行できてよい。また、かかる動作等は、利用者が、入力装置24又は後述する端末装置30に係る入力装置34を用いて、本願書類で開示する発明の一例のシステムに指示を与えることで動作されてよい。また、プログラムが演算装置21上で実行されている場合には利用者の利用するシステムとしてのサーバ装置20の出力装置26によって表示されてよく、又は利用者の利用するシステムとしての端末装置30の出力装置36に表示させる構成であってよい。
2−2.端末装置30のハードウェア構成
端末装置30のハードウェア構成例について同じく図2を参照して説明する。各端末装置30のハードウェア構成としては、例えば、上述した各サーバ装置20のハードウェア構成と同一のものを用いることが可能である。したがって、各端末装置30が有する構成要素に対する参照符号は、図2において括弧内に示されている。
図2に示すように、各端末装置30は、主に、演算装置31と、主記憶装置32と、入出力インタフェイス装置33と、入力装置34と、補助記憶装置35と、出力装置36と、を含むことができる。これら装置同士は、データバス及び/又は制御バスにより接続されている。
演算装置31、主記憶装置32、入出力インタフェイス装置33、入力装置34、補助記憶装置35及び出力装置36は、それぞれ、上述した各サーバ装置20に含まれる、演算装置21、主記憶装置22、入出力インタフェイス装置23、入力装置24、補助記憶装置25及び出力装置26と略同一なものとすることができる。但し、演算装置や記憶装置の容量や能力は、異なっていてよい。
このようなハードウェア構成にあっては、演算装置31が、補助記憶装置35に記憶された特定のアプリケーションを構成する命令及びデータ(コンピュータプログラム)を順次主記憶装置32にロードし、ロードした命令及びデータを演算することにより、入出力インタフェイス装置33を介して出力装置36を制御し、或いはまた、入出力インタフェイス装置33及び通信網10を介して、他の装置(例えば各サーバ装置20等)との間で様々な情報の送受信を行うことができる。
端末装置30がかかる構成を備え、インストールされた特定のアプリケーションを実行することにより、以下で定義される対象ファイルを取得し、素材データを特定し、プログラムコードを生成する、という動作等(後に詳述する様々な動作を含む)を実行できる。また、インストールされたウェブブラウザを実行することにより、サーバ装置20からウェブページを受信及び表示して、同様の動作を実行できる。また、かかる動作等は、利用者が、入力装置34を用いて、本願書類で開示する発明の一例のシステムに指示を与えることで動作されてよい。また、プログラムが演算装置31上で実行されている場合には利用者の利用するシステムとしての端末装置30の出力装置36に表示する構成であってよい。
3.各装置の機能
次に、サーバ装置20及び端末装置30の各々が有する機能の一例について、図3を参考に、説明する。図3は、図1に示したシステムの機能の一例を模式的に示すブロック図である。図3に示すように、一例のシステムは、対象ファイルから情報を取得する取得部41と、素材データを特定する素材データ特定部42と、プログラムコードを生成するプログラムコード生成部43と、画面を生成する表示画面生成部44と、を有してよい。
3.1.取得部41
取得部41は、ファイルから、情報を取得する機能を有する。ファイルは、画像を含む画像ファイルであってもよいし、画像ファイルが変更されて作成されたファイルであってもよい。画像ファイルとしては、例えばPSDファイルが挙げられる。また、画像ファイルが変更されて作成されたファイルとしては、画像ファイルが含まれるファイルであってもよいし、画像ファイル自体は含まず画像の表示方法を示す定義ファイルであってもよい。例えば、JSON(JavaScript Object Notation)ファイルであってよい。JSONファイルは、テキスト形式のファイルであり、JSONファイルのデータ構造では、オブジェクトが、名前と値のペアのセットとして構成が可能である。また、オブジェクトは、階層化された構造を備えることもできる。例えば、図4のようなJSONファイルであってよい。なお、以降ではJSONファイルを中心に説明するが、本願発明に係るファイルは、JSONファイルに限られない。
取得部41は、ファイルから情報を読み込み、記憶してよい。JSONファイルにおいては、オブジェクト内における名前と値のペアについて、名前又は値のうち、画像に係る対象文字列となりうるものがあれば、それらを記憶してよい。取得部41は、名前と値を、関連付けて記憶してよい。なお、取得部41は、JSONファイルにおける全てのオブジェクトについて、名前と値のペアを記憶してもよいし、JSONファイルにおいて画像に係る対象文字列と判定されたもののみについて名前と値のペアを記憶してもよい。前者の場合、例えば、各オブジェクトの位置が相対位置で特定されているなど画像の位置関係を特定するための情報として、画像に係る対象文字列以外の情報を利用できる利点がある。後者の場合、記憶される情報が画像に係る対象文字列に限定されるため、記憶するために必要な容量を少なくできる利点がある。
なお、JSONファイル内のオブジェクトの名前として、頻繁に表れるものがあれば、これらを予約語として設定してもよい。例えば、JSONファイル内のオブジェクトの名前として、例えば、left、right、top、bottom、height、widthなどを予約語としてもよい。その場合、一例のシステムは、JSONファイルを読み込み、オブジェクト内の名前と値のペアについて、名前が既に予約語であるかどうかを判定し、予約語であれば、その予約語に対応する箇所に値を記憶してもよい。一例のシステムは、かかる予約語のテーブルを予め保有しておき、かかるテーブルと照らし合わせることで、予約語であるかどうかの判定をしてよい。一例のシステムがかかる構成を備える場合、名前に対応する情報を記憶する必要がなく、記憶量を削減できる利点がある。
ここでは、ファイルとして、JSONファイルを挙げたが、後述する通り、画像に係る文字列を含むことができるファイルであれば、どのようなものでもよく、例えば、XMLやHTMLなどのファイルであってもよい。本願書類において、これらの取得部41が取得する対象となるファイルを、「対象ファイル」ということもある。
取得部41は、対象ファイルから、画像に係る対象文字列を取得する。画像に係る対象文字列は、画像の表示に係る文字列、画像と関連する文字列に係る文字列、又は、画像の機能に係る文字列、などであってよい。取得部41は、これらの文字列の全部又は一部を記憶してよい。以降では、画像に係る対象文字列として、JSONフォーマットで記述されたファイル内の文字列を例として、説明する。
(画像の表示に係る文字列)
画像の表示に係る文字列は、例えば、画像ファイルを特定する文字列、画像ファイルの表示に係る指示の文字列が挙げられる。前者の画像ファイルを特定する文字列は、例えば、画像ファイル名が挙げられ、“name”:“btn.png”などの文字列が挙げられる。取得部41は、画像ファイルを特定する文字列であるかどうかを、対象ファイルに係る文字列が、拡張子の文字列を含むかどうかの検索により判定してよい。例えば、取得部41が、複数の画像ファイルの拡張子の例のテーブルを有しておき、かかるテーブル内の文字列とのパターンマッチにより、対象ファイルから文字列を検索し、ファイル名を特定してよい。ファイル名の拡張子のテーブルの例としては、例えば、図5のように、“PNG”、“GIF”、“JPEG”、“tif”、“svg”、“svgz”、“EPS”などを有するテーブルであってよい。取得部41は、画像ファイルを特定する文字列として、例えば”name”:”btn.png”を検出した場合、画像ファイルを特定する文字列として、”name”:”btn.png”を記憶してもよいし、ファイル名としての”btn.png”を記憶してもよい。
後者の画像ファイルの表示に係る指示の文字列は、例えば、画像の位置、画像の大きさ、画像の透明性、画像の幅、画像の高さ、などが挙げられる。JSONファイルの形式で説明すれば、例えば、“left”、“right”、“top”、“bottom”、“height”、“width”、などが挙げられる。取得部41は、画像ファイルの表示に係る指示の文字列であるかどうかを、対象ファイルに係る文字列が、画像ファイルの表示に係る指示の文字列を含むかどうかの検索により判定してよい。例えば、取得部41が、画像ファイルの表示に係る指示の文字列の例のテーブルを有しておき、かかるテーブル内の文字列とのパターンマッチにより、対象ファイルから文字列を検索し、画像ファイルの表示に係る指示の文字列を特定してよい。画像ファイルの表示に係る指示の文字列のテーブルの例としては、例えば、図6のように、“left”、“right”、“top”、“bottom”、“height”、“width”等を有するテーブルであってよい。
取得部41は、画像ファイルの表示に係る指示の文字列として、例えば“left”:“170”を検出した場合、画像ファイルの表示に係る指示の文字列として、“left”:“170”を記憶してもよいし、“left”と関連付けた値としての”170”を記憶してもよい。
(画像と関連する文字列に係る文字列)
画像と関連する文字列に係る文字列における画像と関連する文字列は、例えば、画像内や画像の周辺に表示される文字列であってよく、画像と関連する文字列に係る文字列は、かかる画像と関連する文字列に係る文字列が挙げられる。対象ファイル内におけるJSONファイルの例としては、例えば、オブジェクトに対し、”value”:”btn”などにおけるbtnが、画像と関連して表示される文字列の一例であり、画像に関連して表示される文字列に係る文字列の一例は、”value”:”btn”やかかる文字列(btn)の表示に関する書式であってよい。書式は、例えば、フォント、スタイル、文字の大きさ、文字の位置(中央、左寄り、右寄り、上寄り、下寄りなど)、文字飾り(取り消し線、下線、上付き、下付きなど)などが挙げられる。
取得部41は、画像と関連する文字列に係る文字列であるかどうかを、対象ファイルに係る文字列が、画像と関連する文字列に係る文字列を含むかどうかの検索により判定してよい。例えば、取得部41が、画像と関連する文字列に係る文字列のテーブルを有しておき、かかるテーブル内の文字列とのパターンマッチにより、対象ファイルから文字列を検索し、画像と関連する文字列に係る文字列を特定してよい。画像と関連する文字列に係る文字列のテーブルの例としては、例えば、図7のように、“value”、“font”、“size”、“color”、“alignment”等を有するテーブルであってよい。
取得部41は、画像と関連する文字列に係る文字列として、例えば“value”:“btn”を検出した場合、画像と関連する文字列に係る文字列として、“value”:“btn”を記憶してもよいし、“value”と関連付けた値としての”btn”を記憶してもよい。
(画像の機能に係る文字列)
画像の機能に係る文字列は、画像が機能を有すると推定される文字列であってよい。例えば、画像の名称として「btn」という文字列があれば、その画像がボタンという機能を有すると推定され、また、画像の名称として「OK」という文字列があれば、その画像はOK又は何らかの了解を示す機能を有すると推定される。
取得部41は、画像の機能に係る文字列であるかどうかを、対象ファイルに係る文字列が、画像の機能に係る文字列を含むかどうかの検索により判定してよい。例えば、取得部41が、画像の機能に係る文字列のテーブルを有しておき、かかるテーブル内の文字列とのパターンマッチにより、対象ファイルから文字列を検索し、画像の機能に係る文字列を特定してよい。画像の機能に係る文字列のテーブルの例としては、例えば、図8のように、“btn”、“OK”、“NO”、“NEXT”等を有するテーブルであってよい。
取得部41は、画像の機能に係る文字列として、例えば“value”:“OK”を検出した場合、画像の機能に係る文字列として、“value”:“OK”を記憶してもよいし、“value”と関連付けた値としての”OK”を記憶してもよい。
上述の画像の表示に係る文字列(画像ファイルを特定する文字列、画像ファイルの表示に係る指示の文字列)、画像と関連する文字列に係る文字列、又は、画像の機能に係る文字列、などの画像に係る対象文字列は、いずれも特定の画像(例えば、画像ファイルを特定する文字列で特定される画像)に関するものであるため、当該特定の画像を示す情報と、関連付けられて、記憶されてよい。例えば、取得部41は、図9のように、一の画像に関連する情報として、各画像に係る文字列に対応する具体的な情報を、特定のIDなどで管理して、記憶してよい。
なお、取得部41は、対象ファイル内の階層構造を用いて、画像に係る対象文字列の階層構造を作成してよい。階層構造は、例えば、第1の画像が第1のオブジェクト上に存在し、第2の画像が第2のオブジェクト上に存在する場合において、第1のオブジェクトと第2のオブジェクトの関係として第1のオブジェクト上に第2のオブジェクトが存在する場合などが挙げられる。この場合、対象ファイル内の階層構造を用いて、画像に係る情報を取得できる利点がある。取得部41は、画像に係る対象文字列の階層構造について、各階層構造の包含関係や並列関係を、リスト、構造体、変数などにより管理して、記憶してよい。
3.2.素材データ特定部42
素材データ特定部42は、取得部41が取得した画像に係る対象文字列に対応する素材データを特定する。ここで、素材データとは、対象ファイル内で表示される画像に対応する画像を表示できるデータである。なお、素材データを含むファイルを、「素材データに係るファイル」ということもある。素材データに係るファイルの形式としては、例えば、上述のとおり、PNG、GIF、JPEG、tif、svg、svgz、EPSなどがあげられる。素材データ特定部42は、素材データを特定し、素材データに係るファイルを特定してよい。
素材データ特定部42は、文字列と素材データが格納される位置に係る情報との関係を用いて、上述の対象文字列に対応する素材データを特定してよい。
ここで、素材データが格納される位置に係る情報は、情報処理装置内の位置として、素材データが格納されるフォルダであってもよいし、素材データであるファイルの位置であってもよいし、ファイル名自身でもよい。ファイルは、フルパスや絶対パス(上位のディレクトリを含み指定する方式)で指定されてもよいし、相対パス(現在の位置からファイルを相対的に指定する方式)で指定されてもよい。また、素材データが格納される位置に係る情報の種々の態様としては、素材データが格納される種々のハードウェア内の位置の情報であってよい。例えば、素材データ特定部42が実行される情報処理装置内の記憶装置内の位置であってもよいし、ファイルサーバや他の情報処理装置など同一のLAN内の他の情報処理装置内の記憶装置内の位置であってもよいし、クラウドなどの仮想的なシステム内の記憶装置内であってもよいし、インターネット上の他の情報処理装置内の記憶装置内であってもよく、URLなどのネットワーク上の位置を含んでもよい。
素材データに係るファイルは、一のフォルダ内に纏めて含まれていてもよいし、複数のフォルダ内に含まれていてもよい。また、前記複数のフォルダは、一のフォルダの下位のフォルダに含まれているものであってもよいし、複数のフォルダの下位に含まれているものであってもよい。素材データに係るファイルが、これらの特定の一又は複数のフォルダ内にある場合において、素材データ特定部42は、前記特定の一又は複数のフォルダを特定する情報を、予め有していてよい。なお、素材データに係るファイルが、含まれうる特定の一又は複数のフォルダを、「素材データ特定フォルダ」ということもある。
対象文字列に対応する対象素材データを特定するにあたり適用されるルールである、前記文字列と素材データが格納される位置に係る情報との関係に係るルールは、予め定められたフォルダ内にある一又は複数のデータから、前記素材データに係るファイルを特定するルールであってよい。素材データ特定部42は、素材データに係るファイルが特定されるフォルダに関する情報を一又は複数有してよい。素材データ特定部42は、かかるフォルダに関する情報を用いて、素材データに係るファイルを特定してよい。素材データ特定部42は、素材データに係るファイルの特定方法として、ファイルに係る情報を用いてよい。例えば、素材データのファイル名を用いてよい。ファイル名を用いたファイルの特定方法は、後述する検索手法が用いられてよい。
素材データのファイル名は、検索により、特定されてよい。具体的には、素材データ特定部42は、文字列と素材データが格納される位置に係る情報との関係に係るルールとして、文字列と素材データのファイル名との関係を用いるルールを用いてよい。文字列と素材データのファイル名との関係を用いるルールは、画像に係る文字列と素材データのファイル名との関係を用いるルールを用いてよいし、画像の表示に係る文字列と素材データのファイル名との関係を用いるルールを用いてよいし、画像となるファイルを特定する文字列と素材データのファイル名との関係を用いるルールを用いてよい。
また、素材データ特定部42は、前記文字列と素材データが格納される位置に係る情報との関係に係るルールは、前記対象文字列と同一又は類似の文字列を特定するルールを用いてよい。素材データ特定部42は、対象文字列と同一又は類似の文字列を特定することにより、前記特定された同一又は類似の文字列をファイル名として有するファイルを、素材データに係るファイルとして特定してよい。また、素材データ特定部42は、対象文字列に対して、検索手段を適用する前処理として、特定の処理を施してもよい。特定の処理としては、例えば、対象文字列の一部を削除する、又は、対象文字列から正規表現検索のためのパターンを生成するなどが挙げられる。検索アルゴリズムとしては、種々の手法が使用されてよく、例えば、正規表現検索、ボイヤームーア文字列検索、OS内の組込検索、ミドルフレームやフレームワーク内の検索などの技術が用いられてよい。素材データ特定部42が、素材データのファイル名を自動的に特定できる場合、利用者自身が素材データのファイル名を特定する負担が減少する利点がある。
また、複数のファイルが、素材データに係るファイルの候補となった場合、素材データ特定部42は、対象文字列に対応する対象素材データの特定は、対象文字列に対応する複数の対象素材データのうちの選択された一の対象素材データを示す情報を受領することによる特定であってよい。例えば、素材データ特定部42は、複数のファイルを素材データに係るファイルの候補とした場合、かかる複数の候補のファイル名のうち選択された一のファイル名を、対象素材データを示す情報として取得し、かかる選択された一のファイルを素材データに係るファイルとして特定してよい。また、素材データ特定部42は、かかる複数のファイルを、選択された情報を取得する前に、選択肢として、利用者に係る端末に表示させてよい。かかる構成の場合、候補のファイルは検索で特定されているものであり、対象文字列に対応しない可能性の高いファイルは除かれているため、利用者が対象文字列に対応するファイルを探す負担が減少する利点がある。
なお、素材データ特定部42が素材データに係るファイルの候補を特定しない場合、後述するプログラムコード生成部43は、相当する箇所において、素材データに係るファイルを呼び出す関数を使用せず、単に、矩形の構造を示す表示をする関数などを用いればよい。
また、素材データ特定部42は、かかる候補のファイル名を、素材データが格納される位置に係る情報とともに、利用者の利用するシステム上で表示する又は表示させてよい。ここで素材データが格納される位置に係る情報は、上述のとおり、候補のファイル名の、フルパス、絶対パス、又は相対パスなどであってよい。素材データ特定部42がかかる表示をする場合、利用者は素材データに係るファイルに関する情報を取得できるため、利用者が素材データに係るファイルを正確に特定できる可能性が向上する利点がある。
また、素材データ特定部42は、候補に係るファイルの一が選択された場合、かかるファイルに係る画像を、利用者の利用するシステム上で表示する又は表示させてよい。かかる表示により、利用者は、素材データに係るファイル名のみならず、かかるファイルにより表示される画像も理解できるため、利用者が素材データに係るファイルを正確に特定できる可能性が向上する利点がある。
また、素材データ特定部42は、URL上から素材データに係るファイルを、検索してよい。この場合、素材データ特定部42は、検索されるURLを予め有していてもよいし、利用者からURLを取得してもよい。前者は、例えば、素材データ特定部42が、利用者が初期値として入力した値を使用してもよいし、前回検索した場所としてのURLを使用してもよいし、対象文字列から取得した情報を用いて、URLを取得してもよい。後者は、例えば、利用者からURLの入力を問い合わせる表示を行い、かかる表示に対応して得られるURLを用いてもよい。
また、素材データ特定部42は、対象文字列に対応する対象素材データの特定にあたり、複数の取得方法から特定された一の取得方法を使用して、素材データを、特定してよい。複数の取得方法における一の取得方法は、利用者から得た情報によって、特定されてよい。例えば、素材データ特定部42は、複数の取得方法として、第1の情報処理装置内の第1のフォルダ内、前記第1の情報処理装置内の第2のフォルダ内、第1の情報処理装置とは異なる第2の情報処理装置内のフォルダ内、インターネット上の第1のURL以下の場所、前記第1のURL以下の場所とは異なるインターネット上の第2のURL以下の場所、などがあってよい。また、素材データ特定部42は、これらの複数の取得方法は、選択肢として、利用者に提示されてよい。また、利用者が、複数提示された選択肢の一を選択したことに対し、素材データ特定部42は、前記一の選択肢を取得し、かかる選択肢で指定された取得方法を用いて、素材データを特定してよい。
また、素材データ特定部42は、対象文字列に対応する対象素材データの特定にあたり、利用者が入力することにより、入力された、対象素材データの取得場所の情報を使用して、対象素材データを特定してよい。例えば、素材データ特定部42は、利用者によって入力された、素材データが格納されていると利用者が考える特定のフォルダや、素材データが置かれていると利用者が考えるインターネット上の特定のURL、などの情報を対象素材データの取得場所の情報として取得し、かかる情報を用いて、素材データを特定してよい。
3.3.プログラムコード生成部43
プログラムコード生成部43は、プログラムコードを生成する機能を有する。プログラムコードは、プログラムの一部であってもよいし、プログラム全体でもよい。
プログラムコード生成部43は、素材データ又は素材データに係るファイルの利用方法を指定するプログラムコードを生成する。例えば、プログラムコード生成部43が、ファイルXに係る画像を表示するためのプログラムコードを生成する場合、ファイルXの表示に係る指示を行うプログラムコードとして、ファイルXの画像の表示の大きさ、位置、色などを指定するプログラムコードを生成してよい。
プログラムコード生成部43は、対象ファイルから取得した画像に係る文字列として得た情報を、生成するプログラムコードにおいて、そのまま利用してもよいし、加工してもよい。また、プログラムコード生成部43は、画像に係る文字列を、文字列に係るルールを用いて、プログラムコードを生成してよい。ここでは、プログラムコード生成部43が、Cocos2dフレームワーク上のプログラムコードを生成する例を用いて説明するが、かかるフレームワークや言語に限定されるものではなく、種々の形式のプログラムコードに適用できることはいうまでもない。
プログラムコード生成部43は、特定の実行環境に関する情報を用いて、プログラムコードを生成してよい。特定の実行環境は、生成されたプログラムコードが実行される環境であり、プラットフォーム、フレームワーク、ミドルフレーム、及び/又は、実行されるハードウェアの機種などであってよい。フレームワーク、ミドルフレームによって、使用される言語やライブラリの設定等が異なりうるし、実行されるハードウェアの機種により、例えば、演算装置の処理機能、使用するメモリ量、及び/又は、表示される画面の表示サイズ、表示される画面の解像度、が異なりうるため、これらの実行環境に係る情報を用いて、プログラムコードを生成してよい。プログラムコード生成部43は、初期値として、特定の実行環境で実行されることを想定して、プログラムコードを生成してよい。また、これらの実行環境を変更する選択肢を提供してよく、かかる選択肢のうちの一が選択されたことに応じて、選択された実行環境に応じたプログラムコードを生成してよい。この場合、各実行環境に適切な表示のプログラムコードの作成を支援できる利点がある。
プログラムコード生成部43は、文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成してよい。ここで、画面内とは、上述の特定の実行環境において実行された場合に表示される画面を主に示す。
プログラムコード生成部43は、画像に係る文字列に応じて、文字列に係るルールを適用してよい。文字列に係るルールは、文字列と対応付けて用意されたプログラム関数を特定するルールを含み、前記プログラムコードの生成は、文字列と対応付けて用意されたプログラム関数の中から、前記対象文字列に対応するプログラム関数を選択し、前記プログラム関数を読み出して、前記プログラム関数を前記プログラムコード内に含ませることを含んでよい。
プログラムコード生成部43は、画像に係る文字列が画像ファイルを特定する文字列の場合、画像ファイルを特定する文字列についての文字列に係るルールを適用してよい。例えば、プログラムコード生成部43は、画像ファイルを特定する文字列として、“btn.png”である場合、文字列に係るルールのテーブル内に含まれる、cc.Sprite(インスタンス名.getSpriteFrame()とのプログラム関数を選択し、前記プログラム関数を読み出して、前記プログラム関数を前記プログラムコード内に含ませてよい。このとき、プログラムコード生成部43は、画像ファイルを特定する文字列としての“btn.png”を用いて、cc.Sprite(インスタンス名.getSpriteFrame(“btn.png”)と生成し、プログラムコード内にかかるファイル名を呼び出す関数として含ませて、生成してよい。
また、プログラムコード生成部43は、画像に係る文字列が画像ファイルの表示に係る指示の文字列の場合、画像ファイルの表示に係る指示の文字列についての文字列に係るルールを適用してよい。プログラムコード生成部43は、より具体的には、画像ファイルの表示におけるオブジェクトがサイズと座標を持つため、サイズと座標から任意の色をつけた矩形が表示されるよう、プログラムコードを生成してよい。例えば、プログラムコード生成部43は、画像ファイルの表示に係る指示の文字列として、“left”、“right”などの画像の位置及び大きさを示す情報である場合、文字列に係るルールのテーブル内に含まれる、オブジェクト名称.setPosition(cc.p(x,y))、及び、オブジェクト名称.ContentSize(cc.size(x,y))を用いて、画像の位置及び大きさを特定する関数を上述のように選択し、用いて、かかる関数をプログラムコード内に含め、プログラムコードを生成してよい。ここで、x、yの値で特定される位置は、生成されるプログラムコードの想定される実行環境に合わせて設定された実行環境内の画面内の座標の情報であってよい。座標の情報は、デカルト座標であってもよいし、極座標であってもよく、各プログラム関数が引数として取りうる形式に合わせたものであってよい。この場合、プログラムコード生成部43は、対象ファイルが実行された場合における画像の相対的な位置及び相対的な大きさと、生成されるプログラムコードが実行される環境における画像の相対的な位置及び相対的な大きさとが一致するように、上述の値を設定してよい。なお、階層構造を用いて画像が設定される場合、例えば、baseLayer.getLayerScale()などの関数を用いて、階層構造内の一の層のサイズを取得することで、相対的な位置や大きさを算出してよい。また、プログラムコード生成部43は、各画像に係る文字列に対応する情報が階層構造内の特定の一の層として設定される場合、かかる特定の層と関連付けて、各画像に係る文字列に対応するプログラムコードの生成をしてよい。また、プログラムコード生成部43は、画像ファイルの表示に係る指示の文字列として、“color”などの色を示す情報である場合、オブジェクト名称.LayerColor(cc.color(r,g,b,a))の関数を用いてよい。ここで、color(r,g,b,a)は、RGBカラーモデルのred(r)・green(g)・blue(b)に色の透明度を示すalpha(a)が指定されている。このように、生成された表示するためのプログラムコードは、前記画面内において、前記対象素材データが表示されるための位置、大きさ、及び/又は色を含んでよい。また、上述のとおり、前記位置、前記大きさ、及び/又は、前記色は、前記対象文字列及び前記プログラムコードに係る命令を用いて決定されてよい。
また、プログラムコード生成部43は、画像に係る文字列が画像の機能に係る文字列の場合、画像の機能に係る文字列についての文字列に係るルールを適用してよい。具体的には、プログラムコード生成部43は、前記文字列に係るルールを用いて、前記画面内に表示される前記対象素材データと関連付けられた機能の少なくとも一部に係るプログラムコードを生成してよい。対象素材データと関連付けられた機能は、対象素材データが入力を受け付ける領域を示す機能や、対象素材データが選択を受け付ける領域を示す機能や、対象素材データが決定を受け付ける領域を示す機能などの対象素材データに係る処理を行うものであってよい。より具体的には、例えば、画像がボタンとしてタッチされる又は押下げられる(本願書類において、タッチされる場合と押下げられる場合をまとめて「タッチなど」ということもある。)場合の処理、画像が了解を意味するものとしてタッチなどされた場合の処理、画像が次に行くことを示すものとしてタッチなどされた場合の処理、画像が複数の選択肢に係るものとして表示した場合において複数の選択肢の位置が選択された場合の処理、等が挙げられる。かかる場合において、プログラムコード生成部43は、画像の機能に係る文字列として、例えば、“btn”や“OK”などの画像のタッチなどを示す情報である場合、文字列に係るルールのテーブル内に含まれる、CCMenuItemを用いて、画像がタッチなどされた場合の関数を上述のように選択し、用いて、かかる関数をプログラムコード内に含め、プログラムコードを生成してもよい。また、プログラムコード生成部43は、表示名である画像に係る文字列や表示の色が半透明の属性を示す場合、画面操作の抑止機能を処理する関数をプログラムコード内に含めて、プログラムコードを生成してよい。半透明は、多くの場合、表示物に対して操作を抑止する目的で表示されるケースが多いため、かかる機能を追加することで、かかる機能をプログラマーが追加する負担を減少できる利点がある。
なお、ボタンが押された場合に具体的に何の処理をするかは不明である場合も多いため、プログラムコード生成部43は、具体的な処理に関するプログラムコードを生成しなくてもよい。しかしながら、ボタンが押されたときに行うための処理として、例えば、JAVA(登録商標)、C++、C#などのオブジェクト指向言語においては、ボタンがタッチなどされた場合の処理を適切に扱うために、ボタンのインスタンスを生成する等が行われる。そのため、かかるインスタンスの生成や、ボタンに関する定義を行うなどの定型的な処理を行うプログラムコードは生成してもよく、かかるプログラムコードが生成される場合、利用者のプログラムコード作成の負担を減少できる利点がある。なお、ボタンのような、何か処理をすることが合理的に期待される名称の場合、デザイナーが何らかの処理を念頭において当該名称を付している可能性が高いことから、プログラムコード生成部43が、かかるボタンに関連するプログラムコードを生成すること自体に無駄は無く、もし必要でないのであれば、利用者は、かかるプログラムコードを削除すればよく、かかる削除は、一般的にはプログラマーがプログラムコードを書くことより負担が少ない。
また、プログラムコード生成部43は、かかる機能について、後から追加記載する必要がある又は追加記載することが望ましいことをプログラマーに注意喚起できるように、プログラム内にその旨を追加記載してもよい。また、後述の表示画面生成部44は、その個所を、他とは異なる態様で、利用者の利用するシステム上で表示する又は表示させてよい。かかる構成により、利用者は、機能について追加する必要があること、又は、機能は無いものとして削除することを、気づくことができる利点がある。ここで、異なる態様としては、追加の検討が必要な箇所であることを示すメッセ―ジや、コメントの表示等が考えられるが、これらに限られない。
以上、Cocos2dフレームワーク上の例を説明したが、他のプログラム言語においても同様に対象ファイル内の情報を用いてプログラムコードを生成することで、画像に関連する命令を生成することができ、プログラマーのプログラミングの負担を減少できる利点がある。特に、近年のオブジェクト指向型言語は、プログラミング言語設計方針として、表示に関連する種々の関数を予め関数として用意することでプログラマーがそれらを選択するのみで種々の設定がされた表示を実現できるようにする一方、それらの種々の各関数の量が膨大となることからかかる種々の各関数が実行する内容を関数名として具体的に表現し、可読性を高める方向性がある。そのため、プログラマーは可読性の高いプログラムを作成できる反面、種々の関数名を具体的に設定しプログラムする必要があり、負担が高い。プログラミングを支援する開発環境を用いたとしてもそれらの各値を具体的に設定したり、ファイル名を特定する、などのプログラマーの負担は存在するため、これらの情報を設定可能なように構成した場合は、プログラマーの負担を減少できる利点がある。
また、プログラムコード生成部43は、素材データに係る画像の形状を用いて、プログラムコードを生成してよい。例えば、プログラムコード生成部43は、画面内に表示される素材データに係る画像の形状が略矩形であることを用いて、プログラムコードを生成してよい。ここで、略矩形とは、矩形と同等の手法で特定できる図形であってよい。例えば、キャラクターの形状など複雑な形状であっても、その大きさを、矩形(横の長さと縦の長さ)で特定できるような形状が含まれてよい。略矩形の場合、一点と辺の長さ、又は一点と短辺と長辺の長さによって、特定できるため、図形の位置を簡易に特定できる利点がある。
3.4.表示画面生成部44
表示画面生成部44は、利用者の支援を行う画面を生成する機能を有する。
表示画面生成部44は、生成された前記プログラムコードを用いて前記画面内に前記対象素材データを表示した場合のイメージを生成してよい。また、表示画面生成部44は、かかるイメージを、利用者の利用するシステム上で表示する又は表示させてよい。かかるイメージが表示される場合、生成したプログラムコードが実行された場合にどのような画面が生成されるのかを、利用者は、即時に理解できる利点がある。例えば、利用者は、適切な画像に係るファイルが特定されたかどうか、かかるファイルは適切な条件の下で利用されているか、などを即時に理解できる利点がある。
なお、表示画面生成部44が表示するイメージは、生成したプログラムコードをそのまま実行されることで表示されてもよいし、生成したプログラムコードをコンパイルして実行する構成でもよいし、生成したプログラムコードに対応して内部的に生成したプログラムコードをコンパイルなどして実行する構成でもよい。
また、表示画面生成部44は、プログラムコード生成部43が生成したプログラムコードを、利用者の利用するシステム上で表示する又は表示させてよい。かかるプログラムコード自体が表示されることにより、具体的にどのようなプログラムコードが生成されたかを、利用者は、即時に理解できる利点がある。
また、表示画面生成部44は、プログラムコードに関する階層構造を生成してよい。また、かかる階層構造を、利用者の利用するシステム上で表示する又は表示させてよい。例えば、一の画像のフレームが、他の画像のフレーム上にあるなど画面内の階層構造がある場合、前記他の画像のフレームの動作が、前記一の画像に影響するため、かかる階層構造が表示されることで、プログラマーは、各画像の関係を理解できる利点がある。
また、表示画面生成部44は、生成されるプログラムコードが実行される実行環境に係る選択肢を、利用者の利用するシステム上で表示する又は表示させてよい。実行環境の例は、上述に記載のとおりである。また、実行環境に係る選択肢は、前記プログラムコードが実行される予定の機種を示すものであってよい。予定の機種は、一又は複数の機種であってよく、例えば、ノートパソコンやスマートフォンの具体的な機種であってよい。
表示画面生成部44は、選択肢のなかで選択されている特定の実行環境のためのプログラムコード、かかる実行環境上で実行された場合に表示されるイメージ、かかるプログラムコード自体、かかるプログラムコードの階層構造を、利用者の利用するシステム上で表示する又は表示させてよい。
また、利用者が実行環境に係る選択肢の一を選択した場合、表示画面生成部44は、予定の機種を示すものや実行環境などの選択肢の一を取得できる機能を有してよい。表示画面生成部44がかかる選択された一の選択肢を受領した場合、プログラムコード生成部43は、選択肢の選択に応じて、前記選択された一に対応するプログラムコードを生成してよい。ここで、プログラムコード生成部43は、選択された一に関する情報を用いて、プログラムコードを生成してよい。例えば、プログラムコード生成部43は、選択された機種における所定の解像度及び表示サイズを含む情報を用いて、プログラムコードを生成してよい。
また、表示画面生成部44は、選択肢の選択に応じて、選択された一の機種に対応して生成されたプログラムコードを、利用者の利用するシステム上で表示する又は表示させてよい。この場合、利用者は、選択肢のなかで選択された一の機種で実行されるプログラムコードを即時に理解できる利点がある。
また、表示画面生成部44は、選択肢の選択に応じて、選択された一の機種で実行された場合に表示されるイメージを利用者の利用するシステム上で表示する又は表示させてよい。この場合、利用者は、選択肢のなかで選択された一の機種用のプログラムコードが前記選択された一の機種上で実行された場合のイメージを即時に理解できる利点がある。特に、機種によって各機種上の画面の大きさや解像度が異なるとその各機種上の画面のデザインは異なる印象を与える場合があるため、各機種上で表示される場合のイメージを表示できる構成の場合、各機種上固有の画面におけるデザインを即時に利用者が理解できる利点がある。
また、表示画面生成部44は、選択肢の選択に応じて、選択された一の機種に対応して生成されたプログラムコードに関する階層構造を利用者の利用するシステム上で表示する又は表示させてよい。この場合、利用者は、選択肢のなかで選択された一の機種で実行されるプログラムコードの階層構造を即時に理解できる利点がある。
図10は、表示画面生成部44が生成した画面の一例である。本画面例の中央において、生成されたプログラムコードが実行されたイメージが表示されてよい(1001)。また、本画面例の右上において、プログラムコードが実行されうる実行環境に関する選択肢が表示されてよい(1002)。本画面例においては、スマートフォンの機種の選択肢が表示されている。また、本画面例の右下において、プログラムコードが表示されてよい(1003)。なお、かかるプログラムコードは、「クリップボードへ」との箇所を選択することにより、クリップボードにコピーされる構成とされてよい。かかる構成を備えた場合、利用者は、プログラムコードを簡易にクリップボードにコピーできる利点がある。また、本画面例の左側において、プログラムコードに係る階層構造が表示されてよい(1004)。
4.実施形態に係る情報処理の流れ
次に、本願発明の一態様に係る情報処理の流れを、デザインを表すPSDファイルから変換されたJSONファイルを用いた実施形態の一例のシステムの処理の流れの一例を、図11を参考に説明する。
ステップ1
一例のシステムは、対象ファイルを読み込み、オブジェクトを取得する(1101)。一例のシステムにおいて、取得部41が処理してよい。
ステップ2
一例のシステムは、対象ファイルから読み込んだ情報の一部又は全部について、記憶部に格納する(1102)。一例のシステムにおいて、取得部41が処理してよい。
ここで、対象ファイルが階層化されている場合において、同じ層に複数のオブジェクトがある場合、かかる同じ層の複数のオブジェクトを順に処理するために、種々の手法が採用されてよい。例えば、リスト化や、ツリー構造化、構造体の使用やメモリアロケーションなどの手法が用いられてよい。
ステップ3
一例のシステムは、一又は複数の対象文字列を用いて、素材データを特定する処理を行う(1103)。一例のシステムにおいて、素材データ特定部42が処理してよい。
ここで、一例のシステムは、文字列と素材データが格納される位置に係る情報との関係に係るルールを取得した上で、前記ルールを、前記一又は複数の対象文字列に対して適用して、素材データを特定する処理を行ってよい。
また、一例のシステムは、一の素材データを特定するにあたり、直接、素材データを特定してもよいし、複数の取得方法から選択された一の取得方法を取得した後に素材データを特定してもよいし、対象素材データの取得場所の情報を受領した後に素材データを特定してもよい。
また、一例のシステムは、複数の素材データを特定するにあたり、一の素材データに対応しうる一又は複数の画像に係る文字列について順次素材データを特定してもよいし、利用者から情報を取得しないで特定可能な素材データを特定した後に利用者から取得する情報を用いて素材データを特定してもよく、その順序は、任意であってよい。
ステップ4
一例のシステムは、プログラムコードを生成する(1104)。一例のシステムにおいて、プログラムコード生成部43が処理してよい。
一例のシステムは、一の素材データを特定した後、逐次、かかる一の素材データに対応するプログラムコードを生成してもよいし、複数の素材データが特定された後に、かかる複数の素材データの一部又は全部に対応するプログラムコードを生成してもよい。
ステップ5
一例のシステムは、利用者の支援を行う画面を生成し、利用者の利用するシステム上で表示する又は表示させる(1105)。一例のシステムにおいて、表示画面生成部44が処理してよい。利用者の支援を行う画面は、生成されたプログラムコード、プログラムコードに関する階層構造、選択肢の表示、及び/又は、プログラムコードが選択された一の選択肢で実行された場合のイメージ、を含んでよい。また、これらの生成されたプログラムコード、プログラムコードに関する階層構造、選択肢の表示、及び、プログラムコードが選択された一で実行された場合のイメージ、の表示処理の順序は、どのような順序であってもよい。
なお、表示画面生成部44が、生成されたプログラムコードの実行環境に係る選択肢を取得した場合、選択された一の選択肢に対応するよう、選択された一の選択肢の情報を用いて、プログラムコード生成部43がプログラムコードを生成するが、その後、表示画面生成部44が処理する、生成されたプログラムコード、プログラムコードに関する階層構造、選択肢の表示、及び、プログラムコードが選択された一の選択肢で実行された場合のイメージ、の表示処理の順序は、どのような順序であってもよい。
なお、取得部41が情報を取得する対象であるファイルが一つである場合において、プログラム生成部43は、対応する一のプログラムコードを生成してもよいし、複数のプログラムコードを生成してもよい。後者の場合、プログラムコードを条件に応じて分割可能としてよい。また、プログラムコード生成部43は、一又は複数の特定のプログラミング言語で記述されたプログラムコードを生成してよい。例えば、取得部41が情報を取得する対象である一のファイルに対し、第1のプログラムコードはプログラミング言語Aであり、第2のプログラムコードはプログラミング言語Bなど、適宜適切なプログラミング言語によって生成できるよう構成されてよい。この場合、上述の文字列と対応付けて用意されたプログラム関数は、各プログラミング言語に応じて、テーブルなどで記憶され、かかるテーブル内の一のプログラミング言語における対応するプログラム関数が選択されることによって、プログラムコードが生成されてよい。
なお、素材データ特定部42は、上述の構成に限られず、素材データの特定パターンを学習し、素材データを特定する精度を向上する機能を有してよい。例えば、素材データ特定部42は、特定された素材データのパターンを記憶し、素材データ特定部42が同一のパターンの素材データを特定する場合は、かかるパターンを利用して素材データを特定してよい。より具体的には、素材データ特定部42は、素材データに係るファイルとして、複数のファイルが候補となった場合、画像ファイルを特定する文字列と最終的に特定された素材データとの関係を記録して、次に同一又は類似の画像ファイルを特定する文字列について素材データを特定する場合、かかる関係を用いて、素材データを特定してよい。
また、本願書類で説明された情報処理は、ソフトウェア、ハードウェア又はこれらの組み合わせによっても実施されてよく、またかかる情報処理は、処理・手順をコンピュータプログラムとして実装し、各種のコンピュータに実行させられてよく、またこれらのコンピュータプログラムは、記憶媒体に記憶されてよい。また、これらのプログラムは、非一過性又は一時的な記憶媒体に記憶されてよい。
本願書類で説明したものは、本願書類で説明されたものに限られず、本願書類で説明された種々の技術上の利点や構成を有する種々の技術的思想の範囲内で、種々の例に適用できることはいうまでもない。
1 システム
10 通信網
20(20A〜20C) サーバ装置
30(30A〜30C) 端末装置
21(31) 演算装置
22(32) 主記憶装置
23(33) 入出力インタフェイス
24(34) 入力装置
25(35) 補助記憶装置
26(36) 出力装置
41 取得部
42 素材データ特定部
43 プログラムコード生成部
44 表示画面生成部

Claims (33)

  1. コンピュータプログラムであって、
    プロセッサにより実行されることにより、
    ファイル内で検索された、画像に係る対象文字列を取得し、
    文字列と素材データが格納される位置に係る情報との関係に係るルールと、前記対象文字列とを用いて、前記対象文字列に対応する対象素材データを特定し、
    文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、
    ように前記プロセッサを機能させる、ことを特徴とするコンピュータプログラム。
  2. 前記画面内に表示される前記対象素材データに係る画像の形状は、略矩形である、
    請求項1に記載のコンピュータプログラム。
  3. 前記文字列と素材データが格納される位置に係る情報との関係に係るルールは、予め定められたフォルダ内にある一又は複数のデータから、前記素材データに係るファイルを特定するルールを含む、
    請求項1又は2に記載のコンピュータプログラム。
  4. 前記文字列と素材データが格納される位置に係る情報との関係に係るルールは、前記文字列と前記素材データのファイル名との関係を用いるルールを含む、
    請求項1乃至3のいずれか1項に記載のコンピュータプログラム。
  5. 前記文字列と素材データが格納される位置に係る情報との関係に係るルールは、前記対象文字列と同一又は類似の文字列を特定するルールを含む、
    請求項1乃至4のいずれか1項に記載のコンピュータプログラム。
  6. 前記プロセッサは、
    前記文字列に係るルールを用いて、前記画面内に表示される前記対象素材データと関連付けられた機能の少なくとも一部に係るプログラムコードを生成する、
    請求項1乃至5のいずれか1項に記載のコンピュータプログラム。
  7. 前記対象文字列に対応する対象素材データの特定は、
    前記プロセッサが、前記対象文字列に対応する複数の対象素材データのうちの選択された一の対象素材データを示す情報を受領して、特定することを含む、
    請求項1乃至6のいずれか1項に記載のコンピュータプログラム。
  8. 前記対象文字列に対応する対象素材データの特定は、
    前記プロセッサが、複数の取得方法から特定された一の取得方法を使用して、特定することを含む、
    請求項1乃至7のいずれか1項に記載のコンピュータプログラム。
  9. 前記対象文字列に対応する対象素材データの特定は、
    前記プロセッサが、入力された、対象素材データの取得場所の情報を使用して、特定することを含む、
    請求項1乃至8のいずれか1項に記載のコンピュータプログラム。
  10. 前記表示するためのプログラムコードは、前記画面内において、前記対象素材データが表示されるための位置、大きさ、又は色を含む、
    請求項1乃至9のいずれか1項に記載のコンピュータプログラム。
  11. 前記位置、前記大きさ、又は、前記色は、前記対象文字列及び前記プログラムコードに係る命令を用いて決定される、
    請求項10に記載のコンピュータプログラム。
  12. 前記位置は、前記画面内の座標を含む、
    請求項10又は11に記載のコンピュータプログラム。
  13. 前記プロセッサが、生成されるプログラムコードの実行環境に係る選択肢を、表示する又は通信回線を介した情報処理装置上で表示させる、
    請求項1乃至12のいずれか1項に記載のコンピュータプログラム。
  14. 前記選択肢は、前記プログラムコードが実行される予定の機種を示すものであり、
    前記プロセッサが、前記選択肢の選択に応じて、プログラムコードを生成する、
    請求項13に記載のコンピュータプログラム。
  15. 前記プログラムコードの前記生成は、選択された前記機種における所定の解像度及び表示サイズを含む情報を用いる、
    請求項14に記載のコンピュータプログラム。
  16. 前記プロセッサが、前記プログラムコードを用いて前記画面内に前記対象素材データを表示した場合のイメージを、表示する又は通信回線を介した情報処理装置上で表示させる、
    請求項1乃至15のいずれか1項に記載のコンピュータプログラム。
  17. 前記プロセッサが、前記プログラムコードを、表示する又は通信回線を介した情報処理装置上で表示させる、
    請求項1乃至16のいずれか1項に記載のコンピュータプログラム。
  18. 前記プロセッサが、プログラムコードに関する階層構造を、表示する又は通信回線を介した情報処理装置上で表示させる、
    請求項1乃至17のいずれか1項に記載のコンピュータプログラム。
  19. 前記文字列は、JSONフォーマットで記述されたファイル内の文字列である、
    請求項1乃至18のいずれか1項に記載のコンピュータプログラム。
  20. 前記文字列に係るルールは、文字列と対応付けて用意されたプログラム関数を特定するルールを含み、
    前記プログラムコードの生成は、文字列と対応付けて用意されたプログラム関数の中から、前記対象文字列に対応するプログラム関数を選択し、前記プログラム関数を読み出して、前記プログラム関数を前記プログラムコード内に含ませることを含む、
    請求項1乃至19のいずれか1項に記載のコンピュータプログラム。
  21. 前記プロセッサが、スマートフォン、タブレット、携帯電話又はパーソナルコンピュータに搭載される、請求項1乃至20のいずれか1項に記載のコンピュータプログラム。
  22. コンピュータにより読み取り可能な命令を実行するプロセッサにより実行されるプログラムコードの生成方法であって、
    該プロセッサが、前記命令を実行することにより、
    ファイル内で検索された、画像に係る対象文字列を取得し、
    文字列と素材データが格納される位置に係る情報との関係に係るルールと前記対象文字列を用いて、前記対象文字列に対応する対象素材データを特定し、
    文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、
    ことを特徴とするプログラムコードの生成方法。
  23. 前記画面内に表示される前記対象素材データに係る画像の形状は、略矩形である、
    請求項22に記載のプログラムコードの生成方法。
  24. 前記文字列と素材データが格納される位置に係る情報との関係に係るルールは、予め定められたフォルダ内にある一又は複数のデータから、前記素材データに係るファイルを特定するルールを含む、
    請求項22又は23に記載のプログラムコードの生成方法。
  25. プロセッサを具備し、
    該プロセッサが、コンピュータにより読み取り可能な命令を実行することにより、
    ファイル内で検索された、画像に係る対象文字列を取得し、
    文字列と素材データが格納される位置に係る情報との関係に係るルールと前記対象文字列を用いて、前記対象文字列に対応する対象素材データを特定し、
    文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、
    ことを特徴とするサーバ装置。
  26. 前記画面内に表示される前記対象素材データに係る画像の形状は、略矩形である、
    請求項25に記載のサーバ装置。
  27. 前記文字列と素材データが格納される位置に係る情報との関係に係るルールは、予め定められたフォルダ内にある一又は複数のデータから、前記素材データに係るファイルを特定するルールを含む、
    請求項25又は26に記載のサーバ装置。
  28. コンピュータにより読み取り可能な命令を実行するプロセッサにより実行される方法であって、
    該プロセッサが、前記命令を実行することにより、
    ファイル内で検索された、画像に係る対象文字列を取得し、
    文字列と素材データが格納される位置に係る情報との関係に係るルールと前記対象文字列を用いて、前記対象文字列に対応する対象素材データを特定し、
    文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、
    ことを特徴とする方法。
  29. 前記画面内に表示される前記対象素材データに係る画像の形状は、略矩形である、
    請求項28に記載の方法。
  30. 前記文字列と素材データが格納される位置に係る情報との関係に係るルールは、予め定められたフォルダ内にある一又は複数のデータから、前記素材データに係るファイルを特定するルールを含む、
    請求項28又は29に記載の方法。
  31. プロセッサを具備し、
    該プロセッサが、コンピュータにより読み取り可能な命令を実行することにより、
    ファイル内で検索された、画像に係る対象文字列を取得し、
    文字列と素材データが格納される位置に係る情報との関係に係るルールと前記対象文字列を用いて、前記対象文字列に対応する対象素材データを特定し、
    文字列に係るルールと前記対象文字列を用いて、前記対象素材データに係る画像を画面内で表示するためのプログラムコードを生成する、
    ことを特徴とする端末装置。
  32. 前記画面内に表示される前記対象素材データに係る画像の形状は、略矩形である、
    請求項31に記載の端末装置。
  33. 前記文字列と素材データが格納される位置に係る情報との関係に係るルールは、予め定められたフォルダ内にある一又は複数のデータから、前記素材データに係るファイルを特定するルールを含む、
    請求項31又は32に記載の端末装置。
JP2019104641A 2019-06-04 2019-06-04 コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法 Pending JP2020197986A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019104641A JP2020197986A (ja) 2019-06-04 2019-06-04 コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019104641A JP2020197986A (ja) 2019-06-04 2019-06-04 コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021009540A Division JP2021077391A (ja) 2021-01-25 2021-01-25 コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法

Publications (1)

Publication Number Publication Date
JP2020197986A true JP2020197986A (ja) 2020-12-10

Family

ID=73648003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019104641A Pending JP2020197986A (ja) 2019-06-04 2019-06-04 コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法

Country Status (1)

Country Link
JP (1) JP2020197986A (ja)

Similar Documents

Publication Publication Date Title
TWI808393B (zh) 頁面處理方法、裝置、設備及儲存媒體
US11635944B2 (en) Methods and systems for programmatic creation of an interactive demonstration presentation for an envisioned software product
CA2773152C (en) A method for users to create and edit web page layouts
US11790158B1 (en) System and method for using a dynamic webpage editor
US9619440B2 (en) Document conversion apparatus
US20150113503A1 (en) Selectively enabling runtime editing of an application
US11675967B2 (en) Automated front-end code generating method and system for a website
WO2014045826A1 (ja) Webサーバシステム、辞書システム、辞書呼び出し方法、画面コントロール表示方法、およびデモアプリケーション生成方法
JP2018501551A (ja) 数式処理方法、装置、デバイス及びプログラム
AU2016256364A1 (en) Rendering graphical assets natively on multiple screens of electronic devices
KR101546359B1 (ko) 웹 브라우저 호환성 및 폰트 유지를 위한 웹 페이지 생성방법 및 시스템
JP2020197986A (ja) コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法
JP2021077391A (ja) コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法
JPH11288412A (ja) 文書作成方法及びシステム及び文書作成プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH08329004A (ja) アプリケーション・プログラム使用の端末操作性向上方法
JP7105683B2 (ja) 電子計算機、方法及びプログラム
US10915599B2 (en) System and method for producing transferable, modular web pages
JP7216317B1 (ja) 情報処理装置及びその制御方法、プログラム
JP7322255B2 (ja) 電子計算機、方法及びプログラム
JP7332657B2 (ja) デジタルインク生成装置、方法及びプログラム
CN109933322B (zh) 一种页面编辑方法、装置及计算机可读存储介质
US20230045229A1 (en) Method and System for Conflict Resolution in Multi-User Document Collaboration
JP2020204985A (ja) コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法
JP2021000424A (ja) コンピュータプログラム、サーバ装置、端末装置、プログラム生成方法、及び方法
JP2015069247A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200805

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201104