掲示板お問い合わせランダムジャンプ



この広告は30日以上更新がないブログに表示されております。 新しい記事を書くことで広告を消すことができます。

別のblogとか

2012年09月08日
openSUSE 12.2 (64bit)のLibOが何の前触れもなくSIGFPEで落ちる
SIGFPEとか、また珍しいシグナルを。
試しにbashから起動してみたら、こんな事言いました。
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGFPE (0x8) at pc=0x00007f6293d7fa57, pid=23274, tid=140061441140928
#
# JRE version: 7.0
# Java VM: OpenJDK 64-Bit Server VM (23.0-b21 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libvcllo.so+0x5c6a57] GlyphCache::RemovingGlyph(ServerFont&, GlyphData&, int)+0x211d
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#

よくわかりません。Google先生もご存知無いようです。
仕方ないのでJavaなしモードで実行しますか……
Javaなしモードでも落ちました。わけがわからないよ。

結局Apache OpenOfficeのRPMをインストールすることに。こんなの絶対おかしいよ。
[ 投稿者:芙蓉美晴 (MihailJP) at 03:44 | LibreOffice | コメント(0) | トラックバック(0) ]

2012年03月05日
とある自由の辦公軟件(リブレオフィス)
LibreOffice 3.5が公開されていた……のはいいが、どういうわけかコンプレックススクリプト絡みで調子が悪い。特にCalcでインド系文字を使っていると突然落ちることがある。一応落ちないように扱う方法はなんとなくわかってきたのだが……そのコツをいくつか書きだしてみる。
・数式バーの使用は厳禁(コンプレックススクリプトを含むセルで数式バーをクリックすると落ちる)
・セルカーソル移動前にEnterか[✓]ボタンでちゃんと確定しておくこと
・そして何よりこまめに保存すること
GDI++をインストールしてるけど、LibreOfficeでは無効にする設定で動かしてこの結果だもんなぁ……
一旦3.4.5にダウングレードしても同じ問題が起こったので3.5.0に戻した。

それと、3.5.0で気づいたもう一つの問題。
条件は不明だが、「セル編集中にテキストを貼り付けられない場合がある」
コンテキストメニューから「貼り付け」の項目が消え、メニューバーの「編集」からも「貼り付け」が選択できない状態になる。原因はよくわからないのだが、Javaのアプリを動かしてたことか、LO起動中にマシンをサスペンドしたことと関係あるのかもしれない。
これ、一度起こるとタスクマネージャー開いてsoffice.binをシャットダウンしないといけなくなるから面倒なんだよなぁ……その前にドキュメント保存するのは普通にできるからいいんだけど。

※全てWin7で発生した出来事。
[ 投稿者:芙蓉美晴 (MihailJP) at 12:14 | LibreOffice | コメント(0) | トラックバック(0) ]

2009年10月20日
OOo Calcでハングルを分解する関数
…というのを自作してみました(Unicode前提)。一体いつ使うんだか;

解説:ワークシートに
=HANGDECOMPOSE("한국어 문자열")
と書けばハングル(U+AC00〜U+D7A3)を分解して表示します。ハングル音節以外の文字はそのまま出力します。

導入:ツール→マクロ→マクロの管理→OpenOffice.org Basicから「編集」を押して出るウィンドウに次のソースをコピペすれば使えるはずです。
Function HANGDECOMPOSE(HangStr As String) As String
  HangLen = Len(HangStr$)
  TempStr$ = ""
  For I = 1 To HangLen
    TempCode = Asc(Mid(HangStr, I, 1))
    If (TempCode >= 44032) And (TempCode <= 55203) Then
      SyllableCode = TempCode - 44032
      ChoseongCode = Fix(SyllableCode / 588)
      MoeumCode = Fix((SyllableCode mod 588) / 28)
      PatchimCode = (SyllableCode mod 28)
      TempStr = TempStr & Chr$(ChoseongCode + 4352) & Chr$(MoeumCode + 4449)
      If (PatchimCode > 0) Then
        TempStr = TempStr & Chr$(PatchimCode + 4519)
      End If
    Else
      TempStr = TempStr & Mid(HangStr, I, 1)
    End If
Next HANGDECOMPOSE = TempStr End Function
[ 投稿者:芙蓉美晴 (MihailJP) at 04:21 | LibreOffice | コメント(2) | トラックバック(0) ]