Apple Accessibility Mailing List Archive
最初のページへ最後のページへ[Prev Page]次のページへスレッド表示過去ログ検索インデックス

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

30360 MAc OS voiceOverのコマンダーに組み込まれた日付や時刻を読み上げるAppleScriptの 不具合





misonoです。

最近自宅での環境がMacでしばしば日付や時刻を確認するようになっています。

これは、10年位前からの不具合なのですが、
そういうわけで直してみたので参考までに添付しておきます。

以下のスクリプト
Time Of Day JP.applescript

ボイスオーバーユーティリティのコマンダーでキーの割り当ての変更が必要です。


‎⁨Macintosh HD⁩ ▸ ⁨ライブラリ⁩ ▸ ⁨Scripts⁩ ▸ ⁨VoiceOver⁩



(* 
 Speaks the  date and time of day
 
 Copyright 2008 Apple Inc. All rights reserved.
 
 You may incorporate this Apple sample code into your program(s) without
 restriction.  This Apple sample code has been provided "AS IS" and the
 responsibility for its operation is yours.  You are not permitted to
 redistribute this Apple sample code as "Apple sample code" after having
 made changes.  If you're going to redistribute the code, we require
 that you make it clear that the code was descended from Apple sample
 code, but that you've made changes.
 *)

on isVoiceOverRunning()
	set isRunning to false
	tell application "System Events"
		set isRunning to (name of processes) contains "VoiceOver"
	end tell
	return isRunning
end isVoiceOverRunning

on isVoiceOverRunningWithAppleScript()
	if isVoiceOverRunning() then
		set isRunningWithAppleScript to true
		
		-- is AppleScript enabled on VoiceOver --
		tell application "VoiceOver"
			try
				set x to bounds of vo cursor
			on error
				set isRunningWithAppleScript to false
			end try
		end tell
		return isRunningWithAppleScript
	end if
	return false
end isVoiceOverRunningWithAppleScript

set currentDate to current date
set amPM to "AM"
set currentHour to (currentDate's hours)
set currentMinutes to currentDate's minutes

if (currentHour > 12 and currentHour < 24) then
	set amPM to "PM"
else
	set amPM to "AM"
end if

--  make minutes below 10 sound nice
if currentMinutes < 10 then
	set currentMinutes to ("0" & currentMinutes) as text
end if

--  ensure 0:nn gets set to 12:nn AM
if currentHour is equal to 0 then
	set currentHour to 12
end if

--  readjust for 12 hour time
if (currentHour > 12) then
	set currentHour to (currentHour - 12)
end if

set currentTime to ((currentDate's month) as text) & " " & ((currentDate's day) as text) & ", " & (currentHour as text) & ":" & ((currentMinutes) as text) & " " & amPM as text

if isVoiceOverRunningWithAppleScript() then
	tell application "VoiceOver"
		output currentTime
	end tell
else
	say currentTime
	delay 2
end if



Tweet



メーリングリストの案内と参加方法はこちらに掲載しています.
Created by misono, aa-owner [AtMark] nvsupport.org/ml/