Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

月: 2021年9月

iWorks Apps v11.2が登場

Posted on 9月 30, 2021 by Takaaki Naganoya

Apple純正のiWorks App(Keynote、Pages、Numbers)の新バージョンv11.2がリリースされました。

バージョン番号が「11.1」から「11.2」に変わっただけですが、内部的にも…各アプリケーションともアイコン自体が変更になり、大きな節目のバージョンであることが伺われます。

iOS、iPadOSが新製品とともに9月にアップデートし、iWorkアプリケーションがアップデートした後にmacOSのアップデートが行われるわけで、実にリリース間近であることを感じさせます。Windows 11の発表日がどの程度注目を浴びているかはわかりませんが、10月5日より前に発表することは…ないのではないかと(ノーアイデアです)。

これらのアプリケーションのAppleScript用語辞書については、「get」コマンドが追加されたことを確認していますが、このコマンドがないと実現できないことが不明(普通は省略されるコマンド)なので、何か後で追加するための「布石」と見るのが正しい見方でしょう。

Keynote v11.2の変更点:
・スライド上のライブビデオ
・複数発表者スライドショー
・レーダーグラフ(レーダーチャートのこと)

Pages v11.2の変更点:
・ブックの公開の改善
・素早くテキストを翻訳
・レーダーグラフ(レーダーチャートのこと)

Numbers v11.2の変更点:
・強力なピボットテーブル
・レーダーグラフ(レーダーチャートのこと)
・フィルタの改善

そして、AppleScript用語辞書に「レーダーグラフ」の作成機能は反映されていないため、まだAppleScriptから追加することはできません。通例だと、マイナーアップデート2回後ぐらいに反映されるのではないでしょうか?

Pages v11.2でトンでもない変更が加わっていることが判明しました。なんと、selectionを取得できなくなっています。

これは、Pagesの数少ない長所だったのですが、selectionを取得できないととても困ります、、、、、

一応、フィードバックしておきましたが、直るかどうかは不明です。Pagesの唯一の美点であった、selectionを返せ!!!

Keynote v11.2でも、selectionが使えなくなっていました(スライド単位の選択も無効に)。

Posted in news | Tagged 10.15savvy 11.0savvy 12.0savvy Keynote Numbers Pages | Leave a comment

macOS 12 beta8が登場

Posted on 9月 30, 2021 by Takaaki Naganoya

macOS 12 beta7からほどなく、beta8が出てきました。どうやら、このbetaか次あたりでリリースしたい様子が伺われます(推測)。

レポートずみのバグは修正されていませんが(確認された事実)、Release版で駆け込み修正が行われるか、Release後に後付け修正するつもりなのでしょう(希望的観測)。

macOS 10.13のときにRelease版が壊滅した(客観的事実)のは駆け込み修正の整合性がとれていなかったためと見る(推測、憶測)筋もあり、それに懲りて「GM」宣言をやめました(客観的事実)し、駆け込み修正を行わないように方針を転換したように見えます(観測結果からの意見)。

現状のmacOS 12beta8のままリリースされれば、自分が見ている範囲ではそれほど悪くない出来でしょう(個人の感想)。

→ Beta8でIntel Macで外部ディスプレイに表示できないというバグが発生したもよう。Intel Mac miniで動作確認していますが、こうした構成ではなくノートなど本体にディスプレイを搭載しているモデルの話でしょうか

Posted in news | Tagged 12.0savvy | Leave a comment

Pagesでページ数とfacing pagesフラグの値から右側ページを判定

Posted on 9月 26, 2021 by Takaaki Naganoya

Pagesでページ数とfacing pagesの値から該当のページが右側に存在するかどうかを判定するAppleScriptです。

ページが右側にあるかどうか、というこの判定処理はツメ処理のために用意したものです。見開きの右側に置くのが基本といいますか、別に左側にもあってもいいんですが、右側ページ右端に置いた縦長の表オブジェクトをツメと見立てて処理することに(個人的に)したためです。


▲同一のPages書類を「見開きページ」の設定をオフにした状態(左)、オンにした状態(右)でページの並びが変わる

AppleScript名:Pages書類のfacing Pagesを取得.scpt

set fRes to getFacingPages() of me

on getFacingPages()
  tell application "Pages"
    tell front document
      return facing pages
    end tell
  end tell
end getFacingPages

★Click Here to Open This Script 

こんな記述でfacing pagesの値を取得でき、この値とページ数(ノンブル)をもとに奇数ページ、偶数ページの判定を行い、ページの左右を判定できます。

本Scriptを実行すると、以下のようにログ表示を行います。{facing pages, ノンブル, 右側ページかどうかの判定結果}を表示しています。

(*false, 1, false*)
(*false, 2, true*)
(*false, 3, false*)
(*false, 4, true*)
(*false, 5, false*)
(*false, 6, true*)
(*true, 1, true*)
(*true, 2, false*)
(*true, 3, true*)
(*true, 4, false*)
(*true, 5, true*)
(*true, 6, false*)

以前にどこかで「奇数/偶数の判定処理なんて、素朴な処理をサブルーチンとして独立して用意しておくのか?」と聞かれたことがありましたが、このように、サブルーチンとして用意しておいたので簡単に使い回して利用できているわけです。

AppleScript名:Pagesのページ番号の該当ページが右側にあるかどうか計算.scpt

set flagList to {false, true}
repeat with i in flagList
  set aFlag to contents of i
  
repeat with aPage from 1 to 6
    set rRes to checkPagesRightPage(aPage, aFlag) of me
    
log {i, aPage, rRes}
  end repeat
end repeat

–Pagesのページ番号の該当ページが右側にあるかどうか計算
on checkPagesRightPage(aNum, aFlag)
  set oddF to chkOddNum(aNum) of me –奇数チェック
  
if {aFlag, oddF} = {true, true} then
    return true –右側ページ
  else if {aFlag, oddF} = {false, false} then
    return true –右側ページ
  else
    return false
  end if
end checkPagesRightPage

–奇数かどうかチェック
on chkOddNum(aNum)
  set a to aNum mod 2
  
if a = 1 then
    return true
  else
    return false
  end if
end chkOddNum

–偶数かどうかチェック
on chkEvenNum(aNum)
  set a to aNum mod 2
  
if a = 0 then
    return true
  else
    return false
  end if
end chkEvenNum

★Click Here to Open This Script 

Posted in boolean Number | Tagged 10.15savvy 11.0savvy 12.0savvy Pages | Leave a comment

Pagesで選択中の表オブジェクトのデータ行を逆順に

Posted on 9月 26, 2021 by Takaaki Naganoya

Pagesで編集中の最前面の書類上で選択中の表オブジェクトに対して、行単位で逆順に入れ替えるAppleScriptです。Pages v11.1+macOS 12beta7で開発して使用しています。

Pagesの表操作機能には大したものはありませんが、さすがに昇順/降順のソートぐらいはできます。ただ、そうしたソートではなく、単純に順番を入れ替えたいといったときに処理する機能がありません。

この表データにはソート用のキーが存在していません。「軍隊の階級順にソート」とかいうお花畑な機能があれば使うんでしょうけれど、頭がいいヒトなら一時的にソート用の列を作ってシーケンシャル値を入れておき、逆順ソートして一時ソートキー列を削除することでしょう。

ただ、この「ソート用の一時データ列」すら作るのがめんどくさかったので、ありあわせの機能を使って使い捨てレベルのScriptを書いてみました。AppleScriptで書いておけば、同じ作業を行うさいに、2度目からは手間をかけずに行えますので。

PagesはiWork3兄弟(Keynote、Pages、Numbers)の中で、唯一、「selection」で各種選択中のオブジェクトを取得できます。Keynoteもこの仕様になってほしいのですが、違っています(Keynoteでは選択中のスライドが返ってくるだけ)。

正直なところ、いったんPages上の表のデータをコピペでNumbersに持って行って、Numbers側で並べ替えて手動でふたたびPagesの表に書き戻せばScriptを持ち出す必要もないんですが、繰り返し行う作業っぽいのでmacOS標準搭載のScript Menuに組み込んでおくことを前提に書いてみました。

ほぼ組み捨てレベルの使い捨てScriptなので、さまざまな条件でのテストは行っていません。何か問題があったらコメント欄でお知らせください。

Keynote/Pages/Numbers共通で、表のデータを取得すると1次元配列(1D List)で返ってきます。それはもう、既知の事実なので……1次元配列から2次元配列に変換するルーチンを用意して使っています。普通はBridgePlusの機能を呼び出して使うところですが、FileMaker ProのAppleScriptランタイム中でこれを呼び出せない(外部ライブラリの機能を一切呼び出せない)ことに苦しめられ、ちょっとBridgePlusを外しています。

AppleScript名:選択中の表オブジェクトのデータ行を逆順に.scpt
—
–  Created by: Takaaki Naganoya
–  Created on: 2021/09/26
—
–  Copyright © 2021 Piyomaru Software, All Rights Reserved
—
use AppleScript version "2.4" — Yosemite (10.10) or later
use framework "Foundation"
use scripting additions

tell application "Pages"
  tell front document
    set aSel to selection
    
if aSel = {} then return
    
    
set aTarg to first item of aSel
    
set aClass to class of aTarg
    
if aClass is not equal to table then return
    
    
–選択中の表オブジェクトを処理対象に
    
tell aTarg
      set rCount to count every row
      
set cCount to count every column
      
      
set hCount to header row count
      
set fCount to footer row count
      
      
set allData to value of every cell of cell range –表中の全セルのデータを取得(1Dで返ってくる)
      
set aRes to my subarraysFrom:(allData) groupedBy:(cCount) –1D Listの2D化
      
      
set bRes to items (1 + hCount) thru (-1 – fCount) of aRes
      
set rList to reverse of bRes –逆順に
      
      
–表にデータを書き戻す
      
repeat with rC from (1 + hCount) to (rCount – fCount)
        tell row rC
          repeat with cC from 1 to cCount
            tell cell cC
              set tmpVal to item cC of item (rC – hCount) of rList –けっこういい加減
              
if tmpVal = missing value then set tmpVal to ""
              
              
set value of it to tmpVal
            end tell
          end repeat
        end tell
      end repeat
      
    end tell
  end tell
end tell

–1D Listの2D化(BridgePlus不使用バージョン)
on subarraysFrom:(aList as list) groupedBy:(gNum as integer)
  script spdObj
    property list : aList
    
property bList : {}
  end script
  
  
  
–Group Num check
  
if gNum = 0 then return false
  
if length of aList < gNum then return false
  
  
if (length of aList) mod gNum is not equal to 0 then return
  
  
set (bList of spdObj) to {}
  
  
set tmpList to {}
  
set aCount to 1
  
  
repeat with i in aList
    set j to contents of i
    
set the end of tmpList to j
    
set aCount to aCount + 1
    
    
if aCount > gNum then
      set the end of (bList of spdObj) to tmpList
      
set tmpList to {}
      
set aCount to 1
    end if
  end repeat
  
  
return (bList of spdObj)
end subarraysFrom:groupedBy:

★Click Here to Open This Script 

Posted in list | Tagged 10.15savvy 11.0savvy 12.0savvy Pages | Leave a comment

macOS 12 beta7が登場

Posted on 9月 22, 2021 by Takaaki Naganoya

ここ最近のmacOSのβ版の出来・不出来

macOS 12 beta 7が出てきました。macOSのリリースはiOS/iPadOSの後にリリースされるのが通例(というか、技術的にそうしないと無理)で、β番号から見て割とβ版の末期にあるものと推測されます。

例年だと、8月の終わりのmacOSの出来でRelease時の品質が推し図れています(農作物みたいだ)。

macOS 10.13:Beta中はとても好感触 → Release版で大事故(前代未聞の大惨事。macOS Vistaと呼ばれる)
macOS 10.14:Beta中、バグが多くて使う気になれず → 最終版(macOS 10.14.6)まで様子見
macOS 10.15:Beta中、8月末に大事故。開発者がそろって「こいつは新たなmacOS 10.13だ」として見放す。8月中にmacOS Vista 2のあだ名が確定
macOS 11:Beta中の印象は好感触(Intel Mac)。だが、Release後にM1 Macハードウェアがらみの未知の問題点が多数報告される

というのが、ここ最近のmacOSのリリースの流れです。

macOS 10.13、10.15と「奇数番号は地雷」という状態で、この命名法則でいえば「10.17」にあたるmacOS 12は、不吉な予感を抱かせるものでした。

Cocoa ScriptingなどAppleScript系の処理速度の回復と向上

自分はmacOS 10.15を全力で見送り、macOS 10.14.6をメイン環境にすえました。通例、新たなmacOSがリリースされるとScript環境まわりの評価記事を書きますが、10.15ははじめて評価記事をボイコットしたほどひどいものでした。

「10.15がひどい」という中には、「①本当にバグや不具合のもの」「②勝手に仕様変更して周知しなかったもの」「③OS全体のセキュリティ強化にともない、結果として機能不全になったもの」など多々あります。

その後、M1 Mac mini導入にともないmacOS 11に環境を移しました。M1 Mac mini+macOS 11は、世間の評判もよく、安住の地となるはずでした。

ところが! M1 Mac miniを開封して1時間もたたずに血の気がひきます。Cocoa Scriptingを多用している現代のAppleScriptを走らせると、2012年のMacBook Pro Retina 2012よりも10倍ぐらい遅かったからです。

調べてみると、macOS 10.15の時代からCocoa呼び出しで大幅なスピード低下が発生しており、その延長線にあるmacOS 11も同様の現象が発生。

さらに、M1に搭載されたCPUコアのうち、高性能コアではなく省エネコア(Ice Storm)を使用してAppleScriptが実行されているようで、2011年のMacBook Airよりも数倍M1 Mac miniが遅い処理が出てくる状況でした。

そこで、Shane Stanleyと相談してAppleに詳細なレポートを提出し、「おまえんとこの最新鋭機種は10年前のへっぽこマシンよりはるかに遅いぞ、どうしてくれる?」という報告をしたわけです。もちろん、M1 Mac mini購入後のアンケートでは「10年前のIntel Macの10倍も遅い。不満」と答えています。

運よく、レポートが功を奏してM1がらみの速度低下問題はmacOS 12beta 5で解決。同時にmacOS 10.15から発生していたCocoa呼び出しの速度低下問題も解決(たぶん)。このことで、Intel Macでも、速度低下発生前のmacOS 10.14より高速な処理が行えるようになったほどでした(もちろん、macOS 10.15や11よりも高速です)。

この問題の検証のため、手元のアップデート可能なMacは2台ともmacOS 12に上げてしまい、先日リリースされたmacOS 11.6においてパフォーマンス低下問題がフィードバックされたのかどうかは検証できません。

高速だが小バグが直っていないmacOS 12beta7

さて、macOS 12beta7ですが、ベンチマークを実施したところBeta 5、6と同様にCocoa Scriptingの速度は維持されています。Beta5よりも速くなった処理がある一方で、若干速度低下した項目も見られますが、誤差の範囲内でしょう。


▲同一ハードウェアでOSのアップデートにともない、速度低下が解消され、高速化


▲約700箇所の位置情報と8,000箇所の駅の位置情報との間での最短距離計算。macOS 11+M1 Macでは1時間かかって気を失いかけたが、いまではiMac Proより2.5倍高速の異次元の速さを実現。これなら、ScripterにもApple Silicon Macをおすすめできます

一方で、日本語環境でのみ発生しているNSStringからのData Detectorによる電話番号ピックアップができないバグは直っていません。GUI部品のお守りよりもデータ処理を行うことが多いAppleScript界隈としては「無視できない問題」です。

Release版では直ってほしいですよね>誰となく

また、macOS 11で確認された特定ハードウェア(Mac Pro 2019)で関数計算を間違えるバグについては、当該機種を所有していないため、自分には追跡調査は行えていません。

Posted in Bug news | Tagged 12.0savvy | Leave a comment

Pagesの最前面の書類で選択中のツメを修正する

Posted on 9月 22, 2021 by Takaaki Naganoya

Pagesで作成中の書類すべての見開き右側ページ右端につけている「ツメ」(辞書や電話帳でページ端につけているマーク的なもの、A〜Zのうちいま「S」の部分を表示していますよ、という場合にはSの箇所のみ色を変えておくなど)の修正を行うAppleScriptです。

PagesはiWork 3兄弟で唯一、選択中のオブジェクトがselectionで取得できるアプリケーションです。selectionでオブジェクトを選択可能かどうかでScriptの書きやすさが段違いです。

「ツメ」の修正が必要な事態になりました。AppleScriptのプログラムでPages書類を順次オープンして、書類中の右側ページ右端についている超縦長の表オブジェクトを「ツメ」であると仮定。このツメ(表)の修正を行う処理部分が、本AppleScriptの該当部分です。

Pages書類上の表の各種操作は、削除についてはdelete row 2とかdelete column 3といった操作が行えるのですが、追加に関してはinsert rowとかadd rowといった明示的なコマンドがあるわけではなく、propertyのcount rowを変更することで表末尾への行追加を行うことになります。

その後は、表のセル内の値を移動させたり、書式を変更するなどの「つじつま合わせ」を行うことになるでしょう。

あとは、指定フォルダ以下に入っているPages書類を抽出して、順次オープンし、書類中の右側ページ右端にある「ツメ」を計算でピックアップ。「ツメ」に対して修正を行い、保存してクローズ、という処理になるでしょうか。一度しか使えない壮大な「使い捨てScript」です。

AppleScript名:選択中のツメの修正・変更.scpt
tell application "Pages"
  tell front document
    set aSel to selection
    
if aSel = {} then return
    
    
set aaSel to first item of aSel
    
    
tell aaSel
      set row count of it to 15 –表の行数変更
      
      
tell row 14
        set aCon to value of cell 1
        
        
tell cell 1
          set value to "14"
          
set font name to "7barSPBd"
          
set font size to 22.0
          
set text color to {32767, 32767, 32767}
        end tell
        
      end tell
      
      
tell row 15
        set value of cell 1 to aCon
      end tell
      
    end tell
  end tell
end tell

★Click Here to Open This Script 

Posted in Object control | Tagged 10.15savvy 11.0savvy 12.0savvy Numbers | 1 Comment

Pagesの座標系

Posted on 9月 19, 2021 by Takaaki Naganoya

ここしばらくPagesで書類を作る日々が続いていました。間もなく終わりそうな気配です。

Pagesは不思議なワープロというか簡易DTPアプリケーションで、Keynoteから派生したという独特の出自からして、さっさと何かページレイアウトを作って仕上げる……という味付けのアプリケーションであります。

さっさと作るのは、比較的苦もなくできます。1ページもののレイアウトぐらいならそうでしょう。

複数ページのレイアウトになってくると、やや大変です。ルーラーを表示して、ページのレイアウト範囲に補助線を引いて参考にするという作業が……できないことはないのですが、毎ページルーラーを引き直す必要があります。

書類のマスターページという概念がなく、いきなりテンプレートを作らされます。

それでも、1書類で巨大な内容を作らない。書類を極力小分けにする、といった方法でなんとか使いこなしてきました。

昔のバージョンのPages(iOSとソース共通化する前、旧Pagesと呼ぶ)は、もっとDTPソフトっぽい機能を有しており「普通のユーザーが使えるInDesign」とも言われ、けっこうよかったのですが……。

そんな現在のPagesではありますが、いろいろと対策が進んで作れるドキュメントの幅や分量も増えてきました。いま、200ページぐらいのコンテンツをPagesだけで作っていますが、もちろん書類は小分けにしまくっています。

その、Pagesの書類も分量が増えてくると……ヤツを入れたくなってきます。入れないとわからなくなってきます。ツメです。英語で表現すると、辞書のIndexといえばいいんでしょうか。辞書のページの端についている、アルファベットごとに検索しやすくするために印刷されている記です。

DTP系の人間にはおなじみの「手で作るのはごめん被りたいアイテム第1位」のアレです。手で作るなんて正気の沙汰ではありません。

でも、Pagesにその機能がないので、手作りしました。手作りしたのちに、やっぱプログラムで制御しないとしんでしまうと思い、いろいろ調べだしました。

そして知るのです。Pagesの座標系が全ページつながった独自のものであることを。

つまり、ツメの(縦方向、Y軸)の各ページ単位の座標系がないので、各ページのY座標の原点からの相対座標を計算するためには、ページの物理的なサイズ(座標的なX、Y軸の上限値)を知る必要があります。

ページの物理的なサイズを取る手段があるだろ……ない。

テンプレートには物理的なサイズの定義とかが……ない。

現在編集中の書類のページのサイズがわからないのは、けっこう困りますが……オブジェクトのサイズは計測できるので、あらかじめ各テンプレートの上にページいっぱいのサイズでオブジェクトを作っておいて、そのオブジェクトのサイズ(width、height)を調査。

テンプレート名称なりIDから、ページサイズ表を検索して、座標的なサイズを取得するしかないでしょう。

Posted in bounds | Tagged 10.15savvy 11.0savvy 12.0savvy Pages | Leave a comment

FM-1グランプリで予選通過

Posted on 9月 13, 2021 by Takaaki Naganoya

FileMaker Proのカスタムアプリケーション(データベース)のコンテスト「FM-1グランプリ」で、応募作品「FileMaker PowerPack」が第2回予選を通過しました(全3回の予選の2回目)。

内容は、FileMaker Proを制御するCocoa Scriptのサンプル集です。ちょうど、CotEditor用に出しているPowerPackのFileMaker Pro版といった位置付けで、厳選したCocoa Scriptを掲載しています。

他の開発者の方が使って便利と感じる「ベネフィット」だけの存在として企画し、「コピペで即戦力的に使えるAppleScriptのコード集。その場でテスト実行できる」という、ベネフィットだけで実体がほとんどないという不思議な異次元作品になりました。

実体がないといっても、FileMaker Proでできることが飛躍的に広がる……といいますか、各種掲示板などで「これができない」「これに困っている」という話が出ていたものを丹念に調査し、そうしたものを中心に(すべてではない)収録。とくに、HTMLのタグ除去処理とテキストからの絵文字除去処理!!!

さすがに強豪ぞろいで大賞は取れないと思うのですが、予選通過できて一安心です。一晩で作ったので、ちょっと問題点がいろいろありましたが、修正可能な範囲だったのでセーフ! セーフでしょう。

応募時の内容は、テキスト処理系と画像処理系を中心にまとめました。PDF処理系と画像フィルタ系も試していたのですが、FileMaker Proに組み込む書き方で難儀してこの第1回応募作品には間に合っていません。

# 画像のフィルタ処理を行うためにCIFilterを呼び出していたのですが、結局明示的にメインスレッド実行する必要がありました。FileMaker ProのAppleScriptランタイム環境の挙動が他の環境と違いすぎて、けっこう手を焼きます

応募作品の内容を審査していただいたところ、いろいろ細かい問題点は見つかりました。

・Retina環境で動かすと画像処理系で問題の出るScriptがある(顔認識+マスク処理)、、、これは、他の画像処理(重ね合わせとか)ではRetina対応できているので、こいつだけ間に合っていなかったっぽいです。FileMaker Pro上では単なるテキストとしてScriptを書く必要があり、バンドル内にライブラリを格納するとかインストールした外部ライブラリを呼び出せないといった「AppleScriptランタイム環境としては過酷」なFileMaker Proランタイムの制限が厳しいところです

・データベースが複数オープンされていると正しく「最前面のデータベース」を検出できない、、、、database 1で最前面のデータベースを指定してしまったので、その点を修正。審査Blogには「M1対応していない」と書かれていますが、開発自体をM1 Mac miniで行なっているので、複数データベースをオープンしている状況に対処できていなかっただけでしょう(アプリケーションを終了してデータベース1つだけの状態になったので動作)

ルール上、3回目の最終選考に修正したものを出せることになっているので、FileMaker ProでPhotoshopばりの画像フィルタ処理を行いまくるScriptを追加して出せるといいのではないかと(ただ、CIFilterを使うことになるので、AppleScriptからパラメータを指定できるものが少ない)。

ほかにも有効と思われるのは2点間の距離計算であるとか、多次元配列処理、与えられたデータの順列組み合わせ計算(Permutation)、あたりでしょうか。地味なところで、各種日付表記フォーマットでの文字列化。タグクラウド処理あたりはやりたいところです。データベースに入っているデータをもとに、タグクラウドを生成して表示するといったところで。感覚的にデータ内容の傾向をつかみやすいので。

Posted in news | Tagged FileMaker Pro | Leave a comment

ヤバイ本のiOS版を発売

Posted on 9月 5, 2021 by Takaaki Naganoya


「空前絶後 あなたの知らないヤバイAppleScriptの世界」のiOS版、FileMaker Goを使って読む電子ブックの販売を開始しました。1,000円です。

→ 販売ページ

なんでこれを作ろうと思ったか?

PDF版をiOS上で読んでいただくことも可能ですが、画面の縦横比とかなんとか。とにかくPDF版の読書体験がよくありません。

そして、AppleのiBooks Storeに本を出すのに、ISBNだ何だといろいろうるさく、これに付き合っていられません。

そのため、いろいろ検討したうえでFileMaker Goに白羽の矢を立て、このアプリケーションを読書用のプラットフォームとして活用するために実験を繰り返していました。

小さな画面で文字を読むのは、ガラケーの時代から大変なことですが、スマホで読んでも大変なことに変わりはありません。

レイアウトに一緒に画像を入れるのも大変なので、基本的に文字コンテンツだけです。一応、なんとかすれば画像表示用レイアウトも混在させて、画像を見ていただくことは可能です。

これまで、PDF版(フル・レイアウト)のオマケとか、サブセットとして出すとか(AppleScriptポケットリファレンス)、そういう試みはしてきましたが、.fmp12単体で売ってみるというのははじめてのことです。iPhoneだけで暮らしたことが皆無なので、まだちょっと見落としていることがあるかもしれませんが、失敗も含めて貴重な経験になることでしょう。

FileMaker Goのデータベースアプリケーションとしての出来については、いまひとつ評価が定まっていないというか、バージョンごとに少しずつ問題があるという見立てになっています。期待をしすぎてはダメというところなんでしょう。

ですが、単にレイアウト切り替えをするとか、フィールドに入れた文字を読むというだけであれば問題が出るとも思えません。

いえ、正直なところiPad mini+FileMaker Go 18(前バージョン)で読んでいたときに、突如としてフィールドが真っ白になってレコード表示がうまく動かなくなったということはありました。

それでも、iPhone+FileMaker Go 19であれば、とくに問題らしい問題に遭遇したことはありません。RAMが少ないと環境だと問題があるのかもしれません。

とりあえず、「何かあったとき」のために……筆者に文句を送信できるよう、電子ブックに感想送信フォームをつけておきました。

個人的には、.fmp12形式のままBOOTH上で販売したいのですが、その点について提案したもののお返事をいただいていません。

Posted in news PRODUCTS | Tagged 10.15savvy 11.0savvy 12.0savvy FileMaker Pro | Leave a comment

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • macOS 13, Ventura(継続更新)
  • アラートダイアログ上にWebViewで3Dコンテンツを表示(WebGL+three.js)v3
  • UI Browserがgithub上でソース公開され、オープンソースに
  • macOS 13 TTS Voice環境に変更
  • Xcode 14.2でAppleScript App Templateを復活させる
  • 2022年に書いた価値あるAppleScript
  • ChatGPTで文章のベクトル化(Embedding)
  • 新発売:AppleScriptからSiriを呼び出そう!
  • iWork 12.2がリリースされた
  • 従来と異なるmacOS 13の性格?
  • 新発売:CotEditor Scripting Book with AppleScript
  • macOS 13対応アップデート:AppleScript実践的テクニック集(1)GUI Scripting
  • AS関連データの取り扱いを容易にする(はずの)privateDataTypeLib
  • macOS 13でNSNotFoundバグふたたび
  • macOS 12.5.1、11.6.8でFinderのselectionでスクリーンショット画像をopenできない問題
  • ChatGPTでchatに対する応答文を取得
  • 新発売:iWork Scripting Book with AppleScript
  • Finderの隠し命令openVirtualLocationが発見される
  • macOS 13.1アップデートでスクリプトエディタの挙動がようやくまともに
  • あのコン過去ログビューワー(暫定版)

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1390) 10.14savvy (586) 10.15savvy (434) 11.0savvy (277) 12.0savvy (185) 13.0savvy (55) CotEditor (60) Finder (47) iTunes (19) Keynote (98) NSAlert (60) NSArray (51) NSBezierPath (18) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (51) NSDictionary (27) NSFileManager (23) NSFont (18) NSImage (41) NSJSONSerialization (21) NSMutableArray (62) NSMutableDictionary (21) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (117) NSURL (97) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (56) Pages (37) Safari (41) Script Editor (20) WKUserContentController (21) WKUserScript (20) WKUserScriptInjectionTimeAtDocumentEnd (18) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • Clipboard
  • Code Sign
  • Color
  • Custom Class
  • dialog
  • drive
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC